normalizacija

9
Zadaci za vježbu 1. U biblioteci se evidentiraju posudbe knjiga. Relacijska shema sastoji se od slijedećih atributa: SIFCLN – šifra člana PREZCLN – prezime člana IMECLN – ime člana DATPOS – datum posudbe PBR – poštanski broj mjesta stanovanja člana NAZMJ – naziv mjesta stanovanja člana ADRCLN – adresa člana SIFKNJ – šifra knjige NAZKNJ – naziv knjige SIFIZD – šifra izdavača NAZIZD – naziv izdavača POS = SIFCLN, PREZCLN, IMECLN, DATPOS, PBR, NAZMJ, ADRCLN, SIFKNJ, NAZKNJ, SIFIZD, NAZIZD Pretpostavljeni ključ je: K POS = {SIFCLN} Normalizirajte relaciju pos na 1 NF, 2 NF, 3 NF ako vrijede pravila: Jedan član istog dana može posuditi više knjiga Jedan član istu knjigu može posuditi više puta Jedna knjiga ima jednog izdavača 2. Zadana je relacijska shema UREDJAJ sa slijedećim atributima: MBR – matični broj uređaja OZNVRUR – oznaka vrste uređaja NAZVRUR – naziv vrste uređaja OZNPR – oznaka proizvođača NAZPR – naziv proizvođača DATKV – datum kvara OZNVKV – oznaka vrste kvara OPVKV – opis vrste kvara NAPKV – napomena uz kvar Pretpostavljeni ključ je MBR. Normalizirati relacijsku shemu na 1 NF, 2 NF, 3 NF ako se za jedan uređaj istog dana može evidentirati više različitih kvarova. 3. Relacijska shema PROMET sastoji se od slijedećih atributa: Lin - broj linije na kojoj se odvija promet SifPrij - šifra prijevoznika (preduzeća)

Upload: zlatko-alomerovic

Post on 26-Jul-2015

59 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Normalizacija

Zadaci za vježbu

1. U biblioteci se evidentiraju posudbe knjiga. Relacijska shema sastoji se od slijedećih atributa:

SIFCLN – šifra člana PREZCLN – prezime člana IMECLN – ime člana DATPOS – datum posudbe PBR – poštanski broj mjesta stanovanja člana NAZMJ – naziv mjesta stanovanja člana ADRCLN – adresa člana SIFKNJ – šifra knjige NAZKNJ – naziv knjige SIFIZD – šifra izdavača NAZIZD – naziv izdavača

POS = SIFCLN, PREZCLN, IMECLN, DATPOS, PBR, NAZMJ, ADRCLN, SIFKNJ, NAZKNJ, SIFIZD, NAZIZD

Pretpostavljeni ključ je: KPOS = {SIFCLN}Normalizirajte relaciju pos na 1 NF, 2 NF, 3 NF ako vrijede pravila:

Jedan član istog dana može posuditi više knjiga Jedan član istu knjigu može posuditi više puta Jedna knjiga ima jednog izdavača

2. Zadana je relacijska shema UREDJAJ sa slijedećim atributima: MBR – matični broj uređaja OZNVRUR – oznaka vrste uređaja NAZVRUR – naziv vrste uređaja OZNPR – oznaka proizvođača NAZPR – naziv proizvođača DATKV – datum kvara OZNVKV – oznaka vrste kvara OPVKV – opis vrste kvara NAPKV – napomena uz kvar

Pretpostavljeni ključ je MBR.

Normalizirati relacijsku shemu na 1 NF, 2 NF, 3 NF ako se za jedan uređaj istog dana može evidentirati više različitih kvarova.

3. Relacijska shema PROMET sastoji se od slijedećih atributa: Lin - broj linije na kojoj se odvija promet SifPrij - šifra prijevoznika (preduzeća) NazPrij- naziv prijevoznika SifAut - šifra autobusa – određuje je prijevoznik TipAut - tip autobusa BrSjed - broj sjedišta SifOdr - šifra mjesta – odredišta NazOdr - naziv mjesta – odredišta DatPol - datum polaska VrijPol - vrijeme polaska TrVoz - Trajanje vožnje BrKart - broj prodanih karata

Page 2: Normalizacija

