140 likes | 293 Views
Relációs adatbázissémák. Alapok Egyed-kapcsolat modellről átírás. A relációs adatmodell. Az adatokat egyszerűen reprezentálja : kétdimenziós adattáblákban Minden sor azonos számú oszlopból áll ; egy sor egy rekord , míg annak egy oszlopa egy mező .
E N D
Relációsadatbázissémák Alapok Egyed-kapcsolatmodellrőlátírás
A relációsadatmodell • Azadatokategyszerűenreprezentálja: kétdimenziósadattáblákban • Minden sorazonosszámúoszlopbóláll; egysoregyrekord, mígannakegyoszlopaegymező. • Egy-egyilyentáblábanazadatoksorokbaszervezetten, de ált. mindenrendezettségnélkülhelyezkednek el (pl. nincsenekbetűrendben, …) A FILMEKtábla rekord mező
Relációsadatbázissémák • Mielőttkonkréttáblákrólbeszélnénk, előszörazadatbázisstruktúrájátkellmeghatározni→ sémákbevezetése • Legyen Aiegyattribútum, ekkor a dom(Ai) = {érték1, …, értékm} halmaz Aiértéktartománya (∀i= 1,…,n-re.) • A korábbipéldátmeghatározósémábantehátattribútum: filmcím, év, hossz, műfaj. Példáullehet dom(év) = {z: 1800 < z < 2100, z∈ℕ} • Relációséma: attribútumokrendezett n-ese, amelyheznevetrendelünk • Megadásimód:Rel(A1, A2, …, An) • Példánknálmaradva: Filmek(filmcím, év, hossz, műfaj)
Relációsadatbázissémák • Egyadatbázisegyvagytöbbilyensémánalapul a relációsmodellben. A relációsémákbólállóhalmaztnevezzükrelációsadatbázissémának • Tegyükfel, hogyadott a Rel(A1, A2, …, An) relációséma. Ekkor a RelsémafelettirelációfogalmánolyanTRelhalmazt értünk, melyrefennáll: TRel⊆ dom(A1) ×dom(A2) × ... × dom(An). • A relációkmegvalósulása a DBMS-ekben a korábbanbevezetettadattábla, melyoszlopaiazegyesattribútumoknak, soraipedigTRelegyeselemeinekfeleltethetők meg.
Kulcsok • Azegyed-kapcsolatmodellnélmármegismertkulcsotaláhúzássaljelöljük. • AFILMEKsémaesetén pl. kulcslehet a {filmcím, év} attribútumhalmaz: Filmek(filmcím, év, hossz, műfaj) • Néhaegysémáhoztöbbkulcs is megadható. Ekkorközülükválasztunk, ésazígykiemeltkulcsazelsődlegeskulcs • Ami nemkulcs, azpedigmásodlagosattribútum • A különbözősémáktartalmazhatnakazonosattribútumokat: ígyazegyessémák (táblák) kapcsolatbanállhatnakegymással • Idegenkulcs(foreign key): azegyiksémavalamelyattribútumaegymásiksémábanelsődlegeskulcskéntszerepel
Idegenkulcs • Példáullegyenegyadottsémafelettitábla, amelyegyinternetesalkalmazásfelhasználóiadataittárolja(FELHASZNÁLÓ), valamintazegyesjogosultságokmegnevezéseitésengedélyeitegymásiktáblábaírjuk (JOGKÖR) Felhasználó(id, név, reg_dátum, jogosultság) Jogkör(jogosultság, megnevezés, olvashat_e, írhat_e, törölhet_e)
egyed-kapcsolatmodellbőlátírás • Egyegyedhezfelveszünkegyrelációsémát: Árucikk(id, név, egységár) • Gyengeegyed: sémájátbővítjük a meghatározókapcsolat(ok)ban résztvevőegyed(ek) kulcsával id Árucikk név egységár
Egyed-kapcsolatmodellbőlátírás • Összetettattribútum: szétbontjukelemi attribútumokra • Többértékűattribútum: • egyértékűattribútumként • Például: Könyv(ISBN, Cím, Szerző), és a rekordokbanilyenkor a Szerzőmezőbe a szerzőkfelsorolásakerül, pl. “Ullman, Widom”. Keresésazadatbázisban? • sorismétlés • újsémafelvétele: Könyv(ISBN, Cím) ésSzerző(ISBN, Szerző) (Nem fog ismétlődni a cím) ISBN Könyv Szerző Cím Redundancia!
Kapcsolatokleképezése • 1:1 – az egyik sémát (tetszőleges, hogy melyiket) bővítjük a másik kulcsával és a kapcsolat attribútumaival • 1:N – az N oldali egyedhez tartozó sémát bővítjük az 1 oldali egyed kulcsával és a kapcsolat attribútumaival • N:M – új sémát veszünk fel (benne: egyedek kulcsai, kapcsolat attribútumai) • A kapcsolatoknak is létezhetnek attribútumai. Ezeket a kapcsolat leképezésekor bővülő sémában vesszük fel. • Megjegyzés. Néhány ritka esetben az új séma felvétele mellett érdemes dönteni akkor is, ha 1:N vagy 1:1 kapcsolat áll fenn.
Specializálókapcsolatleképezése Terem Szám Vetítő • Háromlehetőségadódik • Teljesenfüggetlensémák Terem(Szám,Vetítő) Gépterem(Szám, Vetítő, Gépekszáma) Tanterem(Szám, Vetítő, Férőhely) • Nyilvántartás a főtípusban, különsémák Terem(Szám, Vetítő) Gépterem(Szám, Gépekszáma) Tanterem(Szám, Férőhely) • Egynagysémafelvétele, definiálatlan (NULL) értékek a táblában Terem(Szám, Vetítő, Gépekszáma, Férőhely) Gépterem Tanterem Gépekszáma Férőhely
Specializálókapcsolatleképezése • Mindháromlehetőségproblémásbizonyosszempontokból • Függetlentáblák: kereséskörülményes (alkalmas SQL parancsmegfogalmazásanehéz!), kombinálttípusoknemábrázolhatók • Egyőstábla, és a speciálisattribútumokatkiemelőaltáblák: szinténszükségeslehettöbbtáblábankeresni • Egynagy, közöstábla: sok NULL érték, típusinformációelvesztése (felvehetőegytípusattribútum!)
Feladat • (Azelsődolgozatbanvalószínűlegilyenjellegűfeladat is lesz) 3.1. Alakítsdát a következő E-K diagramotrelációsadatbázissémává: Kiadásiév Kiadókód Cím Kiadja Szerző Név Kiadó Könyv Cím ISBN IRSZ Város Utca HSZ
FELADAT 3.2 Alakítsdátrelációsadatbázissémává: Polcokszáma Név tulaj-donos Szem. szám Dolgozó Szekrény KartotékE Szül. dát. résztvesz meg-rendeli Ügyfél Projekt Név Kezdődátum Azonosító Név Telefon
Folytatásakövetkezik Köszönöm a figyelmet!