• Nem Talált Eredményt

Az entity relationship modell

When I visited the ship, the hands were out on deck

2. Műveletek halmaza, amelyekkel végre tudjuk hajtani a megkívánt tevékenységeket az adatok

1.5 A szemantikus adat modellek bevezetésének i.ndokai Most pedig lássunk néhány indokot, amelyek a szemantikus

2.3.1 Klasszikus modellek közvetlen kiterjesztései

2.3.1.1 Az entity relationship modell

Ez a modell CCH'761 a legjobban elismert továbbfejlesz­

tése a klasszikus modelleknek, és ezen modell terminoló­

giája tcibbé-kevésbé szabványosnak tekinthető a szakiro­

dalomban, és mi is ezt használtuk az 1.pontban, ahol az adatmodellek általános jellemzőit ismertettük.

Tehát ennek a modellnek a jelentősége óriási, azonban mivel a számitiigéptudományban általánosan ismert, így c sak váz l at osan i smertétjük.

Ebben a modellben két tipusu információhordozó van, egyrészt az entity-k, másrészt az ezek között fennálló kapcsolatok.

Magát az entity fogalmát nem definiáljuk (hasonlóan a matematikai halmaz fogalmához), ez egy mindent magába

foglaló elnevezés: minden, aminek objektív léte van, vagy képesek vagyunk rá világosan gondolni, tekinthető egy entity—nek. Modellünkben az adathordozó objektumok

az entity-k lesznek.

Bizonyos entity-ket hasonlóknak tartunk» ezt ügy tudjuk kifejezni» hogy azonos típusba tartoznak. Itt az entity tipust inkább entity halmaznak nevezzük.

Ezen entity halmazoknak nem kell di sz junktoknak lenniük, azaz egy adott entity halmazok között fennállhat az ál tálánosítás/specializáció kapcsolat, tehát lehet, hogy egy speciálisabb enetity-halmáz része az általánosabb ént i ty-halmaznak.

Az entity-k tulajdonságainak leírására az attribútumok szolgálnak, itt egy attribútum egy tulajdonságot jelöl.

Egy attribútum egy függvény egy éntity-halmáz és a szóbajövö attribútum értékek halmaza között, ahol az utóbbit az illető attribútumhoz tartozó érték-halmaznak nevezzük. Bizonyos attribútumok lehetnek többértéküek, azaz az illető érték-halmaz egy részhalmazát jelölik ki.

Természetesen előfordulhat, hogy különböző attributumok- hoz ugyanaz az értékhalmaz tartozik, várható, hogy az

"egészek" érték-halmaz több, numerikus jellegű attribú­

tumhoz fog tartozni.

Az entity-k közötti kapcsolatok leírására az entity- halmazok közötti relációk szolgálnak, azaz ebben a modellben egy kapcsolat egy névvel kitüntetett matematikai reláció bizonyos éntity-halmázok között, amelynek egy eleme (azaz az entity-k egy n-ese) a kapcsolat egy eleme, vagy megvalósulása. A relációk teljesen általánosak lehetnek, tehát lehetnek több mint kétváltozósak, és a hierarchikus és hálózatos adatmodellekre jellemző megszorításokat (azaz, hogy egy

kapcsolat egy rögzített komponense csak egyértelmű, lehet) sem tételezzük fel.

A kapcsolat megadásánál lehetőségünk van arra» hogy jelezzük az adott reláció adott komponensében a megengedett entity—k maximális számát, és így módunkban áll az alkalmazás szempontjából fontos, speciális eseteket megjelölnünk, pl. az előző esetet, amikor az egyik komponensnek egyértelműnek kell lennie.

Az alkotó entity-knek egy reláción belül lehet egy bizonyos szerepük, pl. a "főnök-beosztott" kapcsolat egy reláció a "személy" és újra a "személy éntity-halmáz között, ahol az első komponens szerepe a "főnök", a másodiké a "beosztott". Ezeknek a szerepeknek a megadására is természetes mód van a séma megadásakor.

Lehetőségünk van arra is, hogy bizonyos kapcsolatokat rekurzívan adjunk meg, természetesen ennek csak akkor van értelme, ha a megfelelő entity típusok azonosak. Az előző példánál maradva elég csak csak a közvetlen főnők- beosztott kapcsolatokat megadni - például ősztályvezetö- mun kát ár s , f óosz t á l y vez et ő-osz t á l y vez et ő>, igazgat ói- f ő- osztályvezetö és a rendszer ebből rekurzívan felépiti a teljes főnök-beosztott kapcsolatot.

Egy olyan attr ibutomot, vagy attri but ontok egy olyan halmazát, amelyek értéke egyértelműen meghatározza a hozzájuk tartozó entity-t az entity halmazon belül kulcsnak nevezünk. Jogunk van bármilyen entity halmazhoz egy kulcsot definiálni (például egy személyi nyilván­

tartásban természetesen kínálkozik a személyi szám, mint kulcs), azonban nem követeljük meg, hogy legyen kulcs