Pretpostavljani ključ je šifra linije. Normalizirajte relacijsku shemu PREVOZ na 1 NF, 2 NF, 3 NF. Šifru autobusa određuje prijevoznik – mogu postojati različiti autobusi različitih prijevoznika koji imaju istu šifru. Autobusi istog tipa imaju jednak broj sjedišta. Linija određuje odredište, vrijeme polaska i trajanje vožnje. Istog dana na istoj liniji može saobraćati više autobusa (istog ili različitog prijevoznika).

4. Zadana je relacijska shema FILM sa slijedećim atributima: SifFilm- šifra filma NasFilm - naslov filma OznZanr - oznaka žanra OpisZanr - opis (naziv) žanra SifProizv - šifra proizvođača filma NazProizv - naziv proizvođača filma SifDistrib - šifra distributera filma NazDistrib - naziv distributera filma SifOso - šifra osobe PrezOso - prezime osobe ImeOso - ime osobe KratFun - kratica funkcije koju osoba ima u filmu NazFun - naziv funkcije koju osoba ima u filmu (glumac, režiser, ...)

Jedan film ima jednog proizvođača Jedan film ima jednog distributera Jedna osoba može imati različite funkcije u istom filmu U jednom filmu različite osobe mogu imati iste funkcije (više glumaca, scenarista ...)

5. Zadana je relacijska shema PACIJENT i relacija pacijent:

sifPac prezPac imePac postBrPac mjestoPac adresaPac datPosjet iznRacPosjet sifZub sifZahvat nazZahvat1111 Husić Huso 75000 Tuzla Musala 2 10.08.03 60 lg1 123 plombiranje1111 Husić Huso 75000 Tuzla Musala 2 10.08.03 60 ld4 123 plombiranje1111 Husić Huso 75000 Tuzla Musala 2 10.08.03 60 lg1 234 poliranje1234 Fatić Fata 75020 Tuzla Breške 27 10.08.03 45 dg3 123 plombiranje1234 Fatić Fata 75020 Tuzla Breške 27 10.08.03 45 lg2 456 brušenje1234 Fatić Fata 75020 Tuzla Breške 27 11.08.03 20 lg2 567 otisak za krunu

Normalizirati relaciju pacijent na 1 NF, 2 NF i 3 NF. Pretpostavljeni ključ je sifPac. Vrijednost atributa iznRacPosjet predstavlja ukupan iznos računa za jednu posjetu pacijenta (za jedan datum). Pacijent ne može biti primljen više puta istog dana.

Rješenja zadataka

1. a) Normalizacija na 1 NF

Page 3: Normalizacija

- postoje funkcijske zavisnosti: sifCln → imeCln, prezCln, pbr, nazMj, adrCl- ne postoje funkcijske zavisnosti: sifCln → datPos, sifKnj, nazKnj, sifIzd, nazIzd

CLAN = πsifCln, prezCln, imeCln, pbr, nazMj, adrCln (POS) KCLAN = {sifCln}POS1 = πsifCln, datPos, sifKnj, nazKnj, sifIzd, nazIzd (POS) KPOS1 = {sifCln, datPos, sifKnj}

b) Normalizacija na 2 NF

- postoji funkcijska zavisnost: sifKnj → nazKnj, sifIzd, nazIzd

KNJIGA = πsifKnj, nazKnj, sifIzd, nazIzd (POS1) KKNJIGA = {sifKnj}POS2 = πsifCln, datPos, sifKnj (POS1) KPOS2 = { sifCln, datPos, sifKnj}

c) Normalizacija na 3 NF

- postoji funkcijska zavisnost: sifIzd → nazIzd

IZDAVAC = πsifIzd, nazIzd (KNJIGA) KIZDAVAC = {sifIzd}KNJIGA1 = πsifKnj, nazKnj, sifIzd (KNJIGA) KKNJIGA1 = {sifKnj}

- postoji funkcijska zavisnost: pbr → nazMj

MJESTO = πpbr, nazMj (CLAN) KMJESTO = {pbr}CLAN1 = πsifCln, imeCln, prezCln, pbr, adrCln (CLAN) KCLAN1 = {sifCln}

Shema baze podataka POSUDBA sastoji se od relaciskih shema:POSUDBA = {CLAN1, KNJIGA1, IZDAVAC, MJESTO, POS2}

2. a) Normalizacija na 1 NF

- postoje funkcijske zavisnosti: mbr → oznVrUr, nazVrUr, oznPr, nazPr- ne postoje funkcijske zavisnosti: mbr → datKv, oznKv, opVKv, napKv

