Bevezető
Mi is az adat?
Az adat valós objektumokról eltárolt származtatott információ. Ezek a valós objektumok többnyire nem egyedül vannak, így valós objektumok halmazáról beszélhetünk, pl. vevők cégek, akikkel-amelyekkel kapcsolatban állunk, termékek, amelyeket árulnunk.
Milyen tulajdonságokról tárolunk adatokat?
Teljesen nyilvánvaló, hogy csak azokról a tulajdonságokról tárolunk adatokat, amelyekre szükségünk van.
Általában nem tárolujuk el a vevők szeme színét, de pl. egy bűnügyi nyilvántartásban ez egy fontos információ lehet.
Felmerül a kérdés, hogy el tudjuk-e tárolni az ügyfelek (itt már nem vevőknek hívjuk a célcsoportot) szeme színét.
Nem tudjuk, mivel a szem egy nagyon bonyolult szerv. A szem színt leginkább egy szemgolyóról készült fényképpel tudjuk leírni vagy inkább a szemről készült videófelvétellel, de még ez sem tökéletes. Ezek a próbálkozások csak modellek a szemről. Mivel nem mindegy, hogy reggel vagy este vizsgáljuk a szemet, a kor sem mindegy és az is számít, hogy éppen beteg-e a szem vagy sem.
Szörszál hasogatásnak tűnik, de a lényeg, amit ezzel alátámasztatni kívánok, hogy a valóságot sosem tudjuk tárolni, mindig csak annak egy lenyomatát, egy mankót, amely segít eligazodni.
Összefoglalva: ha szemszínt tárolunk, akkor egy kódot tárolunk, amely kód mögött az áll, hogy "barna" vagy "kék", amely végül bekerül egy kódtárba és valójában azt tároljuk le, hogy 1 vagy 2.
Valós objektumok halmazai
Nem tudom pontosan minek nevezi a szaknyelv ezeket. Egyed? Entitás? Majd kiderítem és átírom, most nem ez az érdekes.
A lényeg, hogy ezeket a halmazokat csak modellezni tudjuk, pontos valójában természetesen nem tudjuk tárolni. Egy ilyen halmaznak van egy azonosítója, amely többnyire egy string, pl. "VEVŐK", de lehet egy akármilyen más bináris azonosító is, pl. egy interger, bár ez utóbbi nem célszerű.
Külön tisztázni egy Azonosító című fejezetben:
Lehet-e több azonosítója egy entitásnak?
(Nevezzük ezúttal entitásnak az objektumok halmazait.) A válasz: igen, ez egy teljesen jogos igény, pl. több nyelvű rendszerekben ez a lehetőség sokmindent megkönnyít. A lényeg, hogy ezek az azonosítók egymástól teljesen különbözőek legyenek.
A halmaz egy eleme
Ezeknek a létezőhalmazoknak egy-egy elemét nevezzük pl. "VEVŐ"-nek. és végül ennek lehetnek csak tulajdonságai (pl. név, cím, telefonszám).
Alap adattípusok
Itt kell megemlíteni az unásig ismételt primitiveket, mint integer, string, float, stb. Ezeken alapul minden, azért említettem csak meg.
Tulajdonságtípusok
A valós objektumok halmazaihoz (entitások) különböző tulajdonságtipusokat lehet felvenni. Pl. név, cím telefonszám. Vegyük pl. a cím tulajdonságot. Ez lehet egy db string, de tetszőlegesen lehet variálni. Felépülhet pl. Irányítószám, település, utca, házszám szerint. De bele lehet venni a lépcsőház, emelet, ajtót is. Ezek felbontások gyakoriak.
Kódtárak
A kódtárak primitíveken alapulnak, tipikus megvalósítása:
- egy integer azonosító
- és egy string, amelyben eltároljuk magát az adatot, pl. "barna"
Az efféle kódtár lényegében egy származtatott adattípus, amely rendkívül gyakran használatos.
A primitívek és a kódtárak nem részei az objektumoknak, legfeljebb lenyomatai azoknak, tükrözik az összességet.
Tulajdonságok közötti függőségek
Ennek alap megvalósítása a kodtar. Ahol egy integer típushoz rendelünk egy stringet. De miert ne rendelhetnenk meg valamit es még mást is. Mondjuk színeket kódtarazunk és még mellé teszünk egy booloean-t, hogy ez egy vidám szín vagy sem. A kodtarak kibovitesenek csak a fantázia és a user igények szabnak határt.
|