1. fejezet - Adatbázisok és adatbázis-felhasználók

1.1. Bevezetés

Az adatbázisok és az adatbázis-technológia nagy hatással vannak a számítógépek elterjedésére. Azt mondhatjuk, hogy az adatbázisok kritikus szerepet játszanak szinte minden olyan területen, ahol számítógépeket használunk, beleértve az üzletet, az elektronikus kereskedelmet, a mérnöki tudományokat, az orvostudományt, a jogot, az oktatást és a könyvtártudományt. Az adatbázis szó használata annyira elterjedt, hogy annak a definiálásával kell kezdenünk, mi is az az adatbázis. Az első definíciónk meglehetősen általános.

Az adatbázis egymással kapcsolatban álló adatok gyűjteménye. Adat alatt olyan ismert tényeket értünk, amelyek feljegyezhetők, és amelyeknek implicit jelentésük van. Ilyenek például az ismerőseink nevei, telefonszámai és címei. Ezeket az adatokat feljegyezhetjük egy indexelt névjegyzékbe, vagy tárolhatjuk merevlemezen is egy személyi számítógépen egy olyan szoftverrel, mint például a Microsoft Access vagy Excel. Az ilyen implicit jelentéssel bíró, egymással összefüggő adatok gyűjteménye az adatbázis.

Az adatbázisnak ez a definíciója meglehetősen általános; egymással összefüggő adatoknak tekinthetjük például az ezen az oldalon található szavak gyűjteményét, amelyek ezáltal egy adatbázist alkotnak. Az adatbázis kifejezést viszont általában ennél korlátozottabb értelemben használhatjuk. Az adatbázis a következő implicit tulajdonságokkal rendelkezik:

  • Az adatbázis a valós világ valamely részét reprezentálja, amelyet néha minivilágnak vagy a modellezés tárgyának nevezünk. A minivilágban bekövetkező változások megjelennek az adatbázisban.

  • Az adatbázis adatok logikailag összetartozó gyűjteménye a benne rejlő jelentéssel együtt. Az adatok egy véletlenszerű összességét nem tekinthetjük adatbázisnak.

  • Az adatbázist egy konkrét céllal tervezzük és építjük, továbbá konkrét céllal tárolt adatokkal töltjük föl. Jól meghatározott felhasználói csoport használja jól meghatározott, számukra értelmes céllal.

Más szóval az adatbázisnak van valamilyen forrása, ahonnan az adatok származnak, valamilyen szinten kölcsönhatásban áll a valós világ eseményeivel, és van egy közönsége, amelyet aktívan érdekel a tartalma. Az adatbázis végfelhasználói végrehajthatnak üzleti tranzakciókat (például egy vevő vásárol egy kamerát), vagy olyan események történhetnek (például egy alkalmazottnak gyereke születik), amelyek az adatbázisban tárolt információk megváltozását okozzák. Ahhoz, hogy egy adatbázis minden pillanatban pontos és megbízható legyen, hűen kell tükröznie az általa reprezentált minivilágot; ezért a változásokat, amint csak lehetséges, át kell vezetni az adatbázisba.

Egy adatbázis tetszőleges méretű és összetettségű lehet. A korábban említett, neveket és címeket tartalmazó lista például csak néhány száz, egyszerű szerkezetű rekordból állhat. Egy hatalmas könyvtár számítógépesített katalógusa viszont akár félmillió bejegyzést is tartalmazhat különböző — az első szerző vezetékneve, a mű tárgya, illetve címe szerinti — kategóriákba szervezve, az egyes kategóriákon belül ábécérendben. Ennél is nagyobb méretű és összetettségű az Internal Revenue Service (IRS) által karbantartott adatbázis, amely az amerikai adófizetők adóbevallásait tartalmazza. Ha feltételezzük, hogy százmillió adófizető van, akik közül mindenki átlagosan öt bevallást készít, amelyek mindegyike 400 karakternyi információt tartalmaz, akkor egy 100 × 106 × 400 × 5 karakter (bájt) mennyiségű információt tartalmazó adatbázist kapunk. Ha az IRS minden adófizető esetén az aktuálison kívül az utolsó három adóbevallást is megőrzi, akkor egy 8 × 1011 bájt (800 gigabájt) méretű adatbázist kapunk. Ezt a hatalmas mennyiségű információt úgy kell szervezni és kezelni, hogy a felhasználók szükség szerint kereshessék, lekérdezhessék és módosíthassák a benne szereplő adatokat. Nagy üzleti adatbázisra példa az Amazon.com, amely több mint 20 millió könyvről, CD-ről, videóról, DVD-ről, játékról, elektronikai eszközről, ruházati cikkről és egyéb termékről tartalmaz adatokat. Ez az adatbázis több mint 2 terabájtot foglal el (1 terabájt egyenlő 1012 bájttal), és 200 különböző számítógépen (adatbázisszerveren) tárolódik. Naponta kb. 15 millió látogató éri el az Amazon.com-ot, és használja vásárlásaihoz az adatbázist. Az adatbázist folyamatosan aktualizálják, ahogy új könyveket és egyéb cikkeket vesznek nyilvántartásba, a raktáron lévő mennyiségeket pedig a vásárlások során frissítik. Nagyjából 100 ember felelős az Amazon adatbázisának karbantartásáért.