VRUR = πmbr, oznVrUr, nazVrUr, oznPr, nazPr (UREDJAJ) KVRUR = {mbr}KVAR = πmbr, datKv, oznKv, opVKv, napKv (UREDJAJ) KKVAR = {mbr, datKv, oznVKv}

b) Normalizacija na 2 NF

- postoji funkcijska zavisnost: oznVKv → opVKv

VRKV = πoznVKv, opVKv (KVAR) KVRKV = {oznVKv}KVAR1 = πmbr, datKv, oznVKv, napKv (KVAR) KKVAR1 = {mbr, datKv, oznVKv}

c) Normalizacija na 3 NF

- postoje funkcijske zavisnosti: oznVrUr → nazVrUr i oznPr → nazPr

VRUR1 = πoznVrUr, nazVrUr (VRUR) KVRUR1 = {oznVrUr}PROIZVODJAC = πoznPr, nazPr (VRUR) KPROIZVODJAC = {oznPr}VRUR2 = πmbr, oznVrUr, oznPr (VRUR) KVRUR2 = {mbr}

Page 4: Normalizacija

Shema baze podataka UREDJAJ sastoji se od relacijskih shema:UREDJAJ = {VRUR2, VRUR1, PROIZVODJAC, KVAR1}

3. a) Normalizacija na 1 NF

- postoje funkcijske zavisnosti: lin → sifOdr, nazOdr, vrijPol, trVoz- ne postoje funkcijske zavisnosti: lin → sifPrij, nazPrij, sifAut, tipAut, brSjed, brKart,

datPol

LINIJA = πlin, sifOdr, nazOdr, vrijPol, trVoz (PRIJEVOZ) KLINIJA = {lin}PRIJEVOZ1 = πlin, sifPrij, nazPrij, sifAut, tipAut, brSjed, brKart, datPol (PRIJEVOZ)KPRIJEVOZ1 = {lin, sifPrij, datPol, sifAut}

b) Normalizacija na 2 NF

- postoje funkcijske zavisnosti: sifPrij → nazPrij i sifPrij, sifAut → tipAut, brSjed

PRIJEVOZNIK = πsifPrij, nazPrij (PRIJEVOZ1) KPRIJEVOZNIK = {sifPrij}AUTOBUS = πsifPrij, sifAut, tipAut, brSjed (PRIJEVOZ1) KAUTOBUS = {sifPrij, sifAut}PRIJEVOZ2 = πlin, sifPrij, sifAut, datPol, brKart (PRIJEVOZ1)KPRIJEVOZ2 = {lin, sifPrij, datPol, sifAut}

c) Normalizacija na 3 NF

- postoje funkcijske zavisnosti: sifOdr → nazOdr i tipAut → brSjed

ODREDISTE = πsifOdr, nazOdr (LINIJA) KODREDISTE = {sifOdr}LINIJA1 = πlin, sifOdr, vrijPol, trVoz (LINIJA) KLINIJA1 = {lin}AUTOBUS1 = πsifPrij, sifAut, tipAut (AUTOBUS) KAUTOBUS1 = {sifPrij, sifAut}TIP = πtipAut, brSjed (AUTOBUS) KTIP = {tipAut}

Shema baze podataka PRIJEVOZ se sastoji od relacijskih shema:PRIJEVOZ = {LINIJA1, PRIJEVOZNIK, AUTOBUS1, ODREDISTE, PRIJEVOZ2, TIP}

4. a) Normalizacija na 1 NF

- postoje funkcijske zavisnosti: sifFilm → nasFilm, oznZanr, opisZanr, sifProizv, nazProizv, sifDistrib, nazDistrib

- ne postoje funkcijske zavisnosti: sifFilm → sifOso, prezOso, imeOso, kratFun, nazFun

NASLOV = πsifFilm, nasFilm, oznZanr, opisZanr, sifProizv, nazProizv, sifDistrib, nazDistrib (FILM)KFILM = {sifFilm}FILM1 = πsifFilm, sifOso, prezOso, imeOso, kratFun, nazFun (FILM) KFILM1 = {sifFilm, sifOso, kratFun}

b) Normalizacija na 2 NF

- postoje funkcijske zavisnosti: sifOso → prezOso, imeOso i kratFun → nazFun

