23
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

PRIMER 1: Izvršiti normalizaciju relacije Iznajmljivanja na 3NF

Embed Size (px)

DESCRIPTION

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

Citation preview

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) = yX Y

2

F(SIFRA)=PREZIMESIFRA PREZIME

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:

 CLAN (BROJCLANSKEKARTE, IME, TELEFON, PREZIME, ULICA, KBR, PTT, NAZIVMESTA)

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)

10

Prevodjenje u 2.NF: STUDENT (BrojIndeksa, ImeStudenta, PrezimeStudenta, Status) 2.NF+, 3.NF+PREDMET (SifraPredmeta, NazivPredmeta) 2.NF+, 3.NF +NASTAVNIK (SifraNastavnika, PrezimeNastavnika, ImeNastavnika) 2.NF+, 3.NF +ISPIT (BrojIndeksa, SifraPredmeta, SifraNastavnika, Ocena, DatumPolaganja, NazivMestaPolaganja) 2.NF+, 3.NF+

11

Primer 5:

IZDATAKNJIGA (ISBN, BROJCLANSKEKARTE, NAZIVKNJIGE, CITALACPREZIME, CITALACIME, TELEFON, IDPISCA, PREZIMEPISCA, IMEPISCA, DATUMPOZAJMLJIVANJA, BROJSTRANA, GODINANAPISANA) 1.NF+, 2.NF-, 3.NF-  Funkcionalne zavisnosti: ISBN, BrojClanskeKarte DatumPozajmljivanja ISBN NazivKnjige, IDPisca, BrojStrana, GodinaNapisana BrojClanskeKarte CitalacPrezime, CitalacIme, Telefon IDPisca PrezimePisca, ImePisca KNJIGA (ISBN, NazivKnjige, IDPisca, BrojStrana, GodinaNapisana) 1.NF+, 2.NF+, 3.NF+CLAN (BrojClanskeKarte, CitalacPrezime, CitalacIme, Telefon) 1.NF+, 2.NF+, 3.NF+PISAC (IDPisca, PrezimePisca, ImePisca) 1.NF+, 2.NF+, 3.NF+IZDATAKNJIGA (ISBN, BrojClanskeKarte, DatumPozajmljivanja) 1.NF+, 2.NF+, 3.NF+

12

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

PREVODJENJE U 3.NF: DIJAGNOZA (SifraDijagnoze, NazivDijagnoze) LEKAR (SifraLekara, PrezimeLekara, ImeLekara, Specijalnost) PACIJENT (BrojKartona, PrezimePacijenta, ImePacijenta, DatumRodjenja) PREGLED (BrojProtokola, SifraDijagnoze, SifraLekara, BrojKartona) Napomena (Bolnica): DIJAGNOZA (SifraDijagnoze, NazivDijagnoze) LEKAR (SifraLekara, PrezimeLekara, ImeLekara, Specijalnost) PACIJENT (BrojKartona, PrezimePacijenta, ImePacijenta, DatumRodjenja) PREGLED (BrojProtokola, BrojKartona, DatumPregleda) PREGLEDAO (BrojProtokola, SifraLekara) UTVRDJENADG (BrojProtokola, SifraDijagnoze)

13

PRIMER 7: Izvršiti normalizaciju relacije Iznajmljivanja na 3NF

14

KlijentID

KIme StanID

Adresa Cena

VlasnikID

VIme

101 Pera Perić 804

560

Dušanova 2,Niš

Višegradska 32,Niš

100

60

40

93

Laza Lazić

Jovan Jovanović

124 Mika Mikić 45

206

301

Petra Petrovića bb, Beograd

Niška 22, Leskovac

Bulevar Oslobođenja 111

250

110

150

40

93

93

Laza Lazić

Jovan Jovanović

Jovan Jovanović

Iznajmljivanja

1NF

KlijentID

KIme StanID

Adresa Cena

VlasnikID

VIme

101 Pera Perić 804 Dušanova 2,Niš 100 40 Laza Lazić

