Adatbázisok |
||||||||||
Manapság az informatika/számítástechnika
területén szinte minden területen szembetalálkozhatunk az adatbázisok,
adattárak, adatkezelés vagy éppen az adatok definíciójával. Ebben a cikkben
megpróbáljuk kissé körüljárni ezeket a fogalmakat. Az adatkezelés már a
számítástechnika "hőskorában" is fontos szerepet játszott,
napjainkban pedig az informatika egyik legfontosabb területévé vált. Aki
számítástechnikával foglalkozik, mindenképpen ismernie kell - legalább
alapszinten - az adatbázisok filozófiáját, az adatkezelés eszközeit. Adatbázis: Mit is jelent valójában ez a szó?
Mielőtt meghatároznánk az adatbázis tényleges tartalmi jelentését,
definiálnunk kell magának az adatnak a fogalmát. Adat: A
való világ dolgainak, történéseinek, jelenségeinek mérése, megfigyelése
folyamán keletkezett számok, jelek/jelsorozatok összessége. Szinte bármit
tekinthetünk adatnak, aminek valamilyen jelentéstartalma van. Adatnak
nevezhetjük pl. nevünket, születési évünket vagy akár autónk egyes
tulajdonságait (rendszám, típus, szín) is. Vannak olyan adatok, amelyek egyes
emberek számára fontos jelentéstartalommal bírnak, más emberek számára
viszont semmit sem jelentenek. Információ: Azt az adatot amelyek bizonyos emberek
számára valamilyen fontos jelentéstartalmat hordoznak, információnak
nevezzük. Az információ tehát adatokból épül fel, ezért jóval többet
"ér" mint az adat. Az egyes adatok között
nagyon könnyen fedezhetünk fel, vagy hozhatunk létre bizonyos kapcsolatokat.
Előző autós példánknál maradva a három adatból (rendszám, típus,
szín) a rendőrség saját adatbázisából nagyon könnyen megtalálhat minket,
ha pl. közlekedési szabálysértést követtünk el. Adatbázisnak tehát az adatokat és az adatok között
lévő kapcsolatokat nevezzük. Az adatok egymással
valamilyen szorosabb, vagy lazább kapcsolatban állnak. Ha
pl. egy pénzügyi adatbázis (pl. egy bank) rendszerére gondolunk, akkor
rengeteg kapcsolatot határozhatunk meg az egyes adatok között. (Hogy ezek
milyenek lehetnek, arra hamarosan rátérünk.) |
||||||||||
Adatbáziskezelő rendszerek (DBMS) |
||||||||||
Az adatbázisok fontos erőforrások egy
vállalat, szervezet életében. Erről azt hiszem, nem is kell
győzködnöm az olvasót. Maga az adatbázis viszont még önmagában nem sokat
ér. Ahhoz, hogy adatokat tudjunk lekérdezni, felvinni vagy éppen módosítani,
kell valamilyen szoftvert (programnyelvet) megadnunk hozzá, hogy ezek a
műveletek elvégezhetővé váljanak. Ezt a szoftvert nevezzük
adatbáziskezelő rendszernek (DataBase Management System, továbbiakban:
DBMS). A DBMS-nek alapvetően két fontos funkciója van: ˇ
Adatbázis létrehozása (struktúrájának/felépítésének meghatározása) és
feltöltése adatokkal, ˇ
valamint az adatok lekérdezése. Hogyan lehet ezeket
megvalósítani? Az adatbáziskezelők tartalmaznak fájlkezelőket (file
manager), amelyek az adatbázisok logikai szerkezetét hozzák létre és adatokat
képesek felvinni, majd ezeken az adatokon műveleteket végrehajtani. Ez a
fájlkezelő tartja nyilván az adatok fizikai helyét az adatbázisban a
köztük lévő kapcsolatokkal együtt. Erre a célra szolgál a fájlkezelőben
elhelyezkedő adatszótár (Data Dictinonary). A lekérdező nyelvek
olyan interaktív eszközök, amelyek segítségével "párbeszédet"
folytatunk a rendszerrel. Ugyanakkor egyes modern
adatbáziskezelő rendszerek (mint pl. az SQL Server, Oracle, Paradox stb.)
további fontos funkciókat is ellátnak, úgymint: ˇ
Adatvédelem, adatbiztonság: Ezen funkció segítségével határozhatjuk meg
azokat a nagyon fontos szabályokat, hogy az egyes adatokhoz mely személyek
férjenek hozzá, kik azok akik adatot vihetnek fel, vagy mely felhasználóknak
van joguk meglévő adatokat módosítására. ˇ
Integritási feltételek teljesülésének figyelése: Gyakran
előfordul, hogy csak bizonyos feltételeknek megfelelő adatokat
vihetünk fel az adatbázisba. Ilyen az, amikor egy autós adatbázisba az adott
gépkocsi színének meghatározásakor csak betűket fogadhatunk el adatként,
vagy éppen bankszámlánk is csak meghatározott számú karakterből állhat. ˇ
Szinkronizáció: Ez tulajdonképpen nem jelent mást, mint amikor egyszerre két, vagy
több olyan felhasználó fordul ugyanahhoz az adathoz. Az egyik éppen
módosítani, míg a másik lekérdezni szeretné egyszerre ugyanazt. Ez
természetesen egy időben nem megengedhető. Ezeknek a ún.
"holtpont" helyzeteknek a megoldása a szinkronizáció fontos
feladata. Ugyanakkor az egyes, egymástól különálló adatbázisok is
folytathatnak egymással szinkronizációt, amikor egyes adataikat a másik
adatbázisából lekérdezve frissítik. (ld. tőzsdei adatbázisok) ˇ
Naplózási feladatok elvégzése: Más néven statisztika készítése az
DBMS-ben végbement összes változásról, műveletek elvégzéséről. ˇ
Mentés, visszaállítás: Hardver vagy egyéb, előre nem kiszámítható hiba folyamán
bekövetkezett esemény ne vezessen oda, hogy adatok vesznek el. (Ez utóbbi két
funkció nagyon fontos a biztonságos üzemeltetés szempontjából.) Természetesen
az egyes DBMS-ek jóval több funkciót is tartalmazhatnak (pl.
programfejlesztési környeztet támogatását), de ezzel most egyenlőre nem
foglalkozunk. Térjünk vissza az adatbázisokhoz. |
||||||||||
Adatmodellek
alkotóelemei |
||||||||||
Foglaljuk össze, hogy mit tudunk eddig: Az adatbázis adatokból és a
közöttük lévő kapcsolatokból épül fel. Az adatok pedig különböző
tulajdonságokkal rendelkeznek. Éppen ennek az összefüggésnek a felismerése
vezette a szakembereket arra, hogy olyan struktúrákban, másnéven
adatmodellekben kezdjenek el gondolkodni, amely olyan szabványos nyelvek,
struktúrák kezelését teszi lehetővé, amelyekkel teljesen különböző
adathalmazok is könnyen kezelhetővé váljanak. Egy adatmodell is
elemekből épül fel. Melyek ezek az adatmodell-elemek? ˇ
Egyed, ˇ
Tulajdonság ˇ
Kapcsolat Nézzük meg ezt a hármas
felépítést kicsit alaposabban is. Az adatmodell tehát egy olyan sémának
tekinthető, amely meghatározza, hogy milyen egyedek találhatóak benne, ezeket
milyen tulajdonságokkal lehet leírni, és ezen egyedek között milyen
kapcsolatokat lehet létrehozni. Nézzük meg az
előbb definiált adatmodell építő-elemeit: Egyed: Egyednek nevezünk minden olyan dolgot (objektumot), amely minden más
egyedtől (objektumtól) jól megkülönböztethető és amiről
adatokat tárolunk. (Ez a legkisebb egysége az adatbázisnak, amire hivatkozni
lehet.) Egyed lehet pl: egy
autó vagy egy személy amelynek jól meghatározható tulajdonságai vannak. A
több azonos egyed által képviselt konkrét elemek halmazát nevezzük
egyedhalmaznak. Pl az autók egyedhalmazát alkotja az összes autó egyed, vagy
éppen a személyek egyedhalmazást az összes személy egyed. FONTOS !!! Egyes
adatbáziskezelő rendszerekben az egyedet REKORDnak nevezik. Később
mi is ezt a kifejezést fogjuk alkalmazni, de az adatmodellek általános
ismertetésénél még az egyed fogalmát használjuk. Vizsgáljuk meg az
egyedek jellemzőit! A tulajdonság (idegen szóval: attribútum)az egyed egy
jellemzője, amely meghatározza az egyed egy részletét. Válasszunk ki a
személyek egyedhalmazból egy képzeletbeli személyt (Adat Aladár) és
vizsgáljuk meg, hogy az adott személy attribútumai milyen speciális
tulajdonságtípusok lehetnek: Adat Aladár
Az egyedeket tehát tulajdonságokkal írjuk le,
amelyek jól meghatározzák az egyed egy részletét. Amennyiben
egy tulajdonság egyértelműen képes meghatározni, hogy az adatbázis mely
egyedéről van szó, akkor ezt a tulajdonságot kulcsnak nevezzük. Nézzük
meg a fenti példát. Melyik tulajdonság lehet a kulcs? Egyértelmű, hogy a
személyi szám, mert az minden embernek más és más. A tulajdonságok között
lehetnek többértékűek (egy személynek egyszerre több végzettsége is
lehet), és lehetnek összetettek, mint pl a lakcím, ahol több rész-attribútum
alkot egy egész-tulajdonságot. |
||||||||||
Az egyedek közötti kapcsolat |
||||||||||
A kapcsolat tehát nem
más, mint az egyedek közötti viszonyt kifejező érték. Egy kapcsolat
nemcsak két, hanem egyszerre több egyed között is létrejöhet. Lássuk melyek a
kapcsolat leggyakoribb fajtái: ˇ
Egy-egy kapcsolat esetén minden egyedhalmaz egy egyede pontosan egy
másik egyedhalmaz egy eleméhez kapcsolódik. (Ilyen az amikor személyi számok
egyedhalmazból egy személyi szám pontosan köthető a személyek
egyedhalmaz egy konkrét személyéhez.) ˇ
Egy-több kapcsolat esetén egy egyedhalmaz egy eleme a másik
egyedhalmaz több eleméhez is köthető. Pl. a vállalatok egyedhalmaz egy
eleme a személyek egyedhalmaz több eleméhez is köthető, mivel egy
vállalatnál több személy is dolgozik. ˇ
Több-több kapcsolat esetén egy egyedhalmaz egy eleme a másik
egyedhalmaz több eleméhez is köthető, és ez visszafelé is igaz. Legyen
egy autók és egy színek egyedhalmazunk. Egy autó természetesen több színhez
is köthető, de ugyanez fordítva is igaz, mert pl. kék színű több
autó is lehet. Mostanra ennyit az adatbázisok általános
ismertetéséről. A következő cikkben lesz szó a hálós és hiearchikus
adatmodellről és bemutatom a mai modern adatbáziskezelő rendszerek
alapjait alkotó relációs adatmodellt is. |
||||||||||
Kiszely
Gábor |