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
DCE213
Nagy Róbert
1
ABC123
Kiss Ilona
2
Azon
Szak
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
Neptun kód
Azon
Szak
HallgatóAzon
1
Programterve ző informatikus
DCE123
2
Mérnökinform atikus
ABC123
3
Műszaki menedzser
ABC123
4
Mérnök informatikus
UTT222
Név
DCE213
Nagy Róbert
ABC123
Kiss Ilona
UTT222
Nemes Ernő
Megjegyzés: még tovább szépíthető lenne
hallgató egyed relációvá alakítása