OSOBA = πsifOso, prezOso, imeOso (FILM1) KOSOBA = {sifOso}FUNKCIJA = πkratFun, nazFun (FILM1) KFILM1 = {kratFun}FILM2 = πsifFilm, sifOso, kratFun (FILM1) KFILM2 = {sifFilm, sifOso, kratFun}

Page 5: Normalizacija

c) Normalizacija na 3 NF

- postoje funkcijske zavisnosti: oznZanr → opisZanr, sifProizv → nazProizv i sifDistrib → nazDistrib

NASLOV1 = πsifFilm, nasFilm, oznZanr, sifProizv, sifDistrib (NASLOV) KNASLOV1 = {sifFilm}ZANR = πoznZanr, opisZanr (NASLOV) KZANR = {oznZanr}PROIZVODJAC = πsifProizv, nazProizv (NASLOV) KPROIZVODJAC = {sifProizv}DISTRIBUTER = πsifDistrib, nazDistrib (NASLOV) KDISTRIBUTER = {sifDistrib}

Shema baze podataka FILM sastoji se od relacijskih shema:FILM = {NASLOV1, OSOBA, FUNKCIJA, ZANR, PROIZVODJAC, DISTRIBUTER, FILM2}

5. a) Normalizacija na 1 NF

- postoje funkcijske zavisnosti: sifPac → prezPac, imePac, postBrPac, mjestoPac, adresaPac

- ne postoje funkcijske zavisnosti: sifPac → datPosjet, iznRacPosjet, sifZub, sifZahvat, nazZahvat

PACIJENT1 = πsifPac, prezPac, imePac, postBrPac, mjestoPac, adresaPac (PACIJENT)KPACIJENT1 = {sifPac}

PACIJENT1 sifPac prezPac imePac postBrPac mjestoPac adresaPac1111 Husić Huso 75000 Tuzla Musala 21234 Fatić Fata 75020 Tuzla Breške 27

POSJETA = πsifPac, datPosjet, iznRacPosjet, sifZub, sifZahvat, nazZahvat (PACIJENT)KPOSJETA = {sifPac, datPosjet, sifZub, sifZahvat}

POSJETA sifPac datPosjet iznRacPosjet sifZub sifZahvat nazZahvat1111 10.08.03 60 lg1 123 plombiranje1111 10.08.03 60 ld4 123 plombiranje1111 10.08.03 60 lg1 234 poliranje1234 10.08.03 45 dg3 123 plombiranje1234 10.08.03 45 lg2 456 brušenje1234 11.08.03 20 lg2 567 otisak za krunu

b) Normalizacija na 2 NF

- postoje funkcijske zavisnosti: datPosjet → iznRacPosjet i sifZahvat → nazZahvat

RACUN = πsifPac, datPosjet, iznRacPosjet (POSJETA) KRACUN = {sifPac, datPosjet}RACUN sifPac datPosjet iznRacPosjet

1111 10.08.03 601234 10.08.03 451234 11.08.03 20

ZAHVAT = πsifZahvat, nazZahvat (POSJETA) KZAHVAT = {sifZahvat}

Page 6: Normalizacija

ZAHVAT sifZahvat nazZahvat123 plombiranje234 poliranje456 brušenje567 otisak za krunu

POSJETA1 = πsifPac, datPosjet, sifZub, sifZahvat (POSJETA)KPOSJETA1 = {sifPac, datPosjet, sifZub, sifZahvat}

POSJETA1 sifPac datPosjet sifZub sifZahvat1111 10.08.03 lg1 1231111 10.08.03 ld4 1231111 10.08.03 lg1 2341234 10.08.03 dg3 1231234 10.08.03 lg2 4561234 11.08.03 lg2 567

c) Normalizacija na 3 NF

- postoji funkcijska zavisnost: postBrPac → mjestoPac

MJESTO = πpostBrPac, mjestoPac (PACIJENT1) KMJESTO = {postBrPac}

MJESTO postBrPac mjestoPac75000 Tuzla75020 Tuzla

PACIJENT2 = πsifPac, prezPac, imePac, postBrPac, adresaPac (PACIJENT1) KPACIJENT2 = {sifPac}

PACIJENT2 sifPac prezPac imePac postBrPac adresaPac1111 Husić Huso 75000 Musala 21234 Fatić Fata 75020 Breške 27

Shema baze podataka PACIJENT sastoji se od relacijskih shema:PACIJENT = {PACIJENT2, POSJETA1, RACUN, ZAHVAT, MJESTO}