You are on page 1of 16

Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

DIZAJNIRANJE BAZA PODATAKA


3.B-TZR-NSK
Obrtnička škola Koprivnica

Slavko Franjo, dipl.nf.,prof.mentor

 Generalizacija je postupak apstrakcije u kojem


se skup sličnih tipova objekata predstavlja
općim generičkim tipom ili nadtipom
 Slični tipovi objekata su oni koji imaju
zajedničke osobine i ponašanje

 Primjer:klasa Nastavnik i AdmOsoblje se


može generalizirati u klasu Radnik
 – Podtip (Nastavnik) nasljeđuje osobine (atribute)
nadtipa (Radnik)
 – Podtipovi imaju i neke svoje posebne osobine

Pripremio: Slavko Franjo, dipl.inf (c) 1


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Specijalizacija je obrnuti postupak od


generalizacije
 Specijalizacija – treba izbjegavati NULL
vrijednosti

 Postupak uklanjanja ili svođenja na minimum


nepotrebno redundantnih podataka
 Redundantni podaci su oni podaci
(vrijednosti atributa) koji se višestruko
pojavljuju u relaciji ili u relacijama
 Javljaju se kao posljedica uvoza podataka iz
drugih baza podataka ili nedovoljno dobro
modeliranih relacija
 Redundantni podaci uzrokuju probleme i
anomalije pri ažuriranju podataka BP
 Normalizacija baze podataka se provodi
pomoću normalnih formi

Pripremio: Slavko Franjo, dipl.inf (c) 2


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Postojisedam normalnih formi, a prve tri se


smatraju obaveznima, dok ostale
predstavljaju više normalne forme
 Svaka sljedeća NF podrazumijeva da je BP u
prethodnoj NF:
 prva normalna forma 1NF
 druga normalna forma 2NF
 treća normalna forma 3NF
 Boyce-Coddova normalna forma BCNF
 četvrta normalna forma 4NF
 peta normalna forma 5NF
 šesta normalna forma 6NF

 Normalne forme su definirane tako da ne sadrže


određene vrste zavisnosti.

 Relacija je u prvoj normalnoj formi (1NF)


ako su vrijednosti podataka atomarne
(nedjeljive).
 Za svođenje relacije na 1NF, treba razložiti
svaku ne-atomarnu vrijednost na atomarne.
 Ne-atomarne vrijednosti su one koje se
mogu razložiti na manje dijelove bez gubitka
informacije: npr. Adresa osobe se može
razložiti na posebno Mjesto i posebno na
Ulica i broj.
 A moguća je i situacija kao u sljedećem
primjeru:

Pripremio: Slavko Franjo, dipl.inf (c) 3


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

Nenormalizirana relacija
Relacija u prvoj normalnoj formi

 Relacijska shema R nalazi se u prvoj


normalnoj formi, ako su svi neključni
atributi funkcijski ovisni o ključu relacije.
 Pod ključnim atributima misli se na sve
atribute relacije koji ulaze u sastav bilo
kojeg mogućeg ključa relacije.
 Drugim riječima, iz relacijske sheme treba
odstraniti sve one neključne atribute koji
nisu funkcijski zavisni o ključu relacije.
 Naime kod definiranja smo tražili da je
vrijednost svakog atributa jednostruka i
nedjeljiva, a to je uvjet 1NFe.

Pripremio: Slavko Franjo, dipl.inf (c) 4


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

Relacija u prvoj normalnoj formi

Primjer tablice koja nije relacija (nije u 1NF), jer stupac


PROIZVOD nema jednostruku vrijednost i primjer odgovarajuće
relacije, gdje poredak n-torki (redaka) je nebitan.

 Promatramo relaciju R koja ima atribute A i B.

 Ako vrijednost atributa A jednoznačno


određuje vrijednost atributa B, tada se kaže
da je B funkcionalno ovisan o atributu A, a
piše se: A → B.

 To znači da ako postoji više redaka (ili n-torki) s


istom vrijednošću A tada i atribut B mora biti
također isti. Ili te funkcionalne ovisnosti nema.

Pripremio: Slavko Franjo, dipl.inf (c) 5


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Druga normalna forma zahtijeva da je zadovoljena 1NF


i da sva polja moraju biti jednoznačna i u potpunosti
ovisiti o primarnom ključu.

 Drugim riječima u svakoj tablici moraju se zapisivati


podatci o samo jednom tipu entiteta.
 Primjer nepoštivanja 2NF je tablica u kojoj se zapisuju
podatci o narudžbi zajedno s podatcima o osobi koja je
obavila narudžbu.

 Da bi relacija bila u 2NF potrebno je takvu relaciju


razdvojiti u dvije tablice.
 Postupak razdvajanja u nove tablice zove se
dekompozicija.

 Slično vrijedi i za složene atribute (tj. više


atributa).
 Ako je neki atribut B iz R funkcionalno ovisan o