101 Pera Perić 560 Višegradska 32,Niš 60 93 Jovan Jovanović

124 Mika Mikić 45 Petra Petrovića bb, Beograd 250 40 Laza Lazić

124 Mika Mikić 206 Niška 22, Leskovac 110 93 Jovan Jovanović

124 Mika Mikić 301 Bulevar Oslobođenja 111, Leskovac

150 93 Jovan Jovanović

Parcijalne funkcijske zavisnosti (PFZ)

15

KlijentID

KIme StanID

Adresa Cena

VlasnikID

VIme

101 Pera Perić 804 Dušanova 2,Niš 100 40 Laza Lazić

101 Pera Perić 560 Višegradska 32,Niš 60 93 Jovan Jovanović

124 Mika Mikić 45 Petra Petrovića bb, Beograd 250 40 Laza Lazić

124 Mika Mikić 206 Niška 22, Leskovac 110 93 Jovan Jovanović

124 Mika Mikić 301 Bulevar Oslobođenja 111, Leskovac

150 93 Jovan Jovanović

(primarni ključ)

(PFZ 1)

(PFZ 2)

2NF - uklanjanje atributa zavisnih od dela primarnog ključa

2NF

16

KlijentID

KIme

101 Pera Perić

124 Mika Mikić

StanID

Adresa Cena

VlasnikID

VIme

804 Dušanova 2,Niš 100 40 Laza Lazić

560 Višegradska 32,Niš 60 93 Jovan Jovanović

45 Petra Petrovića bb, Beograd 250 40 Laza Lazić

206 Niška 22, Leskovac 110 93 Jovan Jovanović

301 Bulevar Oslobođenja 111, Leskovac

150 93 Jovan Jovanović

KlijentID

StanID

101 804

101 560

124 45

124 206

124 301

Stanovi

Klijenti

Iznajmljivanja

17

StanID

Adresa Cena

VlasnikID

VIme

804 Dušanova 2,Niš 100 40 Laza Lazić

560 Višegradska 32,Niš 60 93 Jovan Jovanović

45 Petra Petrovića bb, Beograd 250 40 Laza Lazić

206 Niška 22, Leskovac 110 93 Jovan Jovanović

301 Bulevar Oslobođenja 111, Leskovac

150 93 Jovan Jovanović

KlijentID

StanID

101 804

101 560

124 45

124 206

124 301

Stanovi

KlijentiIznajmljivanja

Tranzitivne funkcijske zavisnosti (TFZ)KlijentID

KIme

101 Pera Perić

124 Mika Mikić

(TFZ)

3NF - uklanjanje zavisnosti o atributima koji nisu deo jedinstvenog identifikatora (primarnog ključa)

3NF

18

KlijentID

KIme

101 Pera Perić

124 Mika Mikić

StanID

Adresa Cena

VlasnikID

804 Dušanova 2,Niš 100 40

560 Višegradska 32,Niš 60 93

45 Petra Petrovića bb, Beograd 250 40

206 Niška 22, Leskovac 110 93

301 Bulevar Oslobođenja 111, Leskovac

150 93

KlijentID

StanID

101 804

101 560

124 45

124 206

124 301

Stanovi

Klijenti

IznajmljivanjaVlasnikID

VIme

40 Laza Lazić

93 Jovan Jovanović

40 Laza Lazić

93 Jovan Jovanović

93 Jovan Jovanović

Vlasnici

PRIMER 8:

Razmotrimo relaciju R R(Grad, UlicaiBroj, Poskod)

19

Kandidati za ključ su:{Grad, UlicaiBroj} {Poskod, UlicaiBroj}

Relacija nema neključnih atributa pa zadovoljava 3NF

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

Funkcionalne zavisnosti relacije su:{Grad,UlicaiBroj→Poskod}{Poskod→Grad}

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.

23

R R2 Grad Poskod

Niš 18000

Beograd 11000

Beograd 11090

Leskovac 16000

Eliminisanje anomalija

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