35
BAZE PODATAKA – ET, EEIS 7. NORMALIZACIJA STRUKTURE RELACIONIH BAZA PODATAKA

P7 Ete - Normalizacija Rel BP

Embed Size (px)

DESCRIPTION

Baze podataka

Citation preview

Magic eDeveloper 9.4*
Funkcionalne Zavisnosti
Normalne forme (1NF, 2NF, 3NF, BCNF). Ogranienja.
Cilj:
Znati u kojoj normalnoj formi je postojea organizacija baze podataka, odnosno
da znamo postupak izgradnje organizacije baze podataka koji zadovoljava zahtjeve odreene normalne forme.
Koncepti: Funkcionalne Zavisnosti, Dekompozicija
Prva Normalna Forma (1NF)
Domen je atomian ako su svi elementi domena elementarne - nedjeljive jedinice. Nizovi znakova se smatraju elementarnim jedinicama a odnosni domeni atomini domeni
Primjeri ne-atominih domena:
Kompozitni atributi (Adresa: Ulica + Broj, NazivOsobe (Ime + Prezime, … )
Relaciona šema R je u prvoj normalnoj formi ako su vrijednosti domena svih atributa šeme R atomini.
Ne-atomine vrijednosti komplikuju smještanje i pretraivanje/ekstakciju podataka i doprinose redundantom smještanju podataka
Npr. ako se smješta kao jedan podatak skup predmeta koje predaje nastavnik zajedno sa samim nastavnikom.
Više normalne forme u relacionim bazama podataka podrazumijevaju da je svaka pojedina šema u prvoj normalnoj formi. U ovom razmatranju, pretpostavljamo da su sve relacije u prvoj normalnoj firmi
7.1 Problem grupisanja podataka
*
PONAVLJANJE INFORMACIJA I ANOMALIJE AURIRANJA:
7.2 Manifestacije loše organizacije podataka.
*
7.2 Manifestacije loše organizacije podataka.
Redundancija podataka i anomalija auriranja
Podaci za naziv IdSP, NazivSP, Ciklusse ponavljaju za svakog studenta koji je upisao odnosni studijski program
Ako student upiše više studijskih programa, ponavljaju se podaci o imenu studenta
Negativne reperkusije:
komplikacije auriranja, mogunost nekonzistencije
Anomalije umetanja i brisanja
Vrijednost na atributima primarnog kljua ne mogu biti null !!
Pretpostavka:
ANOMALIJE UMETANJA:
Pretpostavka: PK = {JMB} ⇒ ??
*
Anomalije umetanja i brisanja
Brisanje studenata (prebacivanje u arhivsku bazu) koji su završili studiranje na studijskom programu ⇒ Brisanje podataka o studijskom programu (nemogunost predstave informacija) !!
Rješenje za anomalije:
*
Cilj — Sistematski, teoretski potkrijepljen pristup
Da se utvrdi i donese sud o tome da li je skup definisanih relacionih šema u “dobroj” formi organizacije.
U sluaju da neka relaciona šema R (iz skupa) nije u “dobroj” formi organizacije, takvu šemu dekom-ponovati u skup šema {R1, R2, ..., Rn} tako da je
svaka dekompozicija u dobroj formi organizacije
i da je dekompozicija bez gubitka informacija (lossless-join)
Teoretski pristup se naješe bazira na:
funkcionalnim zavisnostima
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Funkcionalna zavisnost zahtijeva da vrijednost za odreeni skup atributa odreuje jedinstveno vrijednost za drugi skup atributa.
Koncept funkcionalne zavisnosti je generalizacija pojma klju (key).
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
attrs(R) i attrs(R)

vrijedi na R ako i samo ako za bilo koju legalnu relaciju r (R) vrijedi: ako dvije n-torke t1 i t2 imaju iste vrijednosti na atributima , onda one imaju iste vrijednosti i na atributima , tj.
t1[] = t2 [] t1[ ] = t2 [ ]
Primjer: Posmatrajmo relaciju r(A,B) sa slijedeom instancom r.
U ovoj instanci relacije r, ne vrijedi A B, ali vrijedi B A.
4
ETF BL 2011/12
*/35
K je superklju relacione šeme R ako i samo ako K attrs(R)
K je kandidatski klju za R, ako i samo ako
K attrs(R), i
Funkcionalne zavisnosti nam omoguavaju da specifikujemo ogranienja koja se ne mogu predstaviti koristei superkljueve. Posmatrajmo šemu:
STUDENT_SP (JMB, Ime, GodinaUpisa, BrojIndeksa, SemestarSP, IdSP, NazivSP, Ciklus)
U takvoj šemi oekujemo da vrijede slijedee funkcionalne zavisnosti:
JMB Ime
IdSP NazivSP
IdSP Ciklus
pri emu ni JMB ni IdSP nisu superkljuevi relacione šeme.
7.3 Postupci za realizaciju dobre organizacije podataka
Funkcionalne Zavisnosti (Nast.)
ETF BL 2011/12
Relaciona šema
STUDENT
PREDMET
UPISAN_NA
UPISAO
Nema
ISPIT
Funkcionalne zavisnosti koristimo za:
testiranje relacija, sa ciljem provjere da li je relacija legalna za odreeni skup funkcionalnih zavisnosti (odnosno da li ih zadovoljava)
Relacija r, definisana na šemi R na kojoj vrijedi skup F funkcionalnih zavisnosti, je legalna ako r zadovoljava F.
specifikaciju ogranienja na skupu legalnih relacija
Ako odreeni skup F funkcionalnih zavisnosti vrijedi za svaku legalnu relaciju r(R), kae se da skup F funkcionalnih zavisnosti vrijedi na šemi R
Napomena: Specifina instanca relacione šeme moe zadovoljavati funkcionalne zavisnosti, ak i kada funkcionalne zavisnosti ne vrijede na svim legalnim instancima.
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Funkcionalna zavisnost je trivijalna ako je zadovoljena na svim instancama relacije
Primjer: Šema STUDENT_SP
NazivSP, Ciklus Ciklus
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Za dati skup F funkcionalnih zavisnosti, postoje druge funkcionalne zavisnosti koje proistiu iz F (zavisnosti koje su logiki ukljuene zavisnostima F ).
Npr. Ako A B i B C, onda moemo zakljuiti da A C
Skup svih funkcionalnih zavisnosti, logiki ukljuenih sa F naziva se zatvaranje skupa funkcionalnih zavisnosti F.
Zatvaranje skupa F se oznaava sa F+.
Zatvaranje F+ moe se nai primjenom Armstrong’ovih aksioma:
Ako je , onda (refleksivnost)
dosljedna (generišu samo FZ koje stvarno postoje i vrijede) i
kompletna (generišu sve funkcionalne zavisnosti koje vrijede).
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
F = { A B
A H
dobijena na osnovu pravila transitivnosti od A B i B H
AG I
i dalje na osnovu tranzitivivnost sa CG I
CG HI
od CG H and CG I : na osnovu pravila “unije”
Pravilo unije slijedi iz:
- definicije funkcionalnih zavisnosti, ili
- proširenjem FZ CG I moe se zakljuiti da CG CGI, proširenjem FZ CG H moe se izvesti CGI HI, i dalje primjenom tranzitivnosti CG HI
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Cilj — Sistematski, teoretski potkrijepljen pristup
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Redundancija podataka i Anomalije (Auriranja, Umetanja, Brisanja)
Uzroci ?
ETF BL 2011/12
JMB → Ime,
IdSP → NazivSP,
IdSP → Ciklus
Implikacija
Strukturu podataka predstavljenu jednom šemom, dekomponujemo u dvije šeme (ili više šema)
Svi atributi originalne šeme (R) moraju se pojaviti u dekompoziciji (R1, R2):
R = R1 R2
ETF BL 2011/12
student_cikl
stud_program
7.3 Postupci za realizaciju dobre organizacije podataka
JMB
Ime
GodinaUpisa
BrojIndeksa
SemestarSP
Ciklus
1210987100018
Jovanovi
2007
56/07
6
1
0512983100067
Markovi
2003
78/03
6
1
0607989100021
ivanovi
2009
25/09
4
1
2208988105034
Petrovi
2008
14/08
4
1
IdSP
NazivSP
Ciklus
RI
Iz dekomponovanih relacija ne moemo rekonstruisati prirodnim spajanjem origi-nalnu relaciju,=> dekompozicija je sa gubitkom informacija (Lossy-Join)
JMB
Ime
Godina
Upisa
Broj
Indeksa
Semestar
SP
IdSP
NazivSP
Ciklus
1210987100018
Jovanovi
2007
56/07
6
RI
Dekompozicija bez gubitka informacija (Lossless-join).
Za sve mogue legalne relacije r na šemi R treba da je
r = R1 (r) R2 (r)
Dekompozicija R u R1 i R2 je lossless join ako i samo ako vrijedi barem jedna od slijedeih funkcionalnih zavisnosti u F+:
R1 R2 R1
R1 R2 R2
ETF BL 2011/12
Mogua dekompozicija na dva razliita naina
R1 = (A, B), R2 = (B, C)
Lossless-join dekompozicija :
Dekompozicija sa ouvanim FZ
Lossless-join dekompozicija :
Dekompozicija ne uva FZ
(ne moemo provjeriti FZ B C bez sraunavanja (R1 R2)
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Normalizacija Primjenom Funkcionalnih Zavisnosti
Kada vršimo dekompoziciju relacione šeme R na kojoj vrijedi skup funkcionalnih zavisnosti F u R1, R2,.., Rn elimo:
Lossless-join dekompoziciju: U suprotnom bi imali gubitak informacija.
Dekompoziciju bez redundancije podataka: Za relacije Ri je poeljno da budu ili u Boyce-Codd Normalnoj Formi (BCNF) ili u Treoj Normaloj Formi (3NF).
Ouvanje zavisnosti: Neka je Fi skup FZ iz F+ koji ukljuuje samo atribute iz Ri.
Poeljno je da dekompozicija bude sa ouvanim funkcionalnim zavisnostima, tj., (F1 F2 … Fn)+ = F+
U suprotnom, provjera da auriranja ne narušavaju funkcionalne zavisnosti moe ukljuivati potrebu za spajanjem relacija (kako bi se FZ provjerile na spojenoj relaciji), što moe da predstavlja izraen vremenski gubitak.
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
je superklju za R
Relaciona šema R je u BCNF s obzirom na skup F funkcionalnih
zavisnosti, ako za sve funkcionalne zavisnosti u F+ oblika ,
gdje je R i R, vrijedi:
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Superklju = Primarni klju = {A}
R nije u BCNF, jer FZ B C narušava zahtjeve BCNF
(B C nije trivijalna FZ, niti je B superklju)
Dekompozicija šeme R na: R1 = (A, B), R2 = (B, C)
R1 i R2 su u BCNF
Dekompozicija je Lossless-join
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Dekompozicija u BCNF ne moe da ouva FZ, i
Vana je efikasna provjera da li se narušavaju FD prilikom auriranja
Rješenje: relaksirati ogranienja BCNF. Rješenje je slabija (manje stroga) normalna forma – Trea Normalna Forma (3NF).
Dopušta odreenu redundanciju, uz prihvatanje implikacija koje iz toga proistiu,
FZ’i se mogu provjeravati na individualnim relacijama bez potrebe za spajanjem relacija
Postoji uvijek lossless-join dekompozicija u 3NF sa ouvanjem FZ’i.
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Trea Normalna Forma
Relaciona šema R je u treoj normalnoj formi (3NF) ako za svaku FZ:
u F+
je trivijalna FZ (tj., )
je superklju za R
Svaki atribut A u – je sadran u kandidatskom kljuu za R.
(NAPOMENA: atributi mogu biti u razliitim kandidatskim kljuevima)
Ako je relacija u BCNF ona je i u 3NF (pošto u BCNF jedan od prva dva uslova moraju vrijediti za FZ’i).
Trei uslov je minimalna relaksacija BCNF da se omogui ouvanje funkcionalnih zavisnosti prilikom dekompozicije.
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Dva su kandidatska kljua: JK i JL
R je u 3NF
L K K je sadran u kandidatskom kljuu
BCNF dekompozicija je na podšeme (JL) and (LK)
Testiranje za JK L zahtijeva join
Postoji odreena redundancija u šemi R
Primjer 2
ETF BL 2011/12
Poreenje BCNF i 3NF
Uvijek je mogue dekomponovati šemu u šeme koje su u 3NF tako da je dekompozicija
bez gubitka informacija (lossless)
sa ouvanom funkcionalnom zavisnošu
Uvijek je mogue dekomponovati šemu u šeme koje su u BCNF tako da je dekompozicija
bez gubitka informacija (lossless)
takva da u svim sluajevima ne garantuje ouvanje funkcionalnih zavisnosti
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
J
j1
j2
j3
null
L
l1
l1
l1
l2
K
k1
k1
k1
k2
Šema koja je u 3NF ali nije u BCNF ima nedostatke u
Ponavljanju informacija (npr., para l1, k1)
Potreba za korištenjem null vrijednosti (npr. za predstavljanjem veze
l2, k2 kada nema korespondentne vrijednosti za J. U realnim SUBP tu vezu ne bi mogli predstaviti jer vrijednost na segmentu primarnog kljua ne moe biti null).
Primjer problema sa redundancijom u 3NF
R = (J, K, L)
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
BCNF.
Dekompoziija sa ouvanom zavisnošu
Ako prethodno nije mogue postii, onda je mogue izabrati jednu od slijedeih opcija:
Odustati od ouvanja funkcionalnih zavisnosti u dekompozicijama, ili
Prihvatiti odreenu redundanciju kroz 3NF dekompoziciju
SQL ne obezbjeuje direktan nain za specifikaciju funkcionalnih zavisnosti izuzev superkljueva.
Mogue je specifikovati FZ kroz potvrde (assertions), ali je ovaj mehanizam vremenski zahtjevan za testiranje
ak i kada imamo ouvane funkcionalne zavisnosti prilikom dekompozicije, nije mogue efikasno testirati ouvanje FZ koristei SQL za FZ’i u kojima lijeva strana nije superklju.
7.3 Postupci za realizaciju dobre organizacije podataka
ETF BL 2011/12
Raunarstvo i
Elektronika i
Elektronika i
1210987100018
Jovanovi
0607989100021 ivanovi 2009 25/09 4 1
2208988105034 Petrovi 2008 14/08 4 1
IdSP NazivSP Ciklus
JMB Ime
Raunarstvo i
Elektronika i
Raunarstvo i
Elektronika i
Raunarstvo i
Elektronika i