složenim atributima A, a nije funkcionalno ni o
jednom pravom podskupu od A, tada kažemo da
je on potpuno funkcionalno ovisan o A.

 Svaki atribut relacije je funkcionalno ovisan o


ključu, ali ta ovisnost ne mora biti potpuna.

Pripremio: Slavko Franjo, dipl.inf (c) 6


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Parcijalna funkcijska zavisnost


 FZ, A → B je parcijalna FZ,ako se neki
atributi iz grupe A mogu ukloniti a FZ će i
dalje postojati
 Formalno: postoji C, pravi podskup od A,
C ⊂ A, takav da je C → B

 Uklanjanjeparcijalnih zavisnosti je uvjet za


drugu normalnu formu

Pripremio: Slavko Franjo, dipl.inf (c) 7


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Relacija je u drugoj normalnoj formi (2NF)


ako je u 1NF i ako je svaki neključni
atribut potpuno funkcionalno ovisan o
primarnom ključu.
 To znači da u 2NF ne smiju postoji parcijalne
zavisnosti.
Šifra Poštanski Grad Količina Šifra Naziv
kupca broj kupca kupca narudžbe proizvoda proizvoda
100 48000 Koprivnica 45 A Kruh
222 40000 Čakovec 18 A Kruh
100 48000 Koprivnica 50 B Mlijeko
333 10000 Zagreb 15 B Mlijeko
400 43000 Bjelovar 15 C Keksi
222 40000 Čakovec 20 D Jabuke
400 43000 Bjelovar 60 D Jabuke
567 44000 Sisak 27 E Ocat

U danom primjeru primarni ključ čine dva


atributa: Šifra proizvoda i Šifra kupca
 U primjeru se vidi da obilježje Naziv
proizvoda ovisi samo o obilježju Šifra
proizvoda, koje je dio ključa, ali ne i o
drugom obilježju koje je dio ključa (Šifra
kupca).
 Također, obilježja Poštanski broj kupca i Grad
kupca su u punoj funkcijskoj ovisnosti samo o
obilježju Šifra kupca.
 Složeni ključ je označen podebljanim slovima
(Šifra kupca, Šifra proizvoda).

Pripremio: Slavko Franjo, dipl.inf (c) 8


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Uočavamo da postoje parcijalne zavisnosti o


primarnom ključu pa relacija nije u 2NF.
 Rješenje je rastaviti tablicu na niz manjih
tablica u kojima se neće javljati parcijalne
zavisnosti.
 To će biti sljedeće tri tablice:

Šifra Poštanski Grad


kupca broj kupca
kupca
100 48000 Koprivnica
222 40000 Čakovec
100 48000 Koprivnica
333 10000 Zagreb
400 43000 Bjelovar
222 40000 Čakovec
400 43000 Bjelovar
567 44000 Sisak

Šifra Naziv
proizvoda proizvoda Primijetimo:
A Kruh
Rastavljanjem u drugoj i
A Kruh trećoj tablici se javljaju
B
B
Mlijeko
Mlijeko
jednaki slogovi koji će biti
C Keksi uklonjeni zbog uvjeta
D
D
Jabuke
Jabuke
jedinstvenosti njihovih
E Ocat primarnih ključeva

Pripremio: Slavko Franjo, dipl.inf (c) 9


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

Šifra Poštanski Grad


kupca broj kupca
kupca
100 48000 Koprivnica
222 40000 Čakovec
333 10000 Zagreb
400 43000 Bjelovar
567 44000 Sisak

Primijetimo: U prvoj tablici


Šifra Naziv
nema ponavljajućih slogova.
proizvoda proizvoda
Uklanjanjem ponavljajućih
A Kruh
B Mlijeko slogova u drugoj i trećoj tablici
C Keksi više nema redundancije pa je
D Jabuke
E Ocat relacijska shema u 2NF

 Relacija je u trećoj normalnoj formi (3NF) ako


je u 2NF i nema neključnih atributa tranzitivno
zavisnih od kandidata za ključ.
 Tranzitivne FZ:
 FZ, A → C je tranzitivna FZ, ako postoji neka
grupa atributa B takvih da postoje netrivijalne
FZ A → B i B → C.
 Netrivijalna FZ A → B znači: B nije podskup
od A
 Na kraju vrijedi A → B → C
 To znači da C tranzitivno ovisi o A

Pripremio: Slavko Franjo, dipl.inf (c) 10


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

U 1. tablici se vidi da je obilježje Grad


kupca u tranzitivnoj ovisnosti o ključu.

U primjeru se vidi da je obilježje Poštanski


broj kupca funkcijskoj ovisnosti o ključu
Šifra kupca (ŠK),
 a obilježje Grad kupca (Grad) u funkcijskoj
ovisnosti o ključu Poštanski broj kupca
(PBK).

Pripremio: Slavko Franjo, dipl.inf (c) 11


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Iz toga proizlazi tranzitivna ovisnost


