Relációs modell és relációs algebra ER konvertáása reációs modellre,példák relációs algebrára Személetes ismertetés
Relációs modell Nagyon sok DBMS manapság (p. MySQL, Oracle, SQLite, MSSQL) használja ezeket, ezért őket RDBMS-nek is szokás nevezni ER adatmodell probémája pédául, hogy nem egyértelmű minden esetben, és műveletek végzése, definiálása sem nagyon van hozzá. Adatainkon márpedig szeretnénk műveleteket is végezni. Tehát szükség van olyan adatmodellre, amely nem csak az adatok tárolására ad kifinomultabb szerkezetet, sémát, hanem a műveletek végzését is lehetővé teszi, és integritási feltételekbe is bővebb.
Relációs modell elemei domain: értékhalmaz, mező által felvehető értékek halmaza (pl egész szám (N), szöveg (S), dátum (D) stb.. mező:elemi tárolási egységek rendelkezik domain-el (~típussal) és névvel. Pl. egy címet tároló mező neve lehet cím, a hozzárendelt domain pedig szöveg (mive ilyen mezőbe szöveget tárolunk) rekord: logikailag összetartozó mezők. Például ha a dolgozatot tároljuk, akkor egy rekordhoz tartozna a azonosító mező, a cím mező és a pontszám mező is. (illetve még más is, ez később derül ki). Tulajdonképpen mikor a rekordoknak értéket adunk, azok szemléletesen egy sornak felelnek. reláció:azonos szerkezetű rekordok halmaza. Például a dolgozat rekordok egy relációt fognak alkotni. A relációt egyfajta táblázatos szerkezetnek is ellehet képzelni, példáu mint az Excel-ben készített nyilvántartórendszerünk adatokat tároló munkalapja. Ott a mezők nevei a fejlécoszlop volt, és minden sornak azonos szerkezete volt (az oszlopokba való értékekkel)
Relációs modell és kapcsolata az ER modellel Amikor relációs adatmodellen dolgozunk, tulajdonképpen elkészítjük a relációt alkotó rekordok szerkezetét (a mezőket), és rekord előfordulásokat adunk hozzá ( sorokat ). Minden rekord elemeire az adott elemet tartamazó mező nevével fogunk hivatkozni. De hogyan indulunk neki egy ilyen tervezésnek? Mivel az ER modell-t már ismerjük, kiindulhatunk ER modellből is, hiszen az ER modell konvertáható relációs modellre. Azaz, ha már megvan ER modellben tervezve az adatbázisunk, áttudjuk alakítani relációsra, ez utóbbi alapján pedig konkrét RDBMS-be me is valósíthatjuk a kívánt szerkezetet.
Relációs modellben relációk vizuális jelölése mező1 az elsődleges kulcs. Elsődeges kulcsmezőnek mindenképpen kell lenni! Ez azonosítja a rekordot a reláción belül egyedileg. A mező2 idegen kulcs lenne (másik tábla elsődleges kulcsához kapcsolódna (nem a második helyre kötelező írni, csak az ábrán úgy szerepel). Ilyet nem feltétlenül fog tartalmazni. A többi mező nem kulcsmező. A domain a mező értékének típusára uta majd. Következőben fogunk pédát látni.
ER modell konvertálása relációs modellre Az ER tulajdonságokból lesznek tulajdonképpen a mezők. DE: relációs modellben a mezők elemi értékeket tartamazhatnak csak, összetett értékeket nem. Így szükséges ezekre szabályok bevezetése: Az egyednek a relációs modellben a reláció lesz a megfelelője. Tehát ha ER modellben n egyedünk van, akkor a relációs modellben legalább n relációnk lesz. Összetett tulajdonságból annyi mező lesz a relációban amennyi elemei tulajdonságból összetevődik ez az összetett tulajdonság.
Konvertálás ábrákban
Konvertálás ábrákban
Konvertálás ábrákban
Egyedek konvertálása Eddigi szabályainkkal olyan ER modelbeli egyedeket tudunk konvertálni, amelyek nincsenek kapcsolatban más egyeddel, vagy ha kapcsolatban vannak is, az adott egyed 1:N kapcsolatban áll a másik egyeddel és nem az N része a kapcsolatnak, vagy ha N:M kapcsolatban (több-több) vannak. Így a konzulens, téma, tárgy egyedeket az előző fejezetből gondnélkül tudjuk konvertálni.
Egyedek konvertálása
Konzulens reláció rekordelőfordulások Táblázatosan szemléltethetők (adatok az ER modelles előző pdf-ből, tanszékkel kiegészítve) szig név tanszék uxt122 Nagy Feri Informatika Intézet utt234 Kis Gézu Matematika Intézet ddt122 János Béla Algoritmus Intézet
Egyed konvertálása N azt jelzi,hogy adott jelző számot vehet fe, illetve hány számjegy max. C azt jelzi, hogy karakter D példáu dátumot jelezne
Téma reláció rekordelőfordulások Sorszám Cim Pont 1 Fogalomháló 80 2 Adatbányászat 79 3 Klaszterezés 90
Tárgy egyed konvertálás
Tárgy reláció rekordelőfordulásai Tárgykód Tárgy Leírás G1 Adatbázisok Műveletek adatokkal. G2 Architektúrák Gép belseje.
Többértékű tulajdonság A hallgató egyed hallgató relációjává alakításához még nincs elég ismeretünk. Többértékű tulajdonság relációs modelbe való reprezentálása: mivel egy mező csak elemi értéket tárolhat, viszont egy relációban lehet több rekord (azaz több elem) ezért külön relációt kell ennek a mezőnek létrehozni. Így egy olyan egyed, aminek van többértékű tulajdonsága, két relációt jelent. Viszont valamiyen módon kapcsolatot kell teremteni a két reláció között. A kapcsolatteremtés eszköze az (a már segédlet elején ismertetett) idegen kulcs segítségével fog történni. Mivel az idegen kulcs egy másik reláció elsődleges kulcsértékét tartalmazza (persze, tisztázva, hogy melyiket) ezért többféle lehetőségünk is adódik:
Többértékű tulajdonság Első lehetőség: hallgató relációnak egy idegenkulcs mező (legyen most SzakAzon), ami a szak reláció elsődleges kulcsára mutat. Ezzel azonban, ha egy hallgató több szakos, több rekordelőfordulást jelentene, ami Ilyen esetben: Neptun kód Név SzakAzon Azon Szak DCE213 Nagy Róbert 1 ABC123 Kiss Ilona 2 1 Programtervező informatikus 2 Mérnökinformatik us 3 Műszaki menedzser
Többértékű tulajdonság De nézzük csak, mi történik, ha Kiss Ilona-hoz újabb szakot adunk (mivel ő az előző pdf alapján menedzser is). Neptun kód Név SzakAzon DCE213 Nagy Róbert 1 ABC123 Kiss Ilona 2 ABC123 Kiss Ilona 3 Látható, hogy ha egy hallgatóhoz több szak járul, akkor a jelenlegi ábrázolásunkba plusz rekordot jelent, viszont ez nem lehetséges az kulcsa miatt (mégegyszer nem szúrhatok be ugyanolyan személyigge rendelkezőt, mert egyedinek kell lenni minden rekordnál ennek az értéknek)
Többértékű tulajdonság Világos tehát, hogy az első lehetőség nem jó választás (ha más kulcsot választanánk (pl. sorszáma mindegyik rekordnak) a probléma ugyan megoldódna, de a kezelhetőség nehézsége nőne). Nézzük meg a másik lehetőséget: a Szak relációnak egy idegenkulcs mező, ami hallgató elsődleges kulcsot tartamazna. Ez esetben a rekordelőfordulások
Többértékű tulajdonság Azon Szak HallgatóAzon Neptun kód Név 1 Programterve ző informatikus DCE123 DCE213 ABC123 Nagy Róbert Kiss Ilona 2 Mérnökinform atikus 3 Műszaki menedzser ABC123 ABC123 UTT222 Nemes Ernő 4 Mérnök informatikus UTT222 Megjegyzés: még tovább szépíthető lenne
hallgató egyed relációvá alakítása