A következőkben az EER modellbeli konstrukciók relációs sémákra történő leképezését tárgyaljuk a 7.1.1. alfejezetben ismertetett ER-ről relációsra történő leképezési algoritmus kibővítésével.
Számos módszer létezik az olyan alosztályok leképezésére, amelyek együtt egy specializációt alkotnak (vagy másképpen, amelyek generalizálva vannak egy szuperosztályba), mint például a 4.4. ábrán látható DOLGOZÓ-nak a {TITKÁR(NŐ), TECHNIKUS, MÉRNÖK} alosztályai. Hozzáadhatunk egy további lépést a 7.1.1. alfejezetben leírt ER-ről relációsra történő leképezési algoritmusunkhoz, amely a specializációk leképezését kezeli. A 8. lépés a legelterjedtebb opciókat mutatja be; más leképezések is lehetségesek. Megadjuk azokat a feltételeket, amelyek teljesülése esetén az egyes opciók használhatók. Az Attrs(R) jelölést az R relációséma attribútumainak, PK(R)-et pedig az R elsődleges kulcsának a jelölésére fogjuk használni. Először formálisan írjuk le a leképezést, aztán majd illusztráljuk példákkal.
Lehetőségek specializációk és generalizációk leképezésére. Konvertáljunk át relációsémákká minden C (generalizált) szuperosztállyal és m darab, {S 1, S 2, …, Sm } alosztállyal rendelkező specializációt, ahol C attribútumai {k, a 1, …, an } és k az (elsődleges) kulcs, a következő lehetőségek szerint:
8A opció: Több relációséma — szuperosztály és alosztályok. Hozzunk létre egy L relációsémát a C számára Attrs(L) = {k, a 1, …, an } attribútumokkal és PK(L) = k elsődleges kulccsal. Hozzunk létre egy Li relációsémát minden egyes Si alosztályhoz (1 < i < m) Attrs(Li ) = {k} ∪ {Si attribútumai} attribútumokkal és PK(Li ) = k elsődleges kulccsal. Ez a lehetőség mindeféle specializáció esetén (totális vagy részleges, kizáró vagy átfedő) működik.
8B opció: Több relációséma — csak alosztály relációsémák. Hozzunk létre egy Li relációsémát minden egyes Si alosztályhoz (1 < i < m) Attrs(Li ) = {Si attribútumai} ∪ {k, a 1, …, 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 (minden szuperosztálybeli egyednek legalább egy alosztályhoz kell tartoznia). Ha a specializáció átfedő, egy egyed több relációban is felbukkanhat.
8C opció: egyetlen relációséma egy típus attribútummal. Hozzunk létre egy L relációsémát Attrs(L) = {k, a 1, …, an } ∪ {S 1 attribútumai} ∪ … ∪ {Sn attribútumai} ∪ {t} attribútumokkal és PK(L) = k elsődleges kulccsal. A t-t típus (vagy diszkrimináló) attribútumnak nevezzük, amely jelzi azt az alosztályt, amelyhez az egyes rekordok tartoznak, ha van ilyen egyáltalán. Ez a lehetőség csak olyan specializáció esetén működik, amely kizáró, és fennáll a veszélye annak, hogy sok NULL értéket generál, ha sok saját attribútum szerepel az alosztályban.
8D opció: egyetlen relációséma több típus attribútummal. Hozzunk létre egy L relációsémát Attrs(L) = {k, a 1, …, an } ∪ {S 1 attribútumai} ∪ … ∪ {Sn attribútumai} ∪ {t 1, t 2, … tm } attribútumokkal és PK(L) = k elsődleges kulccsal. Minden ti (1 < i < m) logikai típusú típus attribútum, amely azt jelzi, hogy egy adott rekord az Si alosztályhoz tartozik-e. Ez a lehetőség olyan specializációk esetén is működik, amely átfedő alosztályokat tartalmaz (de nyilván működik kizáró specializációk esetén is).
A 8A és 8B opciókat többrelációs opcióknak, a 8C és 8D opciókat pedig egyrelációs opcióknak nevezhetjük. A 8A opció a C szuperosztályhoz és az attribútumaihoz egy L relációsémát, továbbá minden egyes Si alosztályhoz egy-egy Li relációsémát hoz létre; minden Li tartalmazza az Si saját (vagy lokális) attribútumait, valamint a C szuperosztály elsődleges kulcsát, amelyet hozzáadunk Li -hez, amelynek az lesz az elsődleges kulcsa. Egyúttal a szuperosztály relációsémájára hivatkozó külső kulcs is lesz. Bármelyik Li és L között, az elsődleges kulcs alapján végrehajtott equijoin művelet előállítja az Si -beli egyedek összes saját és örökölt attribűtumát. Ezt az opciót a 7.5. (a) ábra illusztrálja a 4.4. ábrán látható EER séma leképezésével. A 8A opció a specializáció bármilyen megszorításával működik: kizáró vagy átfedő, totális vagy részleges. Vegyük észre, hogy a
| π〈k〉(Li ) ⊆ π〈k〉(L) |
megszorítás minden egyes Li -re fennáll. Ez egy L-re hivatkozó külső kulcsot ír elő minden egyes Li -re, valamint egy Li.K ≤ L.K tartalmazásfüggést is definiál (lásd a 9.5. alfejezetet).
7.5. ábra - A specializációk és generalizációk leképezésének lehetőségei. (a) A 4.4. ábrán látható EER séma leképezése a 8A opcióval. (b) A 4.3. (b) ábrán látható EER séma leképezése a 8B opcióval. (c) A 4.4. ábrán látható EER séma leképezése a 8C opcióval. (d) A 4.5. ábrán látható EER séma leképezése a logikai típusú Gyjelző és Vjelző típus mezőkkel.

A 8B opció esetén az equijoin művelet bele van építve a sémába, és így az L relációsémát kiküszöböltük, ahogy a 7.5. (b) ábrán látható, amely a 4.3. (b) ábra EER specializációjának a leképezését mutatja. Ez az opció csak akkor működik jól, ha a specializáció egyszerre kizáró és totális. Ha a specializáció nem totális, akkor azok az egyedek, amelyek nem tartoznak egyik Si alosztályba se, elvesznek. Ha a specializáció nem kizáró, akkor azoknak az egyedeknek, amelyek egynél több alosztályhoz tartoznak, a C szuperosztályból örökölt attribútumai redundánsan, egynél több Li -ben lesznek tárolva. A 8B opció esetén egyetlen reláció sem tartalmazza a C szuperosztály összes egyedét; emiatt egy külső összekapcsolás (vagy teljes külső összekapcsolás) műveletet kell alkalmaznunk az Li relációira, hogy megkapjuk a C szuperosztály összes egyedét. A külső összekapcsolás eredménye hasonló lesz a 8C és 8D opciókkal kapott relációkhoz, kivéve hogy nem lesznek típus mezők. Ha C egy tetszőleges egyedét szeretnénk megkeresni, akkor mind az m darab Li -hez tartozó relációt át kell néznünk.
A 8C és 8D opciók egyetlen relációsémát hoznak létre a C szuperosztálynak és az összes alosztályának reprezentálására. Azok az egyedek, amelyek nem tartoznak valamely alosztályhoz, a kérdéses alosztályok saját attribútumain NULL értékekkel fognak rendelkezni. Ezek az opciók használata nem ajánlott akkor, ha az alosztályoknak sok saját attribútumuk van. Ha azonban kevés saját attribútum létezik, ezek a leképezések előnyösebbek a 8A és 8B opciókhoz képest, mert nem szükséges equijoin és külső összekapcsolás műveleteket megadni, és emiatt hatékonyabb implementációt érhetünk el.
A 8C opció kizáró alosztályok kezelésére használható egy t típus (vagy diszkrimináló) attribútum bevezetésével, amely azt jelzi, hogy az egyes rekordok melyik alosztályhoz tartoznak; t tartománya így az {1, 2, …, m} halmaz lehet. Ha a specializáció részleges, t NULL értékkel fog rendelkezni az olyan rekordokban, amelyek egyetlen alosztályhoz sem tartoznak. Ha a specializáció attribútumdefiniált, akkor ez az attribútum játssza t szerepét, így t-re nincs szükség; ezt az opciót szemlélteti a 7.5. (c) ábra, amelyen a 4.4. ábra EER specializációjának leképezése látható.
A 8D opciót arra tervezték, hogy átfedő alosztályokat kezeljen m darab logikai típusú típus mező bevezetésével, minden egyes alosztályhoz eggyel. Használható kizáró alosztályok esetén is. A ti típus mezők az {igen, nem} tartománnyal rendelkezhetnek, ahol az igen érték jelzi, hogy az adott rekord az Si alosztály tagja. Ha a 4.4. ábra EER specializációjára ezt az opciót alkalmaznánk, három típus attribútumot vezetnénk be (Titkár(nő)_e, Mérnök_e, Technikus_e) a 7.5. (c) ábrán látható Munkakör attribútum helyett. Megjegyezzük, hogy az m darab típus mező helyett elegendő egyetlen, m bitből álló típus attribútumot is létrehozni.
Ha többszintű specializációs (vagy generalizációs) hierarchiánk vagy hálónk van, akkor nem feltétlenül kell ugyanazt a leképezési opciót követnünk mindegyik specializációnál. Ehelyett a hierarchia vagy háló egyik részére az egyik leképezési opciót használhatjuk, míg más részeire másokat. A 7.6. ábra a 4.7. ábrán látható EER háló relációsémákra történő egy lehetséges leképezését mutatja. Itt a 8A opciót használtuk a SZEMÉLY/{DOLGOZÓ, ÖREGDIÁK, HALLGATÓ}, a 8C opciót a DOLGOZÓ/{IRODAI_DOLGOZÓ, OKTATÓ, DEMONSTRÁTOR}, míg a 8D opciót a DEMONSTRÁTOR/{SEGÉDKUTATÓ, SEGÉDOKTATÓ}, a HALLGATÓ/DEMONSTRÁTOR (a HALLGATÓ relációsémában) és a HALLGATÓ/{VÉGZŐS_HALLGATÓ, NEM_VÉGZŐS_HALLGATÓ} specializációk leképezéséhez. A 7.6. ábrán minden olyan attribútum, amelynek a neve típusra vagy jelzőre végződik, típus mező.
Az osztott alosztály, mint amilyen a 4.7. ábrán látható MÉRNÖK_IGAZGATÓ, több szuperosztály alosztálya, amely többszörös öröklődést jelez. Ezen osztályok mindegyikének ugyanazzal a kulcs attribútummal kell rendelkeznie; máskülönben az osztott alosztályt kategóriaként modelleznénk. Az osztott alosztályokra a 8. lépésben ismertetett bármelyik opciót alkalmazhatjuk, figyelembe véve a leképezési algoritmus 8. lépésében tárgyalt megkötéseket. A 7.6. ábrán a 8C és 8D opciókat használtuk a DEMONSTRÁTOR osztott alosztály leképezéséhez. A 8C opciót a DOLGOZÓ relációsémában (Dolgozó_típus attribútum), a 8D opciót pedig a HALLGATÓ relációsémában (Demonstrátor_jelző attribútum) használtuk.
A kategóriák kezelésére egy további lépést (9. lépés) adunk a leképezési eljárásunkhoz. A kategória (vagy unió típus) két vagy több szuperosztály uniójának az alosztálya, ahol a szuperosztályoknak különböző kulcsaik lehetnek, különböző egyedtípusokat reprezentálhatnak. Példa rá a 4.8. ábrán látható TULAJDONOS kategória, amely a SZEMÉLY, a BANK és a VÁLLALAT egyedtípusok uniójának részhalmaza. Ugyanezen az ábrán a másik kategória, a REGISZTRÁLT_JÁRMŰ két szuperosztállyal rendelkezik, amelyeknek ugyanaz a kulcs attribútumuk.
Az unió típusok (kategóriák) leképezése. Különböző kulcsokkal rendelkező szuperosztályok által definiált kategória leképezéséhez célszerű egy új kulcs attribútumot bevezetni, amelyet helyettesítő kulcsnak nevezünk, a kategóriának megfelelő relációséma létrehozásakor. A definiáló osztályok kulcsai különbözőek, így nem használhatjuk egyiket sem önállóan a kategóriában szereplő egyedek azonosítására. A 4.8. ábrán látható példánkban létrehozhatunk egy TULAJDONOS relációsémát, amely a TULAJDONOS kategóriának felel meg, ahogy a 7.7. ábrán látható, és felvehetjük ebbe a relációsémába a kategória összes attribútumát. A TULAJDONOS relációséma elsődleges kulcsa a helyettesítő kulcs lesz, amelyet Tulajdonos_azonnak hívunk. A Tulajdonos_azon helyettesítő kulcs attribútumot a kategória szuperosztályainak megfelelő relációsémákba is felvesszük külső kulcsként azért, hogy ezzel megadjuk a megfeleltetést a helyettesítő kulcs értékei és az egyes szuperosztályok kulcsértékei között. Vegyük észre, hogy ha egy konkrét SZEMÉLY (vagy BANK, vagy VÁLLALAT) egyed nem tagja a TULAJDONOS kategóriának, akkor a SZEMÉLY (vagy BANK, vagy VÁLLALAT) relációsémához tartozó relációban a neki megfelelő rekord Tulajdonos_azon attribútuma NULL értéket vesz fel, és nem lesz rekordja a TULAJDONOS relációsémához tartozó relációban.
Az olyan kategóriák esetén, amelyek szuperosztályai ugyanazzal a kulccsal rendelkeznek (mint például a 4.8. ábrán a REGISZTRÁLT_JÁRMŰ), nincs szükség helyettesítő kulcsra. A REGISZTRÁLT_JÁRMŰ kategória leképezését szintén a 7.7. ábra mutatja, amely ezt az esetet illusztrálja.