1 / 52

Baze podataka

Baze podataka. Zavisnost i normalne forme. Dobre i loše šeme. Z a šeme relacija sa “ lošim strukturama ” i z prakse se zna Nepogodnosti u radu sa relacijama ( između atributa jed n e relacije mogu postojati zavisnosti kojima se ograničavaju vrednosti atributa u n-torkama )

selima
Télécharger la présentation

Baze podataka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Baze podataka Zavisnost i normalne forme

  2. Dobre i loše šeme • Za šeme relacija sa “lošim strukturama” iz prakse se zna • Nepogodnosti u radu sa relacijama (između atributa jedne relacije mogu postojati zavisnosti kojima se ograničavaju vrednosti atributa u n-torkama) • Vremenom je formulisana posebna oblast matematike – Teorija zavisnosti • Iz ove teorije: formulacija normalnih formi - kao kriterijuma za valjanost šema relacija • Normalizacija – dekompozicija šeme relacije loše strukture na dve ili više šema koje su u skladu sa željenom “normalnom formom”

  3. Primera RBP Biblioteka Clan (SifC,Ime) Knjiga(SifK,SifN) Naslov(SifN,Naziv,SifO) Oblast(SifO,Naziv) Autor(SifA,Ime) Pozajmica(SifP, SifC,Dana) Rezervacija(SifN, SifC,Datum) Drzi(SifK,SifC,Datum) Je_autor(SifA,SifN, Izdanje) • Jedna šema relacije može da sadrži više stranih ključeva • Strani ključ može biti u sastavu primarnog ključa • Strani ključ može istovremeno biti i primarni ključ u celini

  4. Šema loše strukture Primer 1 Nova šema relacije, kao rezultat želje da se smanji šema RBP, tako što će se podaci o naslovima i autorima objediniti u jednu š.r.AUTOR(SIFA, IME, SIFN, IZDANJE) • SIFA, SIFN čine primarni ključ • Određeni autor je samo jednom autor određenog naslova

  5. Identifikacioni integritet • Identifikacioni integritet proizilazi iz osobina unikatnosti n-torki u relaciji i svodi se na formulaciju odgovarajućeg uslova • Uslov identifikacionog integriteta: Ni jedan atribut šeme relacije R koji je u sastavu primarnog ključa nikada ne sme imati NULL vrednost u relaciji r. • Ukoliko ovo ne bi bilo ispunjeno, može nastupiti situacija da dve ili više n-torki u relaciji postanu identične

  6. Primer: Je_autor (SifA SifN Izdanje) .................................... AP0 RBP0 1 AP0 PI00 1 • Ako bi se dozvolilo da npr. SifN uzme vrednost NULL Je_autor (SifA SifN Izdanje) .................................... AP0 NULL 1 AP0 NULL 1 • Dobile bi se dve identične n-torke što je nedozvoljeno u relacionom modelu.

  7. Referencijalni integritet • Suština referencijalnog integriteta je u ograničavanju vrednosti stranog ključa. • Uslov referencijalnog integriteta: Svaki podskup atributa šeme relacije R koji predstavlja strani ključ može u relaciji R imati: • ili vrednost primarnog ključa u ciljnoj relaciji • ili vrednost NULL.

  8. Referencijalni integritet • Sa stanovišta izmena (ažuriranja)u relaciji koja sadrži strani ključ to podrazumeva da važe sledeća ograničenja: • Ne može se uneti n-torka sa vrednošću stranog ključa koja nije jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti • Ne može se izmeniti n-torka tako da vrednost stranog ključa ne bude jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti • Sa stanovišta izmena (ažuriranja)u ciljnoj relaciji: • Dodavanje nove n-torke (u ciljnoj relaciji) ne narušava ref. int. - nastaje samo nova vrednost primarnog ključa • Uklanjanjem n-torke (a izmena ponekad) dovodi do nestanka jedne vrednosti primarnog ključa. Ako bi se ta operacija izvršavala bezuslovno to bi narušilo referencijalni integritet

  9. Š.R. loše strukture autor(SIFA IME SIFNIZDANJE) JN0 J.Nikolić RBP0 2 ZP0Z.Petrović PP00 1 AP1 A.Petrović PJC0 1 ZP0Z.Petrović PJC0 2 • Neka u jednom trenutku postoji prethodni sadržaj • U budućnosti, može postojati potreba da se unose novi naslovi za autora: ZP0 Z.Petrović, pa bi se on pojavljivao više puta • Često je uz ime potrebno evidentirati i neki dodatni podatak o autoru, koji bi se opet pojavljivao više puta uz Z.Petrović

  10. Š.R. loše strukture • Ako se pokuša izbegavanje unosa imena autora više puta (samo prvi put se upisuje, a u ostalim slučajevima NULL), gube se neke informacije • Nemogućnost postavljanja upita: • Npr: Imena svih autora jednog naslova • Npr: Svi naslovi autora određenog imena

  11. Š.R. loše strukture • Osnovni nedostatak relacije autor je:redudansa – višestruko ponavljanje u relaciji • Ovaj nedostatak izaziva probleme kod sva tri vida ažuriranja relacije: • Višestruko unošenje: ime autora unosi se onoliko puta koliko je napisao naslova • Višestruko menjanje: eventualne promene imena autora vrše se na svim mestima • Višestruko uklanjanje: ako se želi potpuno uklanjanje podataka o autoru, vrši se onoliko puta koliko je napisao naslova

  12. Š.R. loše strukture • Uz nedostatke ažuriranja postoje još dva drastična nedostatka: • Anomalija unošenja: ne mogu se uneti podaci o autoru, a da se pri tome ne unesu i podaci o bar jednom njegovom naslovu • Anomalija uklanjanja: uklanjanjem podataka o jedinom naslovu koji je napisao neki autor uklanjaju se i podaci o tom autoru • Za razliku od razmatrane šeme relacije autor, šeme relacija iz RBP Biblioteka nemaju navedene nedostatke • Ime svakog autora unosi se samo jednom i nezavisno od podataka o naslovu

  13. Š.R. loše strukture • Uzrok ograničenja u Primeru 1 • Svakoj vrednosti atributa SIFA, koji je deo primarnog ključa, odgovara jedna vrednost atributa IME koji nije deo primarnog ključa • Kada se u relaciji autor ponovi vrednost atributa SIFA, mora se ponoviti i IME AUTOR(SIFA, IME, SIFN, IZDANJE)

  14. Š.R. loše strukture • Primer 2Neka je formirana posebna šema relacije koja objedinjava podatke o naslovima i oblastimaNASLOV( SIFN, NAZIVN, SIFO, NAZIVO) • Za sadržaj RBP Biblioteka odgovarajuća relacija naslov bi bila: naslov (SIFN NAZIVN SIFO NAZIVO) RBP0 Relacione baze podataka BP Baze podataka RK00 Računarske komunikacije RM Računarske mreže PP00 PASCAL programiranje PJProgramski jezici PJC0 Programski jezik C PJProgramski jezici

  15. Š.R. loše strukture • Ako bi se zahtevao novi unos npr: C++, postojalo bi tri puta PJ “Programski jezici” • Izbegavanje višestrukog unošenja, kao u prošlom primeru (NULL vrednosti), dovelo bi do gubitka informacije (nemogućnost pravog upita) • Uzrok ograničenja u Primeru 2: • Svakoj vrednosti atributa SIFO, koji nije deo primarnog ključa, odgovara jedna vrednost atributa NAZIVO, koji takođe nije deo primarnog ključa NASLOV( SIFN, NAZIVN, SIFO, NAZIVO)

  16. Š.R. loše strukture • Primer 3Posmatra se šema relacije koja evidentira podatke o pozajmicama dopunjene sa šiframa naslova:POZAJMICA(SIFN, SIFC, DATUM, DANA, SIFK) Pozajmica ( SIFNSIFCDATUM DANA SIFK) PJC0 JJ0 01.09.05. 5 004 * PP00 PP0 02.09.05. 2 007 PJC0 JJ1 03.09.05. 6 005 PP00 JJ0 04.09.05. 7 008 RBP0 PP0 05.09.05. 4 002 PP00 JJ1 06.09.05. 3 009 PJC0 JJ1 07.09.05. 2 004 *

  17. Š.R. loše strukture • Osnovna anomalija: za istu vrednost atributa SIFK, dva puta se morala uneti vrednost PJC0(atribut SIFN) • Uzrok ograničenja u Primeru 3 • Svakoj vrednosti atributa SIFK, koji nije deo primarnog ključa, odgovara jedna vrednost atributa SIFN koji je deo primarnog ključa • U RBP Biblioteka nema nedostataka, zato što su razdvojene šeme relacija:POZAJMICA i KNJIGA POZAJMICA(SIFN, SIFC, DATUM, DANA, SIFK)

  18. Š.R. loše strukture • Zaključci: • Ako je struktura šeme relacije takva da postoji višestruko ponavljanje pojedinih vrednosti ne ključnih atributa, takva šema relacije je loša • Šema relacije kod koje postoje neželjene veze, može se zameniti sa više šema relacija, kod kojih navedeni nedostaci nisu prisutni

  19. Loše i dobre dekompozicije • Opšte napomene: • Dekomponuje se i šema relacije i relacija nad njom • U nastalim šemama relacija moraju biti prisutni svi atributi polazne šeme (da se ne izgubi deo podataka) • Ne mogu se pojaviti novi atributi koji nisu postojali u polaznoj šemi relacije • U najnepovoljnijem slučaju, relacija koja se dekomponuje nije prazna, pa njensadržaj treba preneti u novonastale relacije

  20. Loše i dobre dekompozicije • Primer 1: (Loša dekompozicija) • Sprovedimo sledeću dekompoziciju:POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK) POZ1 (SIFC, DATUM, DANA, SIFK) POZ2 (SIFN) • Odgovarajuće relacije poz1 i poz2 mogu se dobiti kao rezultat projekcija:SIFC,DATUM,DANA,SIFK(pozajmica)poz1SIFN(pozajmica)poz2

  21. Loše i dobre dekompozicije • Sadržaj dobijenih relacija je sledeći: Poz1 ( SIFC DATUM DANA SIFK) JJ0 01.09.05. 5 004 PP0 02.09.05. 2 007 JJ1 03.09.05. 6 005 JJ0 04.09.05. 7 008 PP0 05.09.05. 4 002 JJ1 06.09.05. 3 009 JJ1 07.09.05. 2 004 Poz2 ( SIFN ) PJC0 PP00 RBP0

  22. Loše i dobre dekompozicije • Uvidom u sadržaj relacija zaključuje se sledeće: • Ne postoje veze između šifara naslova i ostalih podataka o pozajmicama • Pokušaj rekonstrukcije svih podataka o pozajmicama: • prirodnim spajanjem, • dobiće se Dekartov proizvod sa 21 n-torkom • šeme relacija nemaju ni jedan zajednički atribut(presek atributa je prazan skup) • Dobijenih 14 n-torki je nepotrebno

  23. Pozajmica ( SIFNSIFCDATUMDANA SIFK) PJC0 JJ0 01.09.05. 5 004 PJC0 PP0 02.09.05. 2 007 ? PJC0 JJ1 03.09.05. 6 005 PJC0 JJ0 04.09.05. 7 008 ? PJC0 PP0 05.09.05. 4 002 ? PJC0 JJ1 06.09.05. 3 009 ? PJC0 JJ1 07.09.05. 2 004 PP00 JJ0 01.09.05. 5 004 ? PP00 PP0 02.09.05. 2 007 PP00 JJ1 03.09.05. 6 005 ? PP00 JJ0 04.09.05. 7 008 PP00 PP0 05.09.05. 4 002 ? PP00 JJ1 06.09.05. 3 009 PP00 JJ1 07.09.05. 2 004? RBP0 JJ0 01.09.05. 5 004 ? RBP0 PP0 02.09.05. 2 007 ? RBP0 JJ1 03.09.05. 6 005 ? RBP0 JJ0 04.09.05. 7 008 ? RBP0 PP0 05.09.05. 4 002 RBP0 JJ1 06.09.05. 3 009 ? RBP0 JJ1 07.09.05. 2 004 ?

  24. Loše i dobre dekompozicije • Primer 2: (Loša dekompozicija)POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK) POZ1 (SIFC, DATUM, DANA, SIFK) POZ2 (SIFC,SIFN) • Projekcijama se dobija: Poz1 ( SIFC DATUM DANA SIFK) JJ0 01.09.05. 5 004 PP0 02.09.05. 2 007 JJ1 03.09.05. 6 005 JJ0 04.09.05. 7 008 PP0 05.09.05. 4 002 JJ1 06.09.05. 3 009 JJ1 07.09.05. 2 004 Poz2 ( SIFC SIFN ) JJ0 PJC0 PP0 PP00 JJ1 PJC0 JJ0 PP00 PP0 RBP0 JJ1 PP00

  25. Loše i dobre dekompozicije • Ovoga puta, nastale relacije imaju kao presek zajednički atribut SIFC • Može se zaključiti i sledeće: • Veze između šifara naslova (SIFN) i ostalih podataka ne postoje direktno ni u jednoj relaciji • Rekonstrukcija svih pozajmica prirodnim spajanjem po atributu SifC daje 14 n-torki (7 su suvišne) • Osnovni kriterijum za očuvanje podataka pri dekompoziciji šeme relacije je:Dekompozicija je bez gubitaka ako je reverzibilna, tj. ako se prirodnim spajanjem novonastalih relacija dobija polazna relacija

  26. Pozajmica ( SIFN SIFC DATUM DANA SIFK) PJC0 JJ0 01.09.05. 5 004 PJC0 JJ0 04.09.05. 7 008 ? PP00 PP0 02.09.05. 2 007 PP00 PP0 05.09.05. 4 002 ? PJC0 JJ1 03.09.05. 6 005 PJC0 JJ1 06.09.05. 3 009 ? PJC0 JJ1 07.09.05. 2 004 PP00 JJ0 01.09.05. 5 004 ? PP00 JJ0 04.09.05. 7 008 RBP0 PP0 02.09.05. 2 007 ? RBP0 PP0 05.09.05. 4 002 PP00 JJ1 03.09.05. 6 005 ? PP00 JJ1 06.09.05. 3 009 PP00 JJ1 07.09.05. 2 004 ?

  27. Loše i dobre dekompozicije • U prethodnim primerima, problem je što postoji višestruko spajanje n-torki • Važno je da pri dekompoziciji, svaka vrednost zajedničkog atributa u bar jednoj od nastalih relacija ne sme da se ponavlja • Formulacija prethodnog uslova: Zajednički atribut (ili skup atributa) treba da je kandidat ključ u bar jednoj od nastalih relacija • Sledeći prethodni pristup, dolazi se do dekompozicije koja postoji u RBP Biblioteka

  28. Loše i dobre dekompozicije • Primer 3: (Dobra dekompozicija) • POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK) POZ1 (SIFC, DATUM, DANA, SIFK) POZ2 (SIFK,SIFN) • Projekcijama se dobija: Poz1 ( SIFC DATUM DANA SIFK) JJ0 01.09.05. 5 004 PP0 02.09.05. 2 007 JJ1 03.09.05. 6 005 JJ0 04.09.05. 7 008 PP0 05.09.05. 4 002 JJ1 06.09.05. 3 009 JJ1 07.09.05. 2 004 Poz2 ( SIFK SIFN ) 004 PJC0 007 PP00 005 PJC0 008 PP00 002 RBP0 009 PP00

  29. Loše i dobre dekompozicije • Ako se pokuša rekonstrukcija svih pozajmica prirodnim spajanjem po atributu SifK dobija se 7 n-torki koje odgovaraju prvobitnom sadržaju • Svaka n-torka relacija poz1 se spaja sa tačno jednom n-torkom relacije poz2 Pozajmica ( SIFN SIFC DATUM DANA SIFK) PJC0 JJ0 01.09.05. 5 004 PP00 PP0 02.09.05. 2 007 PJC0 JJ1 03.09.05. 6 005 PP00 JJ0 04.09.05. 7 008 RBP0 PP0 05.09.05. 4 002 PP00 JJ1 06.09.05. 3 009 PJC0 JJ1 07.09.05. 2 004

  30. Loše i dobre dekompozicije • Zaključak:Neka su R i r šema relacije i relacija, koja se dekomponuje na R1 i R2, tj. r1 i r2, pri čemu postoji bar jedan zajednički atribut tj.R1  R2   Tada važi: • Uslov očuvanja atributa pri dekompozicijiR1  R2 = R • Uslov očuvanja podataka (reverzibilnost)R1(r) >*< R2(r) = r • Dekompozicija je reverzibilnaako je:R1  R2 R1  R1  R2 R2(značenje simbola  je “jednoznačno određuje”)

  31. Funkcijske zavisnosti Do sadasurazmatranezavisnostipojedinačnihatributa:Svakoj vrednosti jednog atributa odgovara samo jedna vrednost drugog atributa • U opštem slučaju to može važiti za podskupove atributa šeme relacije • Definicija: Nad šemom relacije R postoji funkcijska zavisnost XY ako u relaciji r važi da se svako r[X] preslikavanasamojedan element skupa r[Y]

  32. Funkcijske zavisnosti • U praksi je uočeno da se na osnovu postojanja nekog skupa zavisnosti, mogu da se izvedu nove zavisnosti • Primer:Posmatra se šema relacije NASLOVNASLOV(SIFN, NAZIVN, SIFO, NAZIVO)Postoje zavisnosti:SIFN  NAZIVN i SIFO  NAZIVONa osnovu prethodnog može se izvesti da važi:SIFN, SIFO  NAZIVN, NAZIVO

  33. Funkcijske zavisnosti • Primer:za prethodnu šemu relacije NASLOV važi i sledeće:SIFN  SIFO i SIFO  NAZIVONa osnovu prethodnog može se izvesti da jednoj šifri naslova odgovara samo jedan naziv oblasti:SIFN  NAZIVO • Postoji minimalan skup pravila za izvođenje novih zavisnosti iz početnih: • Konačni skup zavisnosti koji se može izvesti iz polaznih (kompletnost) • Ne može se izvesti ni jedna zavisnost koja ne proizilazi iz polaznih (pouzdanost)

  34. Armstrongovapravila • 1. ReflektivnostYX R XYSvaki podskup atributa šeme relacije jednoznačno određujesvaki svoj sastavni deo • Posebni slučajevi: • za Y=X sledi X X, svaki podskup atributa jednoznačno određuje sam sebe • za Y=0 sledi X , svaki podskup atributa jednoznačno određuje prazan skup

  35. Armstrongovapravila • 2. Armstrongovo pravilo: UvećanjeXY  ZW  XW YZ • Kod ovog pravila postoje tri specijalna slučaja • za Z= sledi XW Y • za Z=W sledi XW YW • za Z=W=X sledi X YX • 3. Armstrongovo pravilo: TranzitivnostiXY  Y  Z  X Z

  36. Dodatnapravila • 4. pravilo: UnijaXY  X  Z  X YZ • 5. pravilo: DekompozicijaXY  ZY  X Z • 6. pravilo: PseudotranzitivnostXY  WY  Z  XW Z

  37. Dekompozicija funkcijskih zavisnosti • Dekompozicija je dobra ako su posle nje sačuvani atributi i podaci • Pitanje: Ako je na polaznoj šemi relacije R važio neki skup funkcijskih zavisnosti F, kakve zavisnosti postoje posle dekompozicije • Funkcijske zavisnosti u RBP – ograničenja između nekih svojstava u sistemu koga ta RBP predstavlja. • Ograničenja uvek moraju biti ispoštovana prilikom ažuriranja

  38. Dekompozicija funkcijskih zavisnosti • Ako važi XY, onda svakoj vrednosti X (ma koliko puta) mora da odgovara jedno Y • Moguća su dva slučaja: • X i Y se nalaze unutar iste šeme relacije • X i Y su u različitim š.r., ali se pojavljuju u jednoj relaciji nakon izvršenja upita

  39. Dekompozicija funkcijskih zavisnosti • Primer 1: X i Y su u istoj šemi relacije • Pored ostalog važi: SIFO NAZIVO naslov (SIFN NAZIV SIFO NAZIVO) RBP0 Relacione baze podataka BP Baze podataka RK00 Računarske komunikacije RM Računarske mreže PP00 PASCAL programiranje PJProgramski jezici PJC0 Programski jezik C PJProgramski jezici

  40. Dekompozicija funkcijskih zavisnosti • Pri unosu n-torki znamo za pravilo: • Ne sme se ponoviti vrednost primarnog ključa SIFN • Ne sme se uneti NULL vrednost • Kada se unosi n-torka i za SIFO unese ‘PJ’, samo prvi put se može uneti proizvoljno NAZIVO • Već u drugoj n-torci, unos ne može biti slobodan, jer bi se u suprotnom pokvarila zavisnost SIFO NAZIVO

  41. naslov1 (SIFN NAZIVN NAZIVO) RBP0 Relacione baze podataka Baze podataka RK00 Računarske komunikacije Računarske mreže PP00 PASCAL programiranje Programski jezici PJC0 Programski jezik C Programski jezici • Primer 2: (razdvojenost X i Y) • Neka je kod unosa zadnje n-torke u naslov1 greškom uneseno “Baze podataka” umesto “Programski jezici” naslov2 (SIFN SIFO) RBP0 BP RK00 RM PP00 PJ PJC0 PJ Baze podataka

  42. Dekompozicija funkcijskih zavisnosti • Akopostavimoupitkojidaješifreinaziveoblasti dobili bi:SELECT n2.sifo, n1.nazivo FROM naslov1 n1, naslov2 n2 WHERE n1.sifn=n2.sifn; • Rezultat: BP Baze podataka RM Računarske mreže PJ Programski jezici PJ Baze podataka • Dobio bi se rezultat koji je u suprotnosti za zavisnošću SIFO NAZIVO

  43. Dekompozicija funkcijskih zavisnosti • Dobar sistem za upravljanje RBP mora da spreči prethodna narušavanja • Zbog toga se, prilikom kreiranja BP, zadaju i dodatna ograničenja zasnovana na funkcijskim zavisnostima • Šematski prikaz prethodne dekompozicije (SIFN je kandidat ključ u bar jednoj relaciji):

  44. sifn nazivn,sifo,nazivo naslov(sifn,nazivn,sifo,nazivo) sifo nazivo naslov1(sifn,nazivn,nazivo) sifn nazivn,nazivo sifn sifo naslov2(sifn, sifo) Dekompozicija funkcijskih zavisnosti • Šematski prikaz prethodne dekompozicije (SIFN je kandidat ključ u bar jednoj relaciji): • U ovom primeru nije primenjiva zavisnost SIFONAZIVOninajednuodnastalihrelacija – LOŠA DEKOMPOZICIJA

  45. sifn nazivn,sifo,nazivo naslov(sifn,nazivn,sifo,nazivo) sifo nazivo naslov1(sifn,nazivn,sifo) sifn nazivn,sifo naslov2(sifo,nazivo) sifo nazivo Dekompozicija funkcijskih zavisnosti • Bolja dekompozicija • Ne dovodi do gubitka skupa zavisnosti: • Očuvanje funkcijskih zavisnosti pri dekompoziciji: • Ako se iz funkcijskih zavisnosti novonastalih relacija mogu izvesti prethodne zavisnosti

  46. Normalne forme i normalizacija • Normalizacija - pogodna dekompozicija šeme relacije u cilju otklanjanja anomalija ažuriranja • Uzroci anomalija su prisustvo neželjenih funkcijskih zavisnosti • Normalna forma – određeni kriterijumi valjanosti neke šeme relacije • U nastavku se navode neki specijalni slučajevi funkcijskih zavisnosti

  47. Normalne forme i normalizacija • Prednosti normalizacije: • Smanjenje fizičkog prostora za smeštanje podataka • Bolja organizacija podataka • Promene podataka se rade na nivou samo jednog rekorda • Mane normalizacije • Fizički prostor diska je danas jeftin – malo bitan (izuzev kod velikih baza tipa Data warehouses-(DW jebazakoja se koristi za izveštaje. Podaci se učitavaju iz operativnog sistema za analizu izveštaja. Primenjuje se za data mining,online analytical processing, market research idecision support) • Minimizacija dovodi do visoke granularnosti. SQL JOIN QUERY se sporo izvršavaju • Nastaju šeme relacija koje karakteriše visoka kompleksnost sa stanovišta dizajnera i programera

  48. Normalne formei normalizacija • Neka je R šema relacije, a X,Y i Z su podskupovi od R • Definicija 1Funkcijska zavisnost XY je superključna ako važi XR • Definicija 2Funkcijska zavisnost XY je trivijalna ako važi YX • Definicija 3Funkcijska zavisnost je totalna ako ne postoji ni jedan pravi podskup Z od X za koji važi ZY odnosno: XY  Z (ZX  ZY)

  49. Normalne formei normalizacija • Definicija 4Funkcijska zavisnost je parcijalna ako postoji neki pravi podskup Z od X za koji važi ZY odnosno: XY  Z (ZX  ZY) • Definicija 5Funkcijska zavisnost XY je tranzitivna ako postoji neko Z, različito od X i Y za koje važi:XZ i ZY

  50. Normalne formei normalizacija • Primer:Posmatra se gruba (nezgrapna) šema relacije o pozajmicama:pozajmica (SIFN,SIFC,DATUM,DANA,SIFK,NAZIVN, SIFO,NAZIVO)kao i skup funkcijskih zavisnosti:F={ SIFN,SIFC,DATUMDANA SIFN,SIFC,DATUM  SIFK SIFN,SIFC,DATUMNAZIVN SIFN,SIFC,DATUMSIFO SIFN,SIFC,DATUMNAZIVO SIFKSIFN SIFN  SIFO SIFN,SIFC  SIFN SIFO  NAZIVO}

More Related