ADATBÁZISOK Normalizálás
Első normálforma (1NF) • Csak atomi attribútumok fordulnak elő • Összetett és többértékű attribútumok leképezésével
Második normálforma (2NF) • 1NF + A másodlagos (azaz nem kulcsbeli) attribútumok teljesen függenek a kulcstól • Automatikusan teljesül, ha: – 1 elemű a kulcs vagy – ha minden attribútum része a kulcsnak
Teljes függés végzés éve
EHA
szak
ABEAAT.SZE
Programtervező inf. BSc
2012
jeles
KACADT.SZE
Fizika BSc
2012
jó
FAHAAT.SZE
Mérnökinformatikus BSc
2013
közepes
ABEAAT.SZE
Matematika BSc
2013
jeles
2014
jó
TOMAQT.SZE Mérnökinformatikus BSc
diplomaminősítés
{EHA, szak} {végzés éve, diplomaminősítés} {EHA} {végzés éve, diplomaminősítés} {szak} {végzés éve, diplomaminősítés}
Példa KURZUS(kurzuskód, szemeszter, maxlétszám, kurzusnév)
kurzuskód
szemeszter
maxlétszám
kurzusnév
I103e-1
2013-2014-1
450
Programozás alapjai
I103e-1
2014-2015-1
446
Programozás alapjai
I501e-1
2013-2014-1
372
Adatbázisok
I501e-1
2014-2015-1
329
Adatbázisok
…
…
…
…
Példa KURZUS(kurzuskód, szemeszter, maxlétszám, kurzusnév) {kurzuskód} {kurzusnév} kurzuskód
szemeszter
maxlétszám
kurzusnév
I103e-1
2013-2014-1
450
Programozás alapjai
I103e-1
2014-2015-1
446
Programozás alapjai
I501e-1
2013-2014-1
372
Adatbázisok
I501e-1
2014-2015-1
329
Adatbázisok
…
…
…
…
2NF-re hozás 1. Megkeressük a részleges függést okozó „részkulcso(ka)t” és a tőle/tőlük függő másodlagos attribútumokat 2. Az érintett részkulcso(ka)t a függő másodlagos attribútumokkal együtt külön reláció(k)ba tesszük
2NF-re hozás KURZUS(kurzuskód, szemeszter, maxlétszám, kurzusnév)
1. lépés – részleges függés megállapítása: {kurzuskód} {kurzusnév} 2. lépés – séma felbontása: KURZUS(kurzuskód, szemeszter, maxlétszám) KURZUSNEVEK(kurzuskód,kurzusnév)
Harmadik normálforma (3NF) • 2NF + minden másodlagos attribútum közvetlenül függ a kulcstól. • Automatikusan teljesül, ha minden attribútum része a kulcsnak
Közvetlen függés végzés éve
EHA
szak
ABEAAT.SZE
Programtervező inf. BSc
2012
jeles
KACADT.SZE
Fizika BSc
2012
jó
FAHAAT.SZE
Mérnökinformatikus BSc
2013
közepes
ABEAAT.SZE
Matematika BSc
2013
jeles
2014
jó
TOMAQT.SZE Mérnökinformatikus BSc
diplomaminősítés
{EHA, szak} {végzés éve, diplomaminősítés} {végzés éve} {diplomaminősítés} {diplomaminősítés} {végzés éve}
Példa KURZUS(kurzuskód, szemeszter, maxlétszám, terem, teremkód) kurzuskód
szemeszter
maxlétszám teremkód
I103e-1
2013-2014-1 nincs korlát
IR106
Irinyi 106 tanterem
I103e-1
2014-2015-1 nincs korlát
BO-211-3
Szőkefalvi-Nagy terem
I501e-1
2013-2014-1 372
TIK-A01
TIK alagsori I
I501e-1
2014-2015-1 329
TIK-001
TIK kongresszusi terem
…
…
TIK-A01
TIK alagsori I
…
terem
Példa KURZUS(kurzuskód, szemeszter, maxlétszám, terem, teremkód) {kurzuskód, szemeszter} {teremkód} kurzuskód
szemeszter
maxlétszám teremkód
I103e-1
2013-2014-1 nincs korlát
IR106
Irinyi 106 tanterem
I103e-1
2014-2015-1 nincs korlát
BO-211-3
Szőkefalvi-Nagy terem
I501e-1
2013-2014-1 372
TIK-A01
TIK alagsori I
I501e-1
2014-2015-1 329
TIK-001
TIK kongresszusi terem
X999e-9
2030-2031-1 300
TIK-A01
TIK alagsori I
terem
Példa KURZUS(kurzuskód, szemeszter, maxlétszám, terem, teremkód) {kurzuskód, szemeszter} {teremkód} {teremkód} {terem} kurzuskód
szemeszter
maxlétszám teremkód terem
I103e-1
2013-2014-1 nincs korlát
IR106
Irinyi 106 tanterem
I103e-1
2014-2015-1 nincs korlát
BO-211-3
Szőkefalvi-Nagy terem
I501e-1
2013-2014-1 372
TIK-A01
TIK alagsori I
I501e-1
2014-2015-1 329
TIK-001
TIK kongresszusi terem
X999e-9
2030-2031-1 300
TIK-A01
TIK alagsori I
3NF-re hozás 1. Megkeressük azon másodlagos attribútumokat, amelyektől függenek további másodlagos attribútumok 2. Az érintett másodlagos attribútumokat külön reláció(k)ba tesszük.
3NF-re hozás KURZUS(kurzuskód, szemeszter, maxlétszám, teremkód, terem)
1. lépés – tranzitív függés megállapítása: {kurzuskód, szemeszter} {teremkód} {terem} 2. lépés – séma felbontása: KURZUS(kurzuskód, szemeszter, maxlétszám, teremkód) TERMEK(teremkód, teremnév)
Feladat Nyilvántartjuk a magyarországi színházakban műsorra tűzött darabokat:
SZÍNHÁZ(színháznév, megye, település, író, cím, műfaj, dátum, időpont) Hozzuk a sémát 1NF, 2NF, 3NF alakra!
Feladat Az R(A, B, C, D, E, F) relációsémában az E attribútum az E1, E2, E3 attribútumokból tevődik össze, és az alábbi funkcionális függőségeket feltételezzük: B DEF E2E1
Határozzuk meg a séma kulcsát, és hozzuk a sémát 1NF, 2NF, 3NF alakra!
Feladat Az R(A, B, C, D, E, F, G) relációsémában az F attribútum többértékű, és az alábbi funkcionális függőségeket feltételezzük: ABCD DEG DC BAF Határozzuk meg a séma kulcsát, és hozzuk a sémát 1NF, 2NF, 3NF alakra!
Feladat Az R(A, B, C, D, E, F, G, H, I) relációsémában az F és G attribútumok többértékűek, és az alábbi funkcionális függőségeket feltételezzük: ABCD BCF EG BHI HCI Határozzuk meg a séma kulcsát, és hozzuk a sémát 1NF, 2NF, 3NF alakra!