obilježja Poštanski broj kupca o ključu i
matematički se može pisati kao relacija
tranzitivnosti:

Funkcijska ovisnost ŠK --> Grad je logička


posljedica ovisnosti ŠK --> PBK i PBK--> Grad i
to je tranzitivna ovisnost.

 Treća normalna forma zahtijeva da je


zadovoljena 2NF i sva polja koja nisu dio
glavnog ključa ne smiju međusobno ovisiti
jedno o drugom.
 Treba izbaciti sva izračunavanja u tablici npr.
kada uz polja [Cijena] i [Količina] želimo
pomnožiti te podatke i pohraniti u polje
[Ukupno].
 Problem se javlja kada ažuriramo polje
[Cijena] ili polje [Količina] jer se polje [Ukupno]
([Cijena]*[Količina]) ne ažurira automatski.
Zato ga treba izbaciti po 3NF.

Pripremio: Slavko Franjo, dipl.inf (c) 12


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Tranzitivnu ovisnost o ključu izdvojit ćemo iz


relacije i na taj način prevesti relaciju u
treću normalnu formu (3 NF)
 slično kao što smo u prethodnom primjeru
(prevođenju relacije u drugu normalnu
formu, 2 NF) izdvojili parcijalnu ovisnost o
ključu.
 To znači da ćemo postojeću relaciju
raščlaniti i u novu relaciju izdvojiti obilježje
Poštanski broj kupca i Grad kupca.

 Uz obilježje Grad kupca koje izdvajamo


pišemo i obilježje Poštanski broj kupca o
kojem je obilježje Grad kupca ovisno i koje
je potrebno za formiranje nove relacije, te
koje povezuje obilježje Grad kupca s
glavnom relacijom (obilježje Poštanski broj
kupca je i u glavnoj relaciji).

Pripremio: Slavko Franjo, dipl.inf (c) 13


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

Šifra Poštanski broj Grad kupca Količina Šifra Naziv


kupca kupca narudžbe proizvoda proizvoda

100 48000 Koprivnica 45 A Kruh


222 40000 Čakovec 18 A Kruh
100 48000 Koprivnica 50 B Mlijeko
333 10000 Zagreb 15 B Mlijeko
400 43000 Bjelovar 15 C Keksi
222 40000 Čakovec 20 D Jabuke
400 43000 Bjelovar 60 D Jabuke
567 44000 Sisak 27 E Ocat

Zbog tranzitivne ovisnost


ŠK --> PBR i PBR--> Grad
ovu tablicu rastavljamo na
dvije nove relacije.

Šifra Poštanski Poštanski Grad


kupca broj kupca broj kupca kupca
100 48000
222 40000 48000 Koprivnica
100 48000 40000 Čakovec
333 10000 48000 Koprivnica
400 43000 10000 Zagreb
222 40000 43000 Bjelovar
400 43000 40000 Čakovec
567 44000 43000 Bjelovar
44000 Sisak
Uklanjanjem ponavljajućih slogova dobivamo relacije
Šifra Poštanski Poštanski Grad
kupca broj kupca broj kupca
100 48000 kupca
222 40000 48000 Koprivnica
333 10000 40000 Čakovec
400 43000 10000 Zagreb
567 44000 43000 Bjelovar
44000 Sisak

Pripremio: Slavko Franjo, dipl.inf (c) 14


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Početna relacijska shema dovedena do 3NF


izgleda:
Šifra Šifra Količina
kupca proizvoda narudžbe

100 A 45
222 A 18
100 B 50
333 B 15
400 C 15
222 D 20
400 D 60
567 E 27

 Relacijaje u 1NF ako su svi atributi atomarni i


ne postoje jednaki slogovi.

 Relacija je u 2NF ako je u 1NF i ako postoje


samo potpune funkcijske zavisnosti neključnih
atributa o ključu i ne postoje parcijalne
zavisnosti o ključu (sva polja moraju biti
jednoznačna i potpuno ovisiti o primarnom
ključu)

 Relacija je u 3NF ako je u 2NF i ako nema


tranzitivnih zavisnosti, tj. sva polja koja nisu
dio glavnog ključa ne smiju međusobno ovisiti
jedno o drugom.

Pripremio: Slavko Franjo, dipl.inf (c) 15


Obrtnička škola Koprivnica DBP 3.B-TZR 22.11.2017.

 Napisati neku početnu relacijsku shemu


jedne izabrane relacije i odrediti ključeve.

 Provjeriti je li relacija u 1NF i ‘dokazati’ to

 Provjeritije li relacija u 2NF i ‘dokazati’ to


Ako nije, prevesti ju u 2NF

 Provjeritije li relacija u 3NF i ‘dokazati’ to


Ako nije u 3NF, prevesti ju u 3NF

Pripremio: Slavko Franjo, dipl.inf (c) 16

You might also like