Podatkovne baze - več tabel

Podatkovne baze - več tabel

Avtor: Matija Lokar

Relacijske baze podatkov

  • Kot smo dejali
  • Podatke hranimo v tabelah, ki imajo vrstice in stolpce
  • Vrstica: zapis

    • Podatki o določenem objektu
  • Stolpci

    • Lastnosti objektov
    • Ime in tip
  • Podatkovna baza: skupek več tabel

    • Podatki so povezani s pomočjo relacij

      • Ključi (npr. vpisna številka)

Primer

  • Baza iz treh tabel
IDZaposlenegaImePriimekIDOddelkaStopnja
MK1Miha KranjcPOIV
MH1Maja HrustKOVII
LS1Lidija SvetROV
MK2Mitja KernNOIV


IDOddelkaNazivLokacija
POProdajni oddelekS1N2
KOKadrovski oddelekS10N1
RORačunovodski oddelekS3N3
NONabavni oddelekS14N2


IDZaposlenegaNaslovPoštaKrajTelDoma
MK1Črnuška 11000Ljubljana01/123-45-67
MH1Prešernova 72000Maribor02/765-41-23
LS1Hubadova 31000Ljubljana01/567-24-31
MK2Gregorčičeva 153000Celje03/432-15-67

Ključi

  • Stolpci (ali več stolpcev) za izvajanje relacij in razločevanje zapisov
  • Primarni ključ

    • Enolično določa vsak zapis v tabeli
    • Dva zapisa (vrstici) se razlikujeta vsaj v vrednosti primarnega ključa
  • Tuji ključ

    • En ali več stolpcev, ki se sklicujejo na primarni ključ druge tabele
    • Kaže na relacije med tabelami
  • Ključ ni indeks

    • Gre za povsem druge zadeve, čeprav pogosto tabele indeksiramo po primarnih ključih

Primer

  • Ključi naših treh tabel
IDZaposlenegaImePriimekIDOddelkaStopnja
MK1Miha KranjcPOIV
MH1Maja HrustKOVII
LS1Lidija SvetROV
MK2Mitja KernNOIV


IDOddelkaNazivLokacija
POProdajni oddelekS1N2
KOKadrovski oddelekS10N1
RORačunovodski oddelekS3N3
NONabavni oddelekS14N2


IDZaposlenegaNaslovPoštaKrajTelDoma
MK1Črnuška 11000Ljubljana01/123-45-67
MH1Prešernova 72000Maribor02/765-41-23
LS1Hubadova 31000Ljubljana01/567-24-31
MK2Gregorčičeva 153000Celje03/432-15-67

Relacije

  • Omogočajo združevanje informacij iz več tabel
  • Opisujejo odnose med podatki
  • Trije osnovni tipi

    • 1 : 1

      • Oseba : Rojstni list
      • relaciji: ima / je izdan

        • Vsaka oseba ima natanko en rojstni list
    • 1 : n

      • Naslov : Oseba
      • relaciji: je stalni naslov / ima stalni naslov
      • na istem naslovu je lahko več oseb, vsak ima le en stalni naslov,
    • n : m

      • Študent : Predavatelj
      • Relacija : posluša predavanja / predava
      • Vsak študent posluša predavanja več predavateljev, vsak predavatelj predava več študentom

Tipi relacij

  • 1:1

    • ena vrstica v prvi tabeli ustreza natanko določeni vrstici v drugi tabeli; to je skoraj ekvivalentno temu, da bi imeli eno samo širšo tabelo
  • 1:N

    • ena vrstica v prvi tabeli lahko ustreza nič ali več vrsticam v drugi tabeli. Ta primer je zelo pogost, npr. študent – ocena izpita, šifra - uporaba šifre, ... .
    • Vsak študent ima lahko več ocen izpitov, vsaka ocena izpitov pripada enemu študentu
  • M:N

    • več vrstic v prvi tabeli lahko ustreza več vrsticam v drugi tabeli. Tak primer navadno rešujemo z vmesno ("intersekcijsko") tabelo, ki je v M:1 in 1:N relaciji s pravima tabelama.

Primer shem relacij

(Slika1.jpg)


(Slika3.png)
(Slika2.jpg)

Načrtovanje baz podatkov

  • Zelo pomemben proces
  • Določitev

    • entitet
    • Tipov podatkov
    • Odnosov (relacij)
  • Normalizacija

    • Vsak podatek naj bi bil le v eni tabeli, le v eni vrstici, ...
  • ...
  • Če "zamočimo", so ves čas problemi

    • Verjetno najpomembnejša faza vsega ukvarjanja z bazami podatkov
  • Zgled (enostavnega) načrtovanja baze:

    • glej diplomsko nalogo Renate Sedej
    • Baza avtomobilov z vaj
0%
0%