• Nem Talált Eredményt

Adatbázis-kezelés alapfogalmai

3. INFORMATIKAI RENDSZEREK ADATBÁZIS KEZELÉSE

3.2. Adatbázis-kezelés alapfogalmai

A korábbi elemzés alapján látható, hogy szükség van egy magasabb szintő adatkezelést biztosító adatrendszerre is. Ezen rendszerek lesznek az adatbázis kezelı rendszerek. A nagytömegő adatok igényelt szinten történı kezelését biztosító rendszereket adatbázis kezelı rendszereknek nevezik.

E témakör elsı alapvetı fogalma az adatbázis fogalma. A fogalom definícióját az adatbázisokhoz rendelhetı legfontosabb tulajdonságok megadásával írhatjuk le. Mindenekelıtt nézzük meg, mit kell tárolni az adatbázisban. Nyilvánvaló, hogy a modellezett valóságban szereplı egyedeknek és kapcsolataiknak szerepelniük kell. A felhasználó ezekkel az adatokkal fog dolgozni, ezen adatok kezelésére készülnek a különbözı felhasználói programok. Ezeket az adatokat szokás tényleges, elsıdleges adatoknak is nevezni. Az adatkezeléssel szemben felállított követelmények kielégítéséhez ezen adatok önmagukban nem elegendıek, gondoljunk csak arra, hogy a hatékony adatkeresés indexstruktúrát vagy hash szerkezetet igényel, vagy például az adatvédelem biztosításához szükség van a hozzáférési jogok tárolására és az adatmásolatok megırzésére. Ezek a szerkezetek az elsıdleges adatokra vonatkozó információkat tárolnak, ezért nevezik ezen adatokat metaadatoknak, tehát adatokra vonatkozó adatoknak. Ezen megfontolások alapján a következı definíciót adjuk meg:

Adatbázis: egy olyan integrált adatszerkezet, mely több különbözı objektum elıfordulási adatait adatmodell szerint szervezetten perzisztens módon tárolja olyan segédinformációkkal, ún. metaadatokkal együtt, melyek a hatékonyság, integritásırzés, adatvédelem biztosítását szolgálják. Az adatbázis szó rövidítésére gyakran használják az angol rövidítését, a DB-t.

3.3. ábra Adatbázis komponensei (KEP_A303_I_03_03) KEP_A303_I_03_03.JPG

Az adatbázisok elvileg tetszıleges méretőek lehetnek. Az elsıdleges adatok száma nullától, az üres adatbázistól, a végtelen értékig terjedhet. Az elméletileg végtelen kapacitást a gyakorlatban a rendelkezésre álló hely, vagy éppen a belsı tárolási struktúra korlátozza.

Az adatbázis, mint a fentiekbıl kitőnik, egy összetett adatstruktúrának tekinthetı. Az adatstruktúra viszont az alkalmazások passzív elemeit jelenti, és kell egy algoritmus, egy program, amellyel felhasználhatók ezek az adatok, életre kelthetık az információk. Így az adatbázishoz kapcsolódnia kell egy kezelı programnak, amit adatbázis kezelı rendszernek neveznek. Az adatbázis kezelı rendszer értelmezése jóval egységesebb, mint az adatbázis értelmezése volt.:

Adatbáziskezelı rendszer: Az a programrendszer, melynek feladata az adatbázishoz történı hozzáférések biztosítása és az adatbázis belsı karbantartási funkcióinak végrehajtása. Az adatbáziskezelı rendszer rövidítése az angol elnevezés alapján:

DBMS.

Az adatbázis kezelı rendszernek kell gondoskodnia a már korábban említett integritási, hatékonysági és védelmi feltételek megırzésérıl. Az adatbázis kezelı rendszer emiatt egy bonyolult programrendszernek tekinthetı, mely sok funkcióját, összetettségét tekintve leginkább az operációs rendszerekhez hasonlítható. Az integritási, hatékonysági és védelmi feltételek ellenırzését és betartatását az adatbázis kezelı rendszer a háttérben végzi el, mintegy a felhasználó közvetlen utasítása vagy éppen tudta nélkül. Mindez azért történik így, hogy a felhasználó véletlenül vagy szándékosan se tudja elrontani az adatbázist. Az adatbázis helyessége megırzésének fontossága miatt definíciónkban külön kiemeljük az adatbázis kezelı rendszer ezen tulajdonságát:

A DBMS és az operációs rendszer hasonlata annyiban is helytálló, hogy mindkettı egy alsó szoftverréteget valósít meg amit, a felhasználó nem közvetlenül, hanem segédprogramokon keresztül ér el. Az adatbázis kezelés esetében is a felhasználó nem közvetlenül a DBMS-t kezeli, hanem egyéb segéd- és alkalmazói programokat futtat, melyek majd a DBMS-en keresztül érik el az adatbázisban tárolt adatokat. Maguk a DBMS rendszereket forgalmazó cégek is készítenek ilyen segédprogramokat, de egyedi fejlesztéssel is létrehozhatunk adatbázisbeli adatokat kezelı programokat. A DBMS-hez integráltan tartozó segédprogramok angol rövidítése UIT (User Interface Tools). Ezek alapján egy hatékony adatkezelı rendszernek tartalmaznia kell egy adatbázist, egy adatbázis kezelı rendszert, valamint alkalmazói és segédprogramokat.

Az elsı adatbázis kezelı rendszerek az 1960-as években jelentek meg, elsıként a hálós adatmodell alapjait, majd nem sokkal rá megjelent a hierarchikus adatmodellt dolgozták ki. Az elsı hálózatos,

