Alapfogalmak

Adatmodell

Mint láttuk, a valóság egy részét valamilyen sajátos cél elérése, vagy könnyebb elérése érdekében helyettesíthetjük valami mással. Fölmerül annak az igénye és/vagy lehetősége is, hogy adatokkal modellezzünk valamely jelenségeket, nem utolsósorban azért, mert egy megfelelő adathalmaz alkalmas lehet arra, hogy segítségével információkhoz jussunk a modellezett valóságról.

Ugyanakkor az is előfordul, hogy egy (információs) rendszer adatait, adatáramlásait, -tárolását, -feldolgozását szeretnénk modellezni, leképezni számítógépre. Akár így, akár úgy, az adatmodell fogalmának egy kézenfekvő meghatározásához jutunk el: A világ egyes részeinek elemeire nézve megnevezzük a fontos tulajdonságokat, adott szabályok szerint leírjuk összefüggéseiket, tartalmukat. Halassy Béla meghatározása szerint: „Az adatmodell véges számú egyedtípusnak, illetve azok egyenként is véges számú tulajdonság- és kapcsolattípusának a szervezett együttese.” Itt a többlet az egyébként kézenfekvő végesség hangsúlyozása, illetve a „szervezett” kitétel. Az adatmodell ugyanúgy rendszer, mint az általa modellezett valóság.

A rendszernek és határának kapcsán már leírtakat és az alapcélok, -funkciók kiszolgálásának követelményét összevetve jogosan adódik az a következtetés, amit úgy lehet megfogalmazni, hogy az adott szervezeten belül „Az adatmodell - térben és időben - mindig egy. Az adatbázis több is lehet”. Peter Chen már 1977-ben foglalkozott evvel a problémával, mint olyannal, amit már régen - írja akkor! - meg kellett volna oldani: ”Az elmúlt tíz évben az adatok logikai nézete jelentős figyelmet kapott. A legtöbb kutató azonban az adatok felhasználói nézetére összpontosította figyelmét. A vállalati adatnézet tanulmányozásának szükségességét a közelmúltig nem ismerték föl.” Chen ezen kívül azért is említést érdemel, mert neki köszönhetjük a máig általánosan használatos ER-modellt (entity-relationship model, egyed-kapcsolat modell), amit 1976-os cikkében mutatott be.

Chen ER-modellje nagyon érdekes dolog, nemcsak mert alapja a máig használatos adatmodellezési eljárások zömének, hanem azért is, mert rávilágít a „modell”, „adatmodell”, „(adat)modellezés” szavak lehetséges értelmezéseinek különbségeire. Codd az adatbázisok kezelésének egy - akkor - új modelljét alkotta meg, a relációsat, és évtizedek távlatából nézve is csodálatosan pontosan, a teljesség és a hibátlanság igényével alkotott maradandót. Chen ER-modellje ebben az értelemben nem modell, ahogyan azt Codd is megállapította:

„A relációs modellről szóló első két tanulmányom után körülbelül hat évvel Chen megjelentetett egy cikket az adatbáziskezelés egyed-kapcsolat alapú megközelítéséről. Ennek három alapvető problémája van: 1. csak a szerkezeti vonatkozásokat vizsgálta, sem az ezen szerkezeteken értelmezett operátorokról, sem a szerkezeti épség korlátairól nincs szó. Ennélfogva ez nem adatmodell. 2. Az egyedek és a kapcsolatok közötti különbség nem volt, és még mindig nincs pontosan meghatározva. Következésképp ami az egyik ember számára egyed, egy másik számára kapcsolat. 3. Még ha ez a különbséget pontosan meghatározta volna is, csak a bonyolultságot növelte volna többletteljesítmény nélkül.”

Véleményem szerint Codd részben félreérthette Chen tanulmányát. A szóban forgó cikkét Chen ugyanis így kezdi: „Egy adatmodellt, az úgynevezett egyed-kapcsolat modellt mutatom be. Ez a modell egyesíti magában a létező világ fontos szemantikus információinak egy részét. Egy különleges diagramtechnikát is bemutatok mint az adatbázistervezés eszközét.”

