Adatbázis-kezelő rendszerek főbb részei

Az ábrán az adatbázis-kezelő rendszerek legfontosabb részeit láthatjuk. Az ábra alján az adatok tárolására szolgáló hely látható. Ez a rész nem csak adatokat, hanem úgynevezett metaadatokat is tartalmaz, ami az adatok szerkezetét írja le. Például, ha az adatbázis-kezelő relációs, akkor a metaadatok között szerepelnek a relációk nevei, a relációk attribútumainak nevei és az attribútumok adattípusai (mint például egész vagy 20 hosszúságú karakterlánc).

Egy adatázis-kezelő főbb részei

Az ábrán láthatjuk a tárkezelőt, amelynek feladata a kért információk beolvasása a tárolóhelyről, illetve az adatok módosítása, amennyiben a felette levő rendszerszintek ilyen irányú kérést fogalmaznak meg. Láthatunk még egy olyan komponenst, amelyet lekérdezésfeldolgozónak neveztünk, habár ez az elnevezés nem teljesen helyes. Ez a rész ugyanis nemcsak a lekérdezéseket kezeli, hanem az adatok és a metaadatok módosítására vonatkozó kéréseket is ez adja ki. Ennek a komponensnek kell megtalálnia egy művelet legjobb végrehajtási módját, és ez adja ki a tárkezelőnek szóló utasításokat is.

A tranzakció-kezelő rész felelős a rendszer sértetlenségéért. Neki kell biztosítania, hogy az egy időben futó lekérdezések és módosítások ne ütközzenek össze egymással, és hogy a rendszer még rendszerhiba esetén se veszíthessen adatokat. Kapcsolatot tart a lekérdezésfeldolgozóval, hiszen a konfliktusok elkerüléséhez tudnia kell, hogy az aktuális lekérdezések éppen mely adatokon dolgoznak, és épp e konfliktusok megakadályozásáért késleltethet bizonyos lekérdezéseket vagy műveleteket. Kapcsolatot tart a tárkezelővel is, mert az adatok védelmére szolgáló módszerek többnyire magukban foglalják a módosítások naplózását is. Ha a műveleteket a megfelelő sorrendben végzi el a rendszer, akkor a naplóban benne lesznek a változtatások, és így egy rendszerhiba után még azok a módosítások is újra végrehajthatók lesznek, amelyeknek a lemezre írása eredetileg nem volt sikeres.

Az ábra tetején az adatbázis-kezelő rendszer három különbözőfajta inputját láthatjuk:

Lekérdezések Ezek az adatokra vonatkozó kérdések, amelyek két különböző módon jöhetnek létre.

a) Egy általános lekérdezőinterfészen keresztül. Például a rendszer megengedi a felhasználónak, hogy SQL lekérdezéseket gépeljen be, amelyeket azután a lekérdezésfeldolgozó fog megkapni és végrehajtani.

b) Egy alkalmazói program interfészén keresztül. Az adatbázis-kezelő rendszerek általában megengedik a programozónak, hogy olyan programot írjon, amelyik az adatbázis-kezelőnek szóló hívásokon keresztül kérdezi le az adatbázist. Például egy repülőgép-helyfoglalási rendszert használó ügynök egy olyan programot futtat, amelyik a különböző járatok adatait kérdezi le az adatbázisból. A lekérdezések egy speciális interfészen keresztül adhatók meg, ahol tulajdonképpen mezőket kell kitölteni városok neveivel, időpontokkal vagy egyéb adatokkal. Ezen az interfészen keresztül nem tehetünk fel tetszőleges kérdéseket, de amit lekérdezhetünk azt általában egyszerűbben kérdezhetjük le ezen az interfészen keresztül, mintha nekünk kellene megírnunk a lekérdezést SQL-ben.

Módosítások Ezek a műveletek az adatok módosítására szolgálnak. Ugyanúgy, ahogyan a lekérdezéseket, ezeket is kiadhatjuk egy általános interfészen, vagy egy alkalmazás interfészén keresztül.
Sémamódosítások Ezeket az utasításokat általában csak az arra illetékes személyek adhatják ki - adatbázis-adminisztrátoroknak hívjuk őket -, akik megváltoztathatják az adatbázis sémáját, vagy akár új adatbázist hozhatnak létre.