kapta. Az adatbázis kezelı rendszerek maguk is jelentıs fejlıdésen mentek keresztül; jelentısen megváltozott a használati módjuk, az általuk támogatott adatmodell jellege. Az induló idıszak hierarchikus, majd hálós adatmodelljei után az 1970-es években indult el hódító útjára a ma legelterjedtebb adatbázis kezelı típus, a relációs adatbázis kezelés. Évtizedünkben az adatbázis kezelés területén is új elvek jelentek meg, mint például az objektum orientáltság, a logikai programozás, az XML adatkezelés, valamint a szöveges és multimédia adatbázis kezelı rendszerek.

Az adatbázis kezelı rendszer egy összetett, több funkciót megvalósító szoftvernek tekinthetı. A mőködésének belsı logikáját egy réteges szerkezettel célszerő ábrázolni. A DBMS-ek legfontosabb komponenseinek vizsgálatánál a DBMS-t rendszerint két nagy struktúraegységre bontják: egy felhasználóhoz közeli rétegre (Data System), és egy a hardverhez kapcsolódó rétegre (Storage System). Míg a Data System feladata az adatok adatmodell szerinti kezelése, a Storage System az adatok fizikai tárolási struktúrájával dolgozik. A DBMS-en belül a két réteg között intenzív kommunikáció folyik, mindkettı a felhasználó és az adatbázis közötti adatcsatorna szerves része. A Data System fogadja a felhasználó utasításait, majd értelmezi az utasítások végrehajthatóságát és meghatározza az utasításhoz tartozó fizikai mőveletsort. Ez a mőveletsor kerül át a Storage System-hez, amely saját IO rendszerében elvégzi a fizikai adatátviteli lépéseket, ügyelve a konkurens hozzáférésbıl és a védelmi szempontokból adódó feladatokra.

3.4. ábra Adatbázis-kezelı rendszer komponensei (KEP_A303_I_03_04) KEP_A303_I_03_04.JPG

Mindkét réteg tovább bontható funkcionális elemeire. Elsıként vegyük a Data System legfontosabb komponenseit:

- DC komponens, melyet már ismertettünk és melynek feladata az interface biztosítása a segédprogramok, a felhasználók felé.

- Utasításértelmezı. E komponens feladata egyrészt az utasítások szintaktikai ellenırzése, másrészt az utasítások tartalmi, végrehajthatósági vizsgálata. Ehhez az adott adatmodell, adatkezelı nyelv ismerete mellett szükség van a kezelt adatbázis adatbázismodelljének az ismeretére is. Itt most nem az adatok ismeretére gondolunk, hanem az adatstruktúrára, illetve a védelmi és integritási feltételekre. Ezek az adatok pedig a már korábban említett metaadatok közé tartoznak. A DBMS az adatbázishoz tartozó metaadatokat az adatszótárban, Data Dictionary-ban tárolja. Az értelmezés feladatát, az eltérı jelleg miatt gyakran külön választják az adatdefiníciós és adatkezelı értelmezıkre.

- Optimalizáló. Mivel a felhasználóktól összetett utasítások is érkezhetnek, és egyidejőleg több utasításcsoport is állhat végrehajtás alatt, nem lényegtelen az elemi utasítások végrehajtási sorrendje. Egy utasítás ugyanis rendszerint több elemi részlépésre bontható fel, több utasítás esetén a generált elemi utasítások végrehajtási sorrendje is tág határok között változhat, tehát egyazon feladatcsoporthoz több elemi utasítássorozat is tartozik, s ezen sorozatok mind helyigényben, mind gyorsaságban különbözhetnek egymástól. Emiatt a DBMS egyik lényeges feladata az optimális elemi utasítássorozat kiválasztása.

- Végrehajtó. Az optimális elemi utasítássorozat végrehajtása történik ebben a modulban. Az utasítás-végrehajtás vezérlése mellett e komponens feladata az elemi utasítások végrehajtási kódjainak a tárolása, felhasználása is. Ebben a modulban is történik döntéshozatal, ugyan már sokkal szőkebb hatáskörben, mint az elızı komponensnél, ugyanis bizonyos mőveleteknél az algoritmusváltozat kiválasztása, csak az elızı elemi lépés eredményének ismeretében történik meg. Az elemi utasítások végrehajtása során rekordszintő IO utasítások állnak elı, melyek feldolgozása már a Storage System feladata lesz.

A Storage System legfontosabb komponensei:

- IO rendszer. Mint már említettük, a DBMS specifikus igényei miatt saját IO rendszert, bufferkezelést, helyfoglalási mechanizmust építenek be a legtöbb fejlettebb DBMS-be. Ez a

rutinokat tartalmaz. Ezek a rutinok már közvetlenül hívhatják az OS alacsony szintő IO rutinjait.

- Konkurens hozzáférés vezérlés. Majd a késıbbiekben látni fogjuk, hogy milyen eszközök állnak rendelkezésre a megosztott erıforrások kezelésére. E modul tartalmazza mindazokat az alacsony szintő adatstruktúrákon értelmezett módszereket, melyek az osztott hozzáférés vezérléséhez szükségesek.

- Adatvédelmi rendszer. E modul feladata a különbözı adatsérülések, rendszer leállások okozta veszteségek minimalizálása, az adatok megfelelı védelmének biztosítása. Ez a komponens is több olyan kisebb részbıl áll elı, mint pl. a rendszeres háttérmentés végzésére szolgáló rutin.

3.5. ábra Adatbázis rendszer komponensei (KEP_A303_I_03_05) KEP_A303_I_03_05.JPG

A DBMS belsı struktúrájával közvetlenül sem a felhasználó, sem az alkalmazó programozó nem fog találkozni, számukra rejtve maradnak a DBMS összetettségének jelei. Ami egy felhasználót igazában érdekel, az a DBS felhasználói kapcsolattartása, azon segédprogramok rendszere, melyeken keresztül elérhetık az adatbázisban tárolt adatok.