Adatbázisok gyakorlat 4. gyakorlat Adatmodellezés II Relációs adatbázisséma készítése E-K modellből Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1
Közérdekű Honlap: http://antalgabor.hu Fogadóóra: Hétfő 13-14, Irinyi 110 (egyeztetés alapján bármikor) Kötelező program választás kedd 20:00-ig Javító ZH: December 5. 17:00 19:00 között, Irinyi 3. lépcsőház, 2. emelet 217- es terem (IR-217-3) ZH: 3 hét múlva Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 2
Relációs adatmodell E.F Codd 1970-ben definiálta, de csak a 80-as években terjedt el a gyakorlati alkalmazása Lényege: egyedeket, tulajdonságokat, kapcsolatokat egyszerűen, táblázattal írja le. (adattáblákban, relációkban) Minden sora azonos számú oszlopból áll, a sort rekordnak, a sor egy oszlopát mezőnek nevezzük Sorokba szervezetten vannak, de általában nincsenek rendezve (pl.: nincsenek betűrendben) Csak elemi adat!! rekord mező Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 3
Relációs adatbázisséma Reláció oszlopait attribútumoknak hívjuk (tehát, előzőekben attribútum volt: előadó, cím, műfaj, év, hossz) Relációséma: adattábla neve, és az attribútumok Ennek megadása: AdattáblaNeve(attr1, attr2, attr3) Egy adatbázis általában több ilyen sémából áll a relációs modellben. A relációsémákból álló halmazt relációs adatbázissémának nevezzük. (kulcsok és külső kulcsok jelölésével) Szaknyelvben sémán a szerkezetet leíró adatokat értjük, míg táblán a séma egy konkrét példányosítását. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 4
Kulcs Kulcs jelölése: aláhúzással (mint az egyed-kapcsolat modellben) Több lehetséges kulcs esetén egyet választani kell, ez lesz az elsődleges kulcs, minden mást pedig másodlagos attribútumnak nevezünk Kapcsolat: ha különböző sémák tartalmaznak azonos attribútumokat, akkor a sémák kapcsolatban állhatnak. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 5
Idegen kulcs Idegen kulcs (foreign key): ha az adott séma egy attribútuma egy másik sémában elsődleges kulcsként szerepel. Jelölése: dőlt betűvel írással, vagy a kulcsra mutató nyíllal. Albumok(előadó, cím, év, műfaj, hossz) Albumok(előadó, cím, év, műfaj, hossz) Előadók(név, születési_dátum, aktív, kiadó) Előadók(név, születési_dátum, aktív, kiadó) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 6
Átírás egyed-kapcsolat modellből Egyedek Minden egyedhez felírunk egy relációsémát Neve: az egyed neve Attribútumai: az egyed attribútumai Elsődleges kulcsa: az egyed kulcsattribútuma(i) A séma feletti adattábla minden egyes sora egy egyedpéldánynak felel meg Könyv(könyvszám, szerző, cím) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 7
Átírás egyed-kapcsolat modellből Gyenge egyed: Bővítjük a gyenge entitás sémáját a meghatározó kapcsolat attribútumaival Tulajdonos (személyiszám, név, lakcím) Számítógép (processzor, memória, merevlemez, személyiszám) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 8
Átírás egyed-kapcsolat modellből Összetett attribútumok: visszavezetjük elemi adatokra Olvasó(o.sz, név, lakcím) Helyett: Olvasó(o.sz, név, helyiség, utca, házszám) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 9
Átírás egyed-kapcsolat modellből Többértékű attribútum: Megadás egyértékű attribútumként (felsoroljuk a szerzőket) Szerzőket nem tudjuk külön kezelni Nem biztos,hogy belefér a mezőbe Keresés?? Sorok ismétlése (Több szerző esetén többször vesszük fel a könyvet) Redundancia Új tábla Könyv(könyvszám, cím) Szerzők(könyvszám, szerző) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 10
Átírás egyed-kapcsolat modellből Kapcsolat: 1:1 Tetszőlegesen, az egyik egyed sémáját bővítjük a másik egyed kulcsával, és a kapcsolat attribútumaival. 1:N az N oldali egyed sémáját bővítjük a másik egyed kulcsával, és a kapcsolat attribútumaival. N:M új sémát veszünk fel az egyedek kulcsaival, és a kapcsolat attribútumaival. Olykor érdemes új sémát felvenni akár 1:1 vagy 1:N kapcsolat esetén is. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 11
0. Feladat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 12
1. Feladat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 13
2. Feladat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 14
Kötelező program Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 15
Megjegyzések Feladatgyűjtemény: pub/adatbazisok/feladatok_v1.1.pdf Adatbázisok. Előadás jegyzet, www.inf.u-szeged.hu/~katona, pub/adatbázisok/ Cser Lajos diái alapján Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 16