EER Flashcards
Osztály
Egy osztály egyedek egy halmaza vagy kollekciója; magában foglal minden olyan az EER sémabeli szerkezetet, amely egyedeket csoportosít, például egyedtípusokat, alosztályokat, szuperosztályokat és kategóriákat.
Alosztály, szuperosztály
Egy egyed előfordulásainak olyan részhalmazát, amelynek elemei a teljes halmazra jellemző tulajdonságoknál több attribútummal rendelkeznek alosztálynak (S), míg a teljes halmazt szuperosztálynak (C) nevezzük.
Specializáció
Egy Z = {S1, S2, … ,Sn} specializáció olyan alosztályoknak egy halmaza, amelyeknek ugyanaz a G szuperosztálya, azaz minden i = 1, 2, … , n esetén G/Si egy szuperosztály/alosztály kapcsolat.
Generalizáció
G-t generalizált egyedtípusnak (vagy a specializáció szuperosztályának, olykor pedig az {S1, S2, … ,Sn} alosztályok generalizációjának) nevezzük.
Predikátumdefiniált és felhasználó által definiált specializáció
C-nek egy S alosztályát predikátumdefiniáltnak nevezzük, ha egy p predikátumot írunk elő a C atribútumaira, amellyel megadjuk, hogy mely C-beli egyedek elemei S-nek; azaz S = C[p], ahol C[p] azon C-beli egyedek halmaza, amelyek eleget tesznek a p feltételnek.
Egy alosztályt, amit nem predikátummal definiálunk, felhasználó által definiáltnak nevezünk.
Attribútumdefiniált specializáció
Egy Z specializációt (vagy egy G generalizációt) attribútumdefiniáltnak nevezünk, ha egy (A = ci) predikátumot használhatunk minden egyes Z-beli Si alosztály tagságának a megadására, ahol A G-nek egy attribútuma, ci pedig egy konstans érték A tartományából.
• Ha i ≠ j esetén ci ≠ cj, és A egy egyértékű attribútum, akkor a specializáció diszjunkt lesz.
Kategória
Egy T kategória egy osztály, amely n definiáló szuperosztály (D1, D2, …, Dn, n > 1) uniójának egy részhalmaza.
EER séma leképezése relációs sémára
• Erős egyedtípusok leképezése
• Gyenge egyedtípusok leképezése
• Bináris 1:1 számosságú kapcsolattípusok leképezése
• külső kulcs használata
• összevonás
• kereszthivatkozás v. kapcsoló reláció használata
• Bináris 1:N számosságú kapcsolattípusok leképezése
• Bináris M:N számosságú kapcsolattípusok leképezése
• Többértékű attribútumok leképezése
• N-edfokú kapcsolattípusok leképezése
• Specializációk és generalizációk leképezése
• Unió típusok (kategóriák) leképezése
Specializációk és generalizációk leképezése
Konvertáljunk át minden C (generalizált) szuperosztállyal és m darab, {S1, S2, …, Sm} alosztállyal rendelkező specializációt, ahol C attribútumai {k, a1, …, an} és k az (elsődleges) kulcs, a következő lehetőségek valamelyike szerint relációsémákká:
• Több reláció – szuperosztály és alosztályok
• Több reláció – csak alosztály relációk
• Egyetlen reláció egy típus attribútummal
• Egyetlen reláció több típus attribútummal
Unió típusok (kategóriák) leképezése
Új kulcsattribútumot vezetünk be a kategória relációhoz.
Kapcsolattípus kiterjesztése
Bármilyen osztály – ne csak az egyedtípusok – részt vehessen egy kapcsolattípusban. Csak ki kell cserélnünk az egyedtípus szavakat az osztály szóra a definícióban. Az EER grafikus jelölései konzisztensek az ER-rel, mert az osztályokat is téglalapokkal reprezentáljuk.
Több reláció - szuperosztály és alosztály
Hozzunk létre egy L relációt a C számára Attrs(L) = {k, a1, … , an} attribútumokkal és PK(L) = k elsődleges kulccsal. Hozzunk létre egy Li relációt minden egyes Si alosztályhoz (1<= i <= m) Attrs(Li) = {k} U {Si attribútumai} attribútumokkal és PK(Li) = k elsődleges kulccsal.
Ez a lehetőség mindenféle specializáció esetén (totális vagy részleges, diszjunkt vagy átfedő) működik.
Több reláció - csak alosztály relációk
Hozzunk létre egy Li relációt minden egyes Si alosztályhoz (1 <= i <= m) Attrs(Li) = {Si attribútumai} U {k, a1, … , an} attribútumokkal és PK(Li) = k elsődleges kulccsal.
Ez a lehetőség csak olyan specializáció esetén működik, ahol az alosztályok totálisak.
Ha a specializáció átfedő, egy egyed több relációban is felbukkanhat.
Egyetlen reláció egy típus attribútummal
Hozzunk létre egy L relációt Attrs(L) = {k, a1, … , an} U {S1 attribútumai} U …U {Sm attribútumai} U {t} attribútumokkal és PK(L) = k elsődleges kulccsal. Diszkrimináló attribútumnak nevezzük, amely jelzi azt az alosztályt, amelyhez az egyes rekordok tartoznak.
Csak diszjunkt specializáció esetén működik.
Fennáll a veszélye annak, hogy sok NULL értéket generál, ha sok speciális attribútum szerepel az alosztályokban.
Specializáció fajtái
- Totális
- Részleges
- Diszjunkt
- Átfedő
Totális specializáció
Minden szuperosztálybeli egyednek tartoznia kell legalább egy alosztályhoz.
Jelölés: Kettős vonal
Részleges specializáció
Nem minden szuperosztálybeli egyed tartozik alosztályhoz.
Jelölés: Egyszerű vonal
Diszjunkt specializáció
Az alosztályok között nincs átfedés, azaz egy egyed csak egy alosztályhoz tartozhat
Átfedő specializáció
Egy egyed több alosztály tagja is lehet.
Erős egyedtípusok leképzése
Az egyed attribútumai relációként jelennek meg.
Gyenge egyedtípusok leképzése
Külső kulcsot használunk a gyenge egyedtípus és az azonosítóját adó erős egyedtípus összekapcsolására.