1 PRIMER 1: Izvršiti normalizaciju relacije Iznajmljivanja na 1.NF 2.NF, 3.NF GLUMAC (SIFRA , PREZIME, IME, NAPOMENA) • Relaciona šema GLUMAC jeste u 1.N F zato što sva obeležja uzimaju vrednosti iz skupova čiji su elementi atomarne vrednosti. Nema ponavljajućih grupa atributa. • Relaciona šema GLUMAC jeste u 2.N F zato što je u 1.NF i sva obeležja potpuno funkcionalno zavise od celog ključa. Funkcionalne zavisnosti: SIFRA PREZIME, IME, NAPOMENA f(x) = y X Y
23
Embed
PRIMER 1: Izvršiti normalizaciju relacije Iznajmljivanja na 3NF
PRIMER 1: Izvršiti normalizaciju relacije Iznajmljivanja na 3NF. Iznajmljivanja. 1 NF. Parcijalne funkcijske zavisnosti (PFZ). (primarni ključ). (PFZ 1). (PFZ 2). 2NF - uklanjanje atributa zavisnih od dela primarnog ključa. Iznajmljivanja. 2NF. Klijenti. Stanovi. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
PRIMER 1: Izvršiti normalizaciju relacije Iznajmljivanja na 1.NF 2.NF, 3.NF
GLUMAC (SIFRA, PREZIME, IME, NAPOMENA) • Relaciona šema GLUMAC jeste u 1.N F zato što sva
obeležja uzimaju vrednosti iz skupova čiji su elementi atomarne vrednosti. Nema ponavljajućih grupa atributa.
• Relaciona šema GLUMAC jeste u 2.N F zato što je u 1.NF i sva obeležja potpuno funkcionalno zavise od celog ključa.
Funkcionalna zavisnost SIFRA PREZIME ne postoji ukoliko se jednom elemntu skupa X (originalu) može pridružiti više elemenata skupa Y (kopija). U primeru to znači na glumac sa šifrom 1 ne može biti u isto vreme i De Niro i Žigon!
3
Funkcionalna zavisnost: SIFRA IME
4
Relaciona šema GLUMAC jeste u 3.NF zato što ne postoje tranzitivne funkcionalne zavisnosti neključnih obeležja od ključa.
SIFRA PREZIME i SIFRA IME, a ne postoji funkcionalna zavisnost imena glumca od prezimena PREZIME IME!
5
TRANZITOVNOST: (A B) (B C) (A C)
Primer 2:CLAN (BROJCLANSKEKARTE, IME, TELEFON, PREZIME, ADRESA)
Relaciona šema CLAN nije u 1.NF zato što atribut (obeležje, kolona tabele) ADRESA nije atomarna vrednost (nenormalizovana relaciona šema).
Prevođenje u prvu normalnu formu podrazumeva rastavljanje kolone na dve ili više kolona koje su atomarne:
1.NF+, 2.NF+, 3.NF- Relaciona šema CLAN jeste u 2.NF zato što su sva obeležja atomarne vrednosti i sva neključna
obeležja potpuno funkcionalno zavise od celog ključa.BROJCLANSKEKARTE IME, TELEFON, PREZIME, ULICA, KBR, PTT, NAZIVMESTA
PTT NAZIVMESTA
Relaciona šema CLAN nije u 3.NF zato što postoji tranzitivna funkcionalna zavisnost kolone NAZIV MESTA od ključa BROJCLANSKEKARTE preko kolone PTT.
BROJCLANSKEKARTE PTT NAZIVMESTA Prevođenje u treću normalnu formu podrazumeva rastavljanje relacione šeme na dve ili više
manjih koje ne sadrže tranzitivnost (svaka pojedinačno): MESTO (PTT, NAZIVMESTA) 1.NF+, 2.NF+, 3.NF+CLAN (BROJCLANSKEKARTE, IME, TELEFON, PREZIME, ULICA, KBR, PTT) 1.NF+, 2.NF+, 3.NF+
6
Primer 3:
FILM (INVENTARNI BROJ, NAZIV, TRAJANJE, ZANR, JEZIK, REZISER) 1.NF-
Varijanta I: FILM (INVENTARNI BROJ, NAZIV, TRAJANJE, ZANR, JEZIK, REZISER IME, REZISER PREZIME) 1.NF+, 2.NF+, 3.NF+
Funkcionalne zavisnosti:INVENTARNI BROJ NAZIV, TRAJANJE, ZANR, JEZIK, REZISER IME, REZISER PREZIME
7
Varijanta II: FILM (INVENTARNI BROJ, NAZIV, TRAJANJE, ZANR, JEZIK, ID REZISERA, REZISER IME, REZISER PREZIME)
1.NF+, 2.NF+, 3NF- Zbog tranzitivnosti: INVENTARNI BROJ ID REZISERA REZISER IME, REZISER PREZIME Funkcionalne zavisnosti:INVENTARNI BROJ NAZIV, TRAJANJE, ZANR, JEZIK, REZISER IME, REZISER PREZIME, ID REZISERAID REZISERA REZISER IME, REZISER PREZIME REZISER (ID REZISERA, REZISER IME, REZISER PREZIME) 3NF+FILM (INVENTARNI BROJ, NAZIV, TRAJANJE, ZANR, JEZIK, ID REZISERA) 3NF+
8
POČETNO REŠENJE: Relaciona šema FILM nije u 1.NF zato što obeležje REZISER nije
atomarna vrednost, moze se rastaviti na: PREZIME REZISERA i IME REZISERA.
Prevodjenje u 1.NF:FILM (INVENTARNI BROJ, NAZIV, TRAJANJE, ZANR, JEZIK, PREZIME REZISERA, IME REZISERA) 1.NF+ 2.NF?, 3.NF? Funkcionalne zavisnosti:Inventarni Broj Naziv, Trajanje, Zanr, Jezik, Ime Rezisera, Prezime Rezisera
Relaciona šema FILM jeste u 2.NF zato što sva nekljucna obeležja potpuno f-nalno zavise od kljuca INVENTARNIBROJ.
Relaciona šema FILM jeste u 3.NF zato što ne postoje tranzitivne f-lne zavisnosti.
FILM (INVENTARNI BROJ, NAZIV, TRAJANJE, ZANR, JEZIK, PREZIME REZISERA, IME REZISERA) 1.NF+ 2.NF+, 3.NF+
9
Primer 4:
ISPIT (BROJINDEKSA, SIFRAPREDMETA, SIFRANASTAVNIKA, NASTAVNIK, STUDENT, NAZIVPREDMETA, OCENA, DATUMPOLAGANJA, NAZIVMESTAPOLAGANJA) 1.NF- zbog NASTAVNIK i STUDENT
Prevodjenje u 1.NF:ISPIT (BROJINDEKSA, SIFRAPREDMETA, SIFRANASTAVNIKA, PREZIME NASTAVNIKA, IME NASTAVNIKA, PREZIME STUDENTA, IME STUDENTA, STATUS, NAZIVPREDMETA, OCENA, DATUMPOLAGANJA, NAZIVMESTAPOLAGANJA) Relaciona sema ISPIT nije u 2.NF zbog parcijalne funkcionalne zavisnosti KOLONE NAZIVPREDMETA od SIFRAPREDMETA. Funkcionalne zavisnosti: BrojIndeksa Student SifraPredmeta NazivPredmeta SifraNastavnika Nastavnik BrojIndeksa, SifraPredmeta, SifraNastavnika Ocena, DatumPolaganja, NazivMestaPolaganja Funkcionalne zavisnosti: BrojIndeksa ImeStudenta, PrezimeStudenta, Status SifraPredmeta NazivPredmeta SifraNastavnika ImeNastavnika, PrezimeNastavnika BrojIndeksa, SifraPredmeta, SifraNastavnika Ocena, DatumPolaganja, NazivMestaPolaganja ISPIT (BROJINDEKSA, SIFRAPREDMETA, SIFRANASTAVNIKA, NASTAVNIK, STUDENT, NAZIVPREDMETA, OCENA, DATUMPOLAGANJA, NAZIVMESTAPOLAGANJA)
Primer 6: PREGLED (BROJPROTOKOLA, BROJKARTONA, PREZIMEPACIJENTA, IMEPACIJENTA, DATUMRODJENJA, SIFRALEKARA, IMELEKARA, PREZIMELEKARA, SPECIJALNOST, SIFRADIJAGNOZE, NAZIVDIJAGNOZE) Funkcionalne zavisnosti: SifraDijagnoze NazivDijagnoze SifraLekara PrezimeLekara, ImeLekara, Specijalnost BrojKartona PrezimePacijenta, ImePacijenta, DatumRodjenja BrojProtokola SifraDijagnoze, SifraLekara, BrojKartona Relaciona sema PREGLED se nalazi u 2.NF zato sto su sva obelezja atomarne vrednosti, sto znaci da je u 1.NF i sva nekljucna obelezja potpuno funkcionalno zavise od celog primarnog kljuca. Nije u 3.NF zbog tranzitivne funkcionalne zavisnosti: BrojProtokola SifraDijagnoze NazivDijagnoze
Relacija nije u BCNF, jer Poskod nije superkljuc za R
Postoji mogućnost dupliranja informacija o vezi Poskod-ova i gradova
20
Grad Ulicai Broj Poskod
Niš Dušanova 2 18000
Niš Višegradska 32 18000
Beograd Bulevar Oslobođenja 111
11000
Beograd Niška 22 11090
Leskovac Bulevar Oslobođenja 111
16000
Rakovica ->
Svođenje na BCNF
21
Grad UlicaiBroj Grad Poskod
Grad UlicaiBroj Poskod
Grad Ulicai Broj
Niš Dušanova 2
Niš Višegradska 32
Beograd Bulevar Oslobođenja 111
Beograd Niška 22
Leskovac Bulevar Oslobođenja 111
Grad Poskod
Niš 18000
Beograd 11000
Beograd 11090
Leskovac 16000
U revidiranom dizajnu, ◦ R1tabela ima kandidat za ključ {Grad, UlicaiBroj}, ◦ R2 ima kandidat za ključ {Poskod}.
Na žalost, iako ovaj dizajn zadovoljava BCNF, neprihvatljiv je jer dozvoljava povezivanje Grad-a i UlicaiBroj-a sa više Poskod-ova.
Drugim rečima, kandidati za ključ ne garantuju održanje funkcionalne zavisnosti :
{Grad, Ulica&Broj} →{Pospkod}.22
Grad Ulicai Broj
Niš Dušanova 2
Niš Višegradska 32
Beograd Bulevar Oslobođenja 111
Beograd Niška 22
Leskovac Bulevar Oslobođenja 111
R1 R2 Grad Poskod
Niš 18000
Beograd 11000
Beograd 11090
Leskovac 16000
Gubljenje funkcijske zavisnosti
Dizajn eleminiše anomalije ali ne zadovoljava BCNF. Dizajn se sastoji od originalne tabele R uz dodatak tabele R2. Ako se ograničenje referencijanog integriteta definiše tako
da se atributi {Grad, Poskod} iz tabele R moraju referencirati na atribute {Grad, Poskod} iz tabele R2, onda su anomalije izbegnute.