Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1- 4.3.fej.) (köv.héten folyt.köv. 4.4- 4.6.fej.)
Az adatbázis modellezés és adatbázisok tervezése és implementálása Elgondolások
(Relációs) Magas adatbázis szintű terv séma
(Relációs) ABKR
Adatmodellek: hierarchikus, hálós, relációs, OO, stb. 1975. ANSI SPARC REPORT - felhasználó számára jól érthető modell szükséges - 3szintű architektúra valamint a sémák 3szintje…
Magas szintű adatbázis modellek (bővebben MSc-ben lesznek tervezési modulok) - Egyed-kapcsolat (E/K) modell (1975 Chen) Grafikus ábrázolási mód, amellyel egy-egy adatbázis sémája megtervezhető. - UML (Unified Modeling Language) - ODL (Object Description Language) E/K modell csak az ideák leírását szolgálja, a köv. fázisban lesz a magas szintű modell átalakítása relációs modellé (majd az támogatja a műveleteket)
Egyed-kapcsolat modell építő elemei Egyedhalmaz: egyedek, entitások gyűjteménye minden mástól elkülöníthető, azonosítható Tulajdonságok: egyedeket tulajdonságaik jellemeznek Kapcsolatok: egyedek között kapcsolatok észlelhetők
Egyedhalmaz I.
Az egyedhalmaz szerepe hasonló az objektum-orientált nyelvekben használatos osztályok szerepéhez, csak az EK modell statikus, csak az adatok szerkezetéről szól, a rajtuk végezhető műveletekről nem (nincs metódus). Az egyedek az egyes objektumoknak felelnek meg.
Példa a jelölésre: név színészek
cím
Egyedhalmaz II.
E(A1,…, An) egyedhalmaz séma ahol: E az egyedhalmaz neve, A1,…, An tulajdonságok ( attribútumok),
dom(Ai) a lehetséges értékek halmaza, a legegyszerűbb esetben csak atomi értékek kerülhetnek szóba (de lehet pl. összetett, többértékű tulajdonság is).
E(A1,…, An) egyedhalmaz séma egy előfordulása: E = {e1,…, em} egyedek (entitások) halmaza, ahol: ei(tk) dom(Ak),
semelyik két egyed sem egyezik meg minden attribútumán.
Kapcsolatok I.
A kapcsolatok tulajdonképpen egyedhalmazok előfordulásai közötti relációk. A kapcsolatokat rombusz jelöli. A kapcsolatokhoz is tartozhatnak attribútumok. gázsi filmcím
név színészek cím
szerepel
év
filmek hossz
Kapcsolatok II.
K(E1, …, Ek, A1, …, Am) egy kapcsolat sémája, ahol: K a kapcsolat neve, E1,…, Ek egyedhalmazok sémái, A1, …, Am a kapcsolathoz tartozó attribútumok. Ha k = 2, bináris kapcsolatról, p > 2 esetén többágú kapcsolatról beszélünk. K(E1,…, Ek) sémájú kapcsolat egy előfordulása K = {(e1,…, ek) | ei Ei }.
Kapcsolatok fajtái I.
Sok-sok kapcsolat (N:N). Minden E1-beli egyedhez E2-beli egyedek halmazát rendelhetjük hozzá és fordítva. Példa: filmcím
név színészek cím
szerepel
év
filmek hossz
Kapcsolatok fajtái II.
Sok-egy kapcsolat (N:1). Egy E1-beli egyedhez több E2-beli egyed tartozhat, egy E2-beli egyedhez azonban legfeljebb egy E1-beli. Példa: filmcím
név stúdiók cím
gyárt
év
filmek hossz
Kapcsolatok fajtái III.
Egy-egy kapcsolat (1:1). Egy E1-beli elemhez legfeljebb egy E2-beli elem tartozhat és fordítva. Példa: név
név stúdiók cím
vezet
kor
elnökök fizetés
„Különlegességek” I.
Többágú kapcsolatok Példa: egy háromágú kapcsolatra példa egy kapcsolat attribútummal (4.7.ábra) fizetés
színészek
szerződés
stúdiók
filmek
„Különlegességek” II. Példa (folyt.) Kapcsolat attribútumának megszüntetése egy új egyed bevezetésével (4.8.ábra) fizetés fizetések
színészek szerződés
stúdiók
filmek
„Különlegességek” III.
Példa (folyt.) Sokágú kapcsolat kiváltása egy egyedhalmazzal és bináris kapcsolatokkal (4.9.ábra) filmek
színészek
színész
film szerződések gyártó stúdió
színész stúdió stúdiók
„Különlegességek” IV.
Egy egyedhalmaz többször is szerepel egy kapcsolatban. Példa: eredeti részek száma
folytatás
filmek folytatás
Egyed részhalmazok (alosztályok) I.
A speciális egyed részhalmaz az ősének minden kapcsolatát és attribútumát örökli. Példa: hossz színészek hang
cím
év
filmek
az-egy rajzfilmek
az-egy
fegyver
bűnügyi filmek
Egyed részhalmazok (alosztályok) II.
Az az-egy (isa) kapcsolatokat öröklődési kapcsolatnak is nevezik. Az öröklődési struktúra fát kell, hogy alkosson egyetlen gyökérelemmel. Az e egyed komponensekből épül fel, a komponensek az öröklési struktúra egyedosztályainak elemei. Ha egy e egyednek van egy E egyedhalmazhoz tartozó c komponense és a fában az E szülője az F egyedhalmaz, akkor enek kell legyen egy d komponense is az F egyedhalmazban. Továbbá a c-d párnak szerepelnie kell az E-t F-fel összekötő öröklési kapcsolatban. Az e egyed attribútumait a komponensek attribútumainak összessége alkotja, és e részt vesz mindazokban a kapcsolatokban, melyekben valamely komponense részt vesz.
Megszorítások (kulcsok) I.
Az E(A1,…, An) egyedhalmaz séma esetén az Ai1,…, Aij attribútumhalmaz szuperkulcs, ha abból, hogy tetszőleges ek, es egyedek megegyeznek a fenti attribútumokon, következik, hogy a többi attribútumon is megegyeznek, vagyis a két egyed ugyanaz (k = s). A korábbi definíció értelmében az A1,…, An attribútumhalmaz minden esetben szuperkulcs. A fenti Ai1,…, Aij attribútumhalmaz kulcs, ha bárhogy hagyunk is el egy attribútumot, a maradék attribútumhalmaz már nem lesz szuperkulcs. Más szóval: a minimális szuperkulcsok, kulcsok.
Megszorítások (kulcsok) II.
Egy-egy egyedhalmaz sémához nem csupán egy kulcs tartozhat. Ezek közül általában ki kell választanunk egyet, ez lesz az elsődleges kulcs. A többi kulcsot megjegyzésként szerepeltethetjük az ábra mellett. A különböző adatbázisrendszerekben az elsődleges kulcs megválasztása kihatással lehet a reláció tárolására, a tábla a kulcs attribútumai szerint rendezetten tárolódhat.
Megszorítások (kulcsok) III.
Az elsődleges kulcsokat aláhúzással jelölik. Példa:
filmcím
név színészek cím
szerepel
év
filmek hossz
Egyéb megszorítások
Attribútumok értéke lehet ismeretlen (NULL) vagy sem. Hivatkozási épség megszorítás. Megkövetelik, hogy a hivatkozott érték szerepeljen az adatbázisban, vagyis nem fordulhat elő például, hogy egy stúdiónak ne legyen elnöke. Példa: hivatkozási épség megszorításra név
név stúdiók cím
vezet
kor
elnökök fizetés