Upload
ratkobanjevic
View
46
Download
3
Embed Size (px)
DESCRIPTION
relacioni model podataka
Citation preview
Relacioni model podataka
Ciljevi
Uvoenje jasne granice izmeu logikih i fizikih aspekata baze podataka nezavisnost podataka
n-arna relacija
ema relacije
ema baze podataka
Strukturalna jednostavnost
dvodimenzinalna tabela
Deklarativni jezik za defnisanje i korienje baze podataka
SQL
Strukturalna komponenta RMP
Skup obeleja realnog sistema ili njegovog dela koji je predmet posmatranja univerzalni skup obeleja
U = {Ai | i = 1, ..., m}
Dom: U D, ( Ai U)(Dom(Ai) D) svakom obeleju iz univerzalnog skupa obeleja pridruuje se domen
Strukturalna komponenta RMP R vrednost (torka)
R U, R = {Ai | i = 1, ..., k} t[R], t - funkcija koja preslikava svako obeleje iz R u
odgovarajuu vrednost t: R Dom, Dom = ()=1 t(Ai) dom(Ai, i = 1, ..., k) t(Ai) = ai, ai dom(Ai)
{(Ai, ai), Ai R}
Restrikcija R-vrednosti X R, t[R] X-vrednost t[X], u kojoj je svakom obeleju A iz X
pridruena ista vrednost kao i u R-vrednosti t[R] t[X] = {(Ai, ai) | Ai X} Realan entitet ili poveznik
Strukturalna komponenta RMP
Relacija, r(R) konaan skup torki
predstavlja se dvodimenzionalnom tabelom
Skup realnih entiteta ili poveznika
SAT(R) skup svih relacija nad skupom obeleja R
Projekcija relacije na skup obeleja X R, r relacija nad R
projekcija (restrikcija) relacije r na skup obeleja X je relacija r[X], definisana kao r[X] = {t[X] | t r(R)}
X(r(R)))
Strukturalna komponenta RMP
ema relacije
imenovana dvojka N(R, C)
N naziv eme relacije
R skup obeleja eme relacije, R U
C skup ogranienja
Pojava nad emom relacije
relacija r(R) koja zadovoljava sva ogranienja iz skupa C eme relacije N(R, C) je pojava nad tom emom relacije
Strukturalna komponenta RMP
Klju eme relacije
obeleje ili skup obeleja koji jedinstveno odreuju svaku torku u relaciji nad zadatom emom relacije
skup obeleja K, K R, je klju eme relacije N(R, C), ako za svaku pojavu nad emom relacije r vae sledea dva uslova:
( u, v r) u[K]=v[K] u=v (JEDINSTVENOST)
( X, X K) ne vai prvi uslov (MINIMALNOST)
Strukturalna komponenta RMP
ema baze podataka
imenovana dvojka N(S, I)
N naziv eme baze podataka
S skup ema relacija
I skup meurelacionih ogranienja meurelaciona ogranienja prikazuju odnose izmeu relacija
referencijalni integritet
Strukturalna komponenta RMP
Pojava nad emom baze podataka
pojava nad skupom ema relacija S = {(Ri, Ci) | i = 1, ..., n} je funkcija koja preslikava svaku emu relacije (Ri, Si) S u pojavu nad emom relacije (Ri, Si)
Integritetna komponenta RMP
Klju
Funkcionalna zavisnost
Zavisnost sadravanja
Referencijalni integritet
Integritetna komponenta RMP
Zavisnost sadravanja
domen kompatibilni skupovi (dom(X) dom(Y))
r je relacija nad U, A1, ..., An i B1, ..., Bn dva niza razliitih obeleja iz U; relacija r zadovoljava zavisnost sadravanja [A1, ..., An] [B1, ..., Bn], ako vai da za svaku torku t iz relacije r postoji torka u iz relacije r, tako da su t[Ai]=u[Bi], za svako i{1, ..., n}
neka su r1 i r2 relacije nad razliitim emama relacija N1(R1, C1) i N2(R2, C2), A1, ..., An R1 i B1, ..., Bn R2; zavisnost sadravanja N1[A1, ..., An] N2[B1, ..., Bn] je zadovoljena, ako vai da za svaku torku t1 iz relacije r1, postoji torka t2 iz relacije r2, tako da su t1[Ak]=t2[Bk], za svako k{1, ..., n}
Integritetna komponenta RMP
Referencijalni integritet
osnovno i najee korieno meurelaciono ogranienje
meurelaciona zavisnost sadravanja N1[A1, ..., An] N2[B1, ..., Bn] kod koje je {B1, ..., Bn} primarni klju relacije sa nazivom N2
ako vai i zavisnost sadravanja N2[B1, ..., Bn] N1[A1, ..., An], tada se ona naziva inverzni referencijalni integritet
Integritetna komponenta RMP
Funkcionalna zavisnost
f: X Y
X leva strana funkcionalne zavisnosti, lhs(f)
Y desna strana funkcionalne zavisnosti, rhs(f)
X, Y su skupovi obeleja
r relacija nad skupom obeleja R, X, Y R; skup torki relacije r zadovoljava funkcionalnu zavisnost X Y ako za svake dve torke u i v vai u[X]=v[X] u[Y]=v[Y]
Funkcionalne zavisnosti
F skup funkcionalnih zavisnosti
F logiki implicira X Y (F X Y) ako svaka relacija nad U, koja zadovoljava sve funkcionalne zavisnosti iz F, zadovoljava i X Y
Skup logikih posledica skupa F
Trivijalna funkcionalna zavisnost
X Y je trivijalna akko r SAT(U) vai X Y
Teorema: X Y je trivijalna akko Y X
Armstrongove aksiome
Skup formalnih pravila putem kojih se mogu izvesti sve logike posledice nekog skupa funkcionalnih zavisnosti
Neredundantan
Neprotivrean
Kompletan
Armstrongove aksiome
F definisan nad U
X, Y, Z, W U
A1 (refleksivnost): Y X X Y (trivijalna f.z.)
A2 (proirenje): X Y i Z W XW YZ
A3 (pseudotranzitivnost): X Y i YW Z XW Z
W = {} - tranzitivnost
Armstrongove aksiome
A4 (unija):
X Y1 i X Y2 X Y1 Y2
A5 (dekompozicija):
X Y i Z Y X Z
Primenom pravila A1-A5 na skup F, dobija se skup F+ - ZATVARANJE SKUPA FUNKCIONALNIH ZAVISNOSTI
Funkcionalne zavisnosti
Nakon svakog auriranja baze podataka potrebno je proveriti da li su zadovoljene sve funkcionalne zavisnosti iz skupa F
F moe sadrati veliki broj logiki suvinih funkcionalnih zavisnosti
Minimalan skup koji je podskup skupa F, a iz kog se mogu izvesti sve funkcionalne zavisnosti iz F zadatak! Redukovan skup funkcionalnih zavisnosti
Neredundantno pokrivanje skupa funkcionalnih zavisnosti
Zatvaranje skupa obeleja
Zatvaranje skupa obeleja X U s obzirom na skup f.z. F, definisan u U, je skup XF
+ definisan na sledei nain:
XF+ = {A | A U i X A F+} skup svih obeleja
koja funkcionalno zavise od X
Algoritam...
Zatvaranje skupa obeleja - algoritam
Ulaz: skup funkcionalnih zavisnosti F, X U
Izlaz: XF+ zatvaranje skupa obeleja
X+ X
Q 0
dok Q = X+ radi
Q X+
f F, ako je lhs(f) X+
X+ X+ rhs(f)
kraj ako
kraj dok
XF+ Q
Zatvaranje skupa obeleja
Utvrivanje ekvivalentnosti dva skupa f.z.
F G F G i G F
( f F)rhs(f) (lhs(f)) + G
( g G) rhs(g) (lhs(g)) + F
Redukcija levih strana f.z.
(X \ {A}) B F B (X \ {A})+F
Traenje neredundantnog pokrivanja skupa f.z.
f (F \ {f})+, f: X B B X+F\{f}
Redukcija
Funkcionalna zavisnost X A F+ je REDUKOVANA ili IMA REDUKOVANU LEVU STRANU s obzirom na F, ako vai:
( Y X) (Y A F+)
Skup funkcionalnih zavisnosti F je REDUKOVAN ili IMA REDUKOVANE LEVE STRANE, ako je svaka f.z. f: X A iz F redukovana
Algoritam...
Redukcija levih strana - algoritam Ulaz:
zadati skup funkcionalnih zavisnosti F svaka fz je desno redukovana (ima samo jedno obeleje sa desne
strane)
Izlaz: skup funkcionalnih zavisnosti G sa redukovanim levim stranama G je ekvivalentno sa F
G 0 radi f : X B F radi A X ako je X\{A} B F+ tada X X\{A} kraj radi G G {X B} kraj radi
U proveri X\{A} B F+ koriste se sve fz iz F+, pa i X B Rezultat redukcije zavisi od redosleda izbora elemenata sa leve
strane izabrane funkcionalne zavisnosti
Neredundantno pokrivanje Za ekvivalentne skupove kaemo da pokrivaju
jedan drugog
POKRIVANJE (pokriva) skupa f.z. F je svaki skup f.z. G koji ima isto zatvaranje kao F F+ = G+
Skup G je NEREDUNDANTNO POKRIVANJE skupa f.z. F, ako ne sadri pravi podskup koji takoe predstavlja pokrivanje skupa F
Funkcionalna zavisnost f: X Y je REDUNDANTNA u F, ako se moe izvesti iz F \ {f} f (F \ {f})+
Algoritam...
Neredundantno pokrivanje - algoritam
Ulaz: F = {X A | X U i A U} (desne strane su jednolani skupovi)
Izlaz: G neredundantno pokrivanje skupa F G F
radi f G
ako je f (G \ {f})+ tada
G G \ {f}
kraj ako
kraj radi
Prilikom provere da li je neka fz suvina, ona sama se ne posmatra
Kanoniko pokrivanje
G, F skupovi funkcionalnih zavisnosti
G je kanoniko pokrivanje skupa F ako:
G+ = F+
G je levo redukovan (sadri samo redukovane fz)
G je neredundantan
Desna strana svake fz u G sadri samo jedno obeleje
Projekcija skupa funkcionalnih zavisnosti
Projekcija (restrikcija) skupa funkcionalnih zavisnosti F definisanih u U na skup obeleja WU, u oznaci F|W ili W(F), je:
F|W = {XY | (XY F+) (XY W)}
Algoritam za izraunavanje kljua eme relacije
Skup obeleja XR je klju eme relacije (R, F) ako vai: XR F+
( Y X)(Y R F+)
Ulaz: (R, F)
Izlaz: X (jedan klju eme relacije (R, F)) XR
radi (AX)
ako je A(X\{A})+ tada
XX\{A}
kraj ako
kraj radi
Algoritam za izraunavanje skupa kljueva eme relacije
Ulaz: (R, F)
Izlaz: K skup kljueva eme relacije (R, F) K 0
radi X R
ako je R=XF+ tada
radi (AX)
ako je A(X\{A})+ tada
XX\{A}
kraj ako
kraj radi
K K X
kraj ako
kraj radi
Anomalije auriranja
Anomalije prilikom upisa, brisanja, modifikacije torki
Integritet entiteta: Jedinstvenost vrednosti kljua
(XK)(ti,tjr)(ti[X]=tj[X] ti=tj)
Ni kompletan klju ni bilo koje obeleje kljua ne sme imati nepoznatu ili nula vrednost nad emom relacije (XK)(AX)(tr)(t[A]=)
Vrednost kljua se ne sme menjati prilikom auriranja
Anomalije auriranja
Anomalija upisa
Anomalija brisanja
Anomalija modifikacije
Kad postoji samo jedna ema relacije (univerzalna relacije), sigurno dolazi do redundanse podataka
Normalne forme
Prva normalna forma
Obeleje je elementarno (atomino) ako se ne moe dekomponovati; njegov domen sadri samo atomine elemente.
ema relacije je u 1NF ako su sva njenaobeleja elementarna.
ema baze podataka je u 1NF ako su sve njene eme relacija u 1NF.
Normalne forme
Druga normalna forma Atribut A relacije r je potpuno funkcionalno zavisan od
atributa X relacije r, ako je funkcionalno zavisan od atributa X, a nije funkcionalno zavisan ni od jednog pravog podskupa atributa X. XA je potpuna, ako vai (YX)YAF+
ema relacije je u 2NF ako je u 1NF i ako je svako neprimarno obeleje skupa R u potpunoj funkcionalnoj zavisnoti od svakog kljua eme relacije (R,F) Neprimarno obeleje je ono koje nije kandidat za klju
ema baze podataka je u 2NF, ako je svaka njena ema relacije u 2NF
Normalne forme
Trea normalna forma
Netrivijalna funkcionalna zavisnost XA je tranzitivna ako vai XYF+, YAF+, YXF+
ema relacije je u 3NF ako je u 2NF a ako svi njeni nekljuni (neprimarni) atributi netranzitivno zavise od primarnog kljua.
ema baze podataka je u 3NF, ako je svaka njena ema relacije u 3NF.
Normalne forme
Boyce-Codd normalna forma (BCNF)
ema relacije je u BCNF ako svaka netrivijalna funkcionalna zavisnost u F+ sadri klju eme relacije (R,F).
ema baze podataka je u BCNF, ako je svaka njena ema relacije u BCNF.
Normalne forme - primeri BRI IMES PREZS BPI OZP NAP OZN PRN OCE
123 Ana Peri 5 P1 Baze podataka 1 N1 Markovi 10
123 Ana Peri 5 P2 Analiza 1 N2 Ili 9
456 Ivan Mari 8 P1 Baze podataka 1 N1 Markovi 8
135 Maja Savi 10 P2 Analiza 1 N3 Anti 9
765 Marko Daki 4 P3 Web dizajn N4 Panti 10
456 Ivan Mari 8 P3 Web dizajn N4 Panti 7
765 Marko Daki 4 P1 Baze podataka 1 N1 Markovi 6
U = {BRI, IMES, PREZS, BPI, OZP, NAP, OZN, PRN, OCE} F = {BRI IMES+PREZS+BPI, OZP NAP, NAP OZP, OZN PRN+OZP+NAP, BRI+OZP OCE+OZN} K = {BRI+OZN, BRI+OZP, BRI+NAP}
Normalne forme - primeri BRI SPR IME SEM SSMER NAZSMER IMERUK NAZPRED OCENA
123 P1 Ana 5 1 Raunarske nauke
Sima Analiza 1 7
123 P2 Ana 5 1 Raunarske nauke
Sima Baze podataka 8
123 P3 Ana 5 1 Raunarske nauke
Sima Uvod u programiranje
8
345 P3 Ivan 7 1 Raunarske nauke
Sima Uvod u programiranje
10
345 P1 Ivan 7 1 Raunarske nauke
Sima Analiza 1 5
987 P2 Mila 4 2 Informacione tehnologije
Mika Baze podataka 8
987 P5 Mila 4 2 Informacione tehnologije
Mika Informacioni sistemi
9
987 P4 Mila 4 2 Informacione tehnologije
Mika Operativni sistemi
6
987 P1 Mila 4 2 Informacione tehnologije
Mika Analiza 1 7
BRI jedinstveno odreuje ime studenta, semestar i ifru i naziv smera koji student studira. SPR jedinstveno odreuje naziv predmeta. SSMER jedinstveno odreuje naziv smera i ime rukovodioca. Jedan student iz jednog predmeta moe da ima samo jednu ocenu.
Normalne forme - primeri
BRI SPR NAZPRED OCENA 123 P1 Analiza 1 7 123 P2 Baze podataka 8
123 P3 Uvod u programiranje 8
345 P3 Uvod u programiranje 10
345 P1 Analiza 1 5 987 P2 Baze podataka 8
987 P5 Informacioni sistemi 9
987 P4 Operativni sistemi 6
987 P1 Analiza 1 7
Normalne forme - primeri
Predmet_id Predmet_naziv Semestar Godina Profesor
IT1 Analiza 1 1 2012 Pap
IT1 Analiza 1 1 2013 Takai
IT2 Algebra 1 1 2012 Vojvodi
IT2 Algebra 1 1 2013 eelja
IT3 Programski jezici 2 2012 Ivanovi
IT3 Programski jezici 2 2013 Ivanovi
IT4 Baze podataka 1 3 2013 Rackovi
IT5 OOP 3 2013 Radovanovi
IT6 Baze podataka 2 4 2013 Rackovi
Predmet_id odreuje Predmet_naziv, semestar Predmet_id i godina odreuju profesora
Normalne forme - primeri
Predmet_id Godina Profesor_id Profesor
IT1 2012 P1 Pap IT1 2013 P2 Takai IT2 2012 P3 Vojvodi IT2 2013 P4 eelja IT3 2012 P5 Ivanovi IT3 2013 P5 Ivanovi IT4 2013 P6 Rackovi IT5 2013 P7 Radovanovi IT6 2013 P6 Rackovi
eme relacija:
A({A1, A2}, {A1A2})
B({B1, B2}, {B1B2})
X({A1, B1, X1}, {A1+B1X1})
C({C1, C2, B1}, {C1C2, C1B1})
Y({A1, B1, C1, Y1}, {A1+B1+C1Y1, C1B1})
eme relacija:
A({A1, A2}, {A1})
B({B1, B2}, {B1})
X({A1, B1, X1}, {A1+B1})
C({C1, C2, B1}, {C1})
Y({A1, B1, C1, Y1}, {A1+B1+C1}) da li je klju dobar?
Fukcionalne zavisnosti:
A1A2
B1B2
A1+B1X1
C1C2, C1B1
A1+B1+C1Y1
SP - ifra predmeta
N- naziv predmeta
SN - ifra nastavnika
IP ime nastavnika
BI broj indeksa
IS ime studenta
BC broj asova
SE - semestar
eme relacija:
Predmet({SP, N}, {SPN})
Nastavnik({SN, IP}, {SNIP})
Predaje({BC, SP, SN}, {SP+SNBC})
Student({BI, IS, SN}, {BIIS, BISN})
Slua({SP, SN, BI, SE}, {SP+SN+BISE, BISN})
SP N
P1 Baze podataka 1
P2 Informacioni sistemi 1
P3 Operativni sistemi 1
SN IP
N1 Ana
N2 Mirko
N3 Sava
SP SN
P1 N1
P2 N1
P2 N3
BI IME SN
S1 Tanja N1
S2 Marko N1
S3 Dunja N2
BI SN SP SE
S1 N1 P1 3
S1 N3 P2 5
S2 N3 P2 5
Nastavnik Predmet
Student Predaje
Slua
Ali je naruena funkcionalna zavisnost BISN!
ema relacije Slua({SP, SN, BI, SE}, {SP+SN+BISE, BISN})
nije u 2NF klju: SP+BI
SP+BISN nije potpuna, jer vai i BISN
Prilikom prevoenja bi trebalo preimenovati ifru nastavnika (SN), koja kao strani klju prelazi u emu relacije Student, jerje znaenje tog tipa poveznika mentorstvo (koji nastavnik je mentor kom studentu)
Student({BI, IS, SMentora}, {BIIS, BISMentora}) SMentora je preimenovano obeleje
Slua({SP, SN, BI, SE}, {SP+SN+BISE}) Ovde je klju SP+SN+BI
Metoda dekompozicije
Jedna od metoda normalizacije
Rastavljanje eme univerzalne relacije do skupa ema relacija, koje su sve u BCNF
Ne garantuje se ouvanje polaznog skupa funkcionalnih zavisnosti (neke f.z. Iz polaznog skupa mogu biti izgubljene)
(U,F)
XY
(XY, F|XY) (R\Y, F|R\Y)
Metoda dekompozicije
Izbor funkcionalne zavisnosti:
Netrivijalna f.z. koja nije posledica kljua
P3: YA, (AY) (RY+) ovaj uslov obezbeuje dolazak u BCNF
Stroiji uslov, koji garantuje da se pri dekompoziciji nee izgubiti neka f.z. ali ne garantuje dolazak u BCNF
P1: YA, (AY) (RY+) (F+=(F|R\AF|YA)+)
P2: YA, (AY) (AYR) (F+=(F|R\AF|YA)+)
Metoda dekompozicije
Izbor funkcionalne zavisnosti po kojoj se vri dekompozicija Ne treba dekomponovati na osnovu trivijalne f.z.
Birati, ako je mogue, one f.z. koje na levoj strani ne sadre klju eme relacije
Birati, ako je mogue, one f.z. koje sa desne strane imaju obeleje koje se vie nigde ne pojavljuje
Da se ne bi nepotrebno gubile funkcionalne zavisnosti, dekompozicija se vri prvo po pravilu P1, pa po P2, pa po P3
Metoda sinteze
Jedna od metoda normalizacije ema univerzalne relacije (U,F)
F je skup funkcionalnih zavisnosti, gde sve funkcionalne zavisnosti imaju jednolane skupove obeleja sa desne strane
Rezultat metode sinteze je skup ema relacija: S={(Ri, Ki)|i=1,...,n}, RiU, Ki sintetizovani kljuevi U=
=1 - Skup ema relacija S sadri kompletnu
informaciju o skupu obeleja U F{XRi|XKi ((Ri, Ki) S)} - Skup ema relacija S sadri
kompletnu informaciju o skupu funkcionalnih zavisnosti F (Ri, Ki)S je najmanje u 3NF Ne postoji skup ema relacija T sa manjim brojem ema
relacija nego S, a da zadovoljava prethodna tri uslova
Metoda sinteze
Koraci algoritma: 1. Redukcija skupa f.z. 2. Nalaenje neredundantnog pokrivaa
Polazni skup f.z. se prevodi u kanoniki pokriva H
3. Particija skupa f.z. na disjunktne podskupove f.z. sa jednakim levim stranama
Svaki podskup bi mogao generisati jednu emu relacije, ali mogue je da jo uvek nije zadovoljen uslov minimalnosti
4. Izdvajanje ekvivalentnih levih strana Isto zatvaranje levih strana (npr. X i Y), formira se skup J u kom se nalaze zavisnosti XY i
YX (nove f.z. koje jesu posledica skupa H, ali nisu morale postojati u H) Zbog toga neke od postojeih f.z. mogu postati tranzitivne (suvine) Obezbeuje se minimalnost skupa ema relacija
5. Pronalaenje tranzitivnih f.z. Eliminisanje f.z. koje su posledica uvoenja f.z. XY i YX
6. Rekonstrukcija grupa Uz eliminisanje tranzitivnih f.z. Ukljuuju se f.z. XY i YX
7. Formiranje ema relacija Skup obeleja f.z. proglaava se za skup obeleja eme relacije Skup levih strana f.z. postaje skup sintetizovanih kljueva posmatrane eme relacije