A dőlt betűs kifejezések alapján nyilvánvalónak látszik, hogy itt nem az adatbáziskezelés mikéntjéről (relációs vagy másmilyen) van szó, hanem adatbázisok tervezésről (azaz adatmodellezésről). Ugyanakkor rögtön a második bekezdésben Chen már arról ír, hogy az általa bemutatandó egyed-kapcsolat modell lehet az alapja a különféle „adatnézetek” (relációs, hálós stb.) egységesítésének. Eszerint Chen alapos indokot szolgáltatott Coddnak a fentebb idézett véleményéhez. Evvel együtt is Chen munkásságát, illetve szóban forgó tanulmányát nem becsülhetjük le.

Emellett csak megerősíti azt a követelményt, hogy a használt fogalmakat nagyon pontosan kell meghatározni a tudományos és a műszaki életben (is!), mert ha nem ugyanarra gondolunk, amikor ugyanazt mondjuk, abból bizony nézeteltérés, rosszabb esetben teljes fejetlenség (káosz) lesz.

Az adatmodell rendszer is, mert elemekből és azok kapcsolataiból, viszonyaiból épül fel. Éppen ezért vonatkozik az adatmodellre is mindaz, amit a rendszerekről általános érvénnyel elmondhatunk. Az elemek és azok kapcsolatainak, viszonyainak megállapítása a modell szerkezetét adja. A szerkezet mellett nem szabad megfeledkezni a korlátokról sem, az adatmodellnek ugyanis van egy korlátvonzata is. A korlátok (constraints) az adatmodell tényezőire és azok viszonyaira vonatkozó megkötések, előírások, megszorítások (kényszerek) halmaza (pl. a VÁLASZADÓ egyedtípus Életkor tulajdonságtípusa nem vehet föl negatív értéket; a hallgató csak olyan tárgy vizsgájára jelentkezhet, amelyet az adott félévben fölvett stb.). Ezek egymással is kapcsolatban állhatnak, tehát szintén rendszert alkotnak.

A modellezés során a modellezett valóságból kell kiindulni, azt kell tükrözni a vizsgálat céljának megfelelő módon. Ezen a ponton a lényeg a „mit” és nem a „hogyan”. Az adatmodellezés során nem kell, sőt nem szabad figyelembe venni a majdani megvalósítás esetleges eszközeit, azok tulajdonságait és főként korlátait. Ez ugyanis eszközfüggőséghez vezet. (Előtérben a technika, háttérben az elmélet, a modellalkotás és a szabványok.)

Az adatmodellt, az adatbázis modelljét nem szabad összekeverni az adatbáziskezelés modelljével sem. Az adatmodell szónak ugyanis lehet egy másik jelentése is, ami az adatok kezelési módjának általános alapelvét jelenti (relációs, hálós, hierarchikus, szemantikus stb.).

Az ún. százszázalékos elv (100% principle, ISO/IEC 14481) szerint az adatokra vonatkozó minden ismeretet a (fogalmi szintű) adatmodellben kell rögzíteni (adatszerű ismeretkezelési módok fejlődése). Sosem szabad az adatszerkezetet, az adatmodellt egyszerűsíteni, ha ennek a kezelőprogramok bonyolultságának növekedése az ára. Mint pl. a tárgyi felmentések 8-as érdemjeggyel való jelzése.


Lásd még (a teljesség igénye nélkül):

(MTA): Magyar Értelmez Kéziszótár. Akadémiai Kiadó, Budapest, 1982.

Halassy Béla: Adatmodellezés. Nemzeti Tankönyvkiadó Rt., Budapest, 2002.

Chen P.: The entity-relatonship model - A basis for the enterprise view of data. In: National Computer Conference, AFIPS Press, 1977.
ACM digi könyvtár (eredeti); helyben itt

Chen P.: The Entity-Relationship Model -- Toward a Unified View of Data. In: ACM Transactions on Database Systems (TODS), 1976. március, I. évf. 1. szám.
ACM digi könyvtár (eredeti); helyben itt

Szücs Ervin: Technika és rendszer. Tankönyvkiadó, Budapest, 1981. p. 39, p. 182

Szücs Ervin: Hasonlóság és modell. Mszaki Könyvkiadó, Budapest, 1972.

Falkenberg E.: Significations: The Key to Unify Data Base Management. In: Information Systems, 1976., II. évf. 1. szám

 

Vélemény

Nincs és nem is lehet.

impresszum