minden entity halmazhoz/ sót az is el ö fordul hat, hogy van egy olyan entity halmazunk, amelyben két különböző ént i ty minden attribútuma egyenlő. Természetesen a mo­

dellen belül valahogyan meg kell különböztetni ezt a két elemet, de előfordulhat, hogy ez csak a különböző kap­

csolataikon keresztül lehetséges CTL182,8.feje­

zete Az ott szereplő példa egy orvosi nyilvántartás, amelyben szerepelnek a diagnózishoz szükséges rutinvizs­

gálatok leirásai, például egy vércukor teszt végrehajté.- sának módja. Ezt az entity halmazt sok entity alkotja - nevezetesen az egyes betegeken végrehajtott konkrét tesztek de ezek tulajdonságai mind azonosak, csak a mondjuk "beteg" entity-kkel való kapcsolatuk más.)

Ezen modellen belül lehetőségünk van még az ügynevezett gyenge éntity-halmázok létrehozására, amelyekbe tartozó entity-k csak akkor létezhetnek, ha egy megadott kapcso­

laton keresztül létezik rájuk hivatkozás. ( A személyi szám entity halmazba csak azok a számok tartoznak, ame­

lyekre történik hivatkozás a személy entity halmazból. ) Az entity-relationship modell sémáját a következő szemléletes módon tudjuk összegezni, és megjeleniteni : A sémát egy ábrába rajzoljuk fel, amelyet entity-rela­

tionship diagramnak nevezünk.

Ebben az ábrában a téglalapok entity halmazokat jelké­

peznek, és a téglalapra ráírjuk az illető entity halmaz nevét.

Az attribútumok érték-halmazait körként rajzoljuk le, és egy éllel ös s z e k ö t j ü k a z on entity fi a l m a z o k kai, a m e l y e k

-ben ez az attribútum szerepel.

A kapcsolatokat álló rombuszként jelenítjük meg, ame­

lyet éllel kötünk össze a relációt alkotó entity halma­

zokkal , amely élekre ráírhatjuk az entity esetleges szerepét a kapcsolaton belül. Arra is van mód, hogy az élen számmal jelezzük az adott reláción belül megenge­

dett maximális különböző értékek halmazát. így például 1 jelöli az egyértelmű, komponenst, N jelöli azt, hogy ni nes megsz or i t ás.

Az entity-relationship modell egy igen általános módot ad a modell elkészítésére, és nagy népszerűsége annak köszönhető, hogy általánosan elfogadott, hogy a fenti entity fogalom,/ és a közöttük fennálló kapcsolatok ter­

mészetes modellezési eszközök. Ezen modell legnagyobb hiányossága a dinamikus megszorítások - azaz a műveletek támogatásának - hiánya, másrészt nincsenek a kapcsola­

tok közötti viszony leírására sem eszközök. A modell továbbfejlesztésében C például SH'783 már kínálnak ezek­

re a problémákra megoldást.

2.3. 1.2. A strukturális modell

Ez a modell CWE'803 a relációs adatmodell továbbfej­

lesztése, és felépítésében sok vonást átvett az entity- relationship modellből.

Ezen modell rnegal kotásásban alapvető szempont volt az, hogy a relációs adatmodell azon szabadsága, amivel a az adatobjektumokat és a közöttük fennálló kapcsolatokat ugyanazzal a formalizmussal (az n-változós relációkra

hal mázéi rnél et t el és kalkulussal)

épülő halmazelmélettel és kalkulussal) kezelhetjük inkább káros, mint előnyős. így ebben a modellben felté­

telezzük az attribútumok értékhalmazainak létét, és az objektumokat az ezekből alkotott relációk jelentik. Az objektumok közötti kapcsolatot egy egészen más szó, a kapcsolat (connection) jelöl, amely szintén egy matema­

tikai reláció, de a formalizmus segiti a világos megkü- lönbózt et ést.

A modellben pontos előírásokat találunk arra, hogy az attribútumok milyen relációi jelölhetnek adatobjektumot, nevezetesen öt tipusa van az ilyen relációknak. Például

lehető'ség van arra, hogy egy objektum tipuson belül az adatobjektumokat alkotó relációk paritása ( változóinak száma ) ne legyen egyenlő, ez teljesen üj vonás. Például a gyerekek számától függetlenül egy elemmel az apja(apa,

fiül, fiÜ2,...,fiün)-nel le tudjuk Írni az apa fiü kap­

csolatokat. Lehetőség van arra is, hogy a nagyon fontos, kétváltozós egy-egyértelrnü relációkat - amelyeket itt lexikonnak hi vünk - külön kezeljük.

Az objektumok közötti kapcsolatok felépítésében is meg­

van ez a precizitás. Például, természetes mód van arra, hogy az attribútumokból felépített kulcs segítségével bizonyos esetekben egy kapcsolat tulajdonosát definiál­

juk, ez a CODASYL megközelítés megvalósítását segiti.

Ezek a részletes előírások segítik az adatbázis tervezé­

sét, és megadják a szükséges pontosságot a modell keze- léséhez.

189