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