Top Banner
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

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

Jan 01, 2016

Download

Documents

nita-barron

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
Page 1: PRIMER 1:  Izvršiti normalizaciju relacije Iznajmljivanja na 3NF

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

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

2

F(SIFRA)=PREZIMESIFRA PREZIME

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

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

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

Funkcionalna zavisnost: SIFRA IME

4

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ć

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

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

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

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

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

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)

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

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

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

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

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

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 ->

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

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

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

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

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

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