Az adatbázist létrehozhatjuk és karbantarthajuk kézzel vagy számítógép segítségével. Egy könyvtári katalógus például egy olyan adatbázis, amelyet kézzel hozunk létre és tartunk karban. Egy számítógéppel kezelt adatbázist vagy konkrétan erre a célra írt alkalmazásokkal hozunk létre és tartunk karban, vagy pedig egy adatbázis-kezelő rendszerrel. Ebben a jegyzetben csak számítógéppel kezelt adatbázisokkal foglalkozunk.

Az adatbázis-kezelő rendszer (DBMS) olyan programok gyűjteménye, amelyek lehetővé teszik a felhasználóknak, hogy létrehozzanak és karbantartsanak adatbázisokat. A DBMS egy általános célú szoftverrendszer, amely lehetővé teszi különböző felhasználók és alkalmazások számára az adatbázisok definiálását, létrehozását, manipulálását és megosztását. Az adatbázis definiálása az adatbázisban tárolandó adatokra jellemző adattípusok, adatszerkezetek és megszorítások megadását jelenti. Az adatbázis-definíció, azaz az adatbázist leíró információk szintén az adatbázisban tárolódnak adatbázis-katalógus vagy szótár formájában; ezeket metaadatoknak nevezzük. Az adatbázis létrehozása az a folyamat, amikor eltároljuk az adatokat valamilyen, a DBMS által vezérelt adathordozón. Az adatbázis manipulálása olyan funkciókat foglal magában, mint például az adatbázis lekérdezése konkrét adatok lekérése céljából, az adatbázis módosítása a minivilág változásának tükrözése céljából, vagy jelentések készítése az adatok alapján. Az adatbázis megosztása lehetővé teszi, hogy több felhasználó és program párhuzamosan hozzáférjen az adatbázishoz.

Az alkalmazói programok a DBMS felé küldött lekérdezésekkel vagy adatok iránti igényekkel férnek hozzá az adatbázishoz. A lekérdezés általában bizonyos adatok letöltését jelenti; míg a tranzakció bizonyos adatok olvasásával és bizonyos adatok írásával jár az adatbázisban.

A DBMS által biztosított egyéb fontos funkciók közé tartozik az adatbázis védelme és a hosszú időn át történő karbantartása. A védelem magában foglalja a hibás hardver- vagy szoftverműködés (összeomlás) elleni rendszervédelmet, valamint az illetéktelen vagy rosszindulatú hozzáférés elleni biztonsági védelmet. Egy tipikus nagy adatbázisnak többéves életciklusa lehet, a DBMS-nek tehát karban kell tartania az adatbázist, miközben hagyja, hogy a rendszer folyamatosan fejlődjön, ahogyan a követelmények idővel változnak.

Nem szükségszerűen kell általános célú DBMS szoftvert használnunk egy számítógéppel kezelt adatbázis megvalósításához. Írhatunk saját programokat is az adatbázis létrehozásához és karbantartásához, amellyel gyakorlatilag elkészítjük saját, speciális célú DBMS szoftverünket. Mindkét esetben — akár általános célú DBMS-t használunk, akár nem — rendszerint nagy mennyiségű összetett szoftvert kell telepítenünk. Valójában a legtöbb DBMS rendkívül összetett szoftverrendszer.

1.1. ábra - Az adatbázisrendszer leegyszerűsített sémája

Az adatbázisrendszer leegyszerűsített sémája


Hogy teljessé tegyük a kezdeti definícióinkat, az adatbázist, a felhasználókat, a DBMS szoftvert, illetve a DBMS-t futtató és az adatbázist tároló hardvert együtt adatbázisrendszernek nevezzük. Az 1.1. ábra illusztrál néhányat az eddig tárgyalt fogalmak közül.