ADATBÁZIS-KEZELÉS Adatbázis-kezelő rendszerek
Adat (Data) Észlelhető, felfogható ismeret Jelsorozat Tény, közlés Valakinek vagy valaminek a jellemzője Adatbázis (Data Base, DB) Hosszú ideig évekig meglévő adatok gyűjteménye Állomány(ok) Adatbázis-kezelő rendszer (Data Base Management System, DBMS) Nagy mennyiségű adatok kezelését, karbantartását, tárolását segítő program(ok) A szoftver, amivel dolgozunk Adatbázis rendszer (Data Base System, DBS) Számítógép Adatok Szoftver Felhasználók együttese 2
AZ ELSŐ ADATBÁZIS-KEZELŐ RENDSZEREK 60-as évek: fájlkezelés Sok kis adatelem, sok lekérdezés, módosítás Kezelik a hozzáféréseket, gondoskodnak arról, hogy a rendszerhibák ne vezessenek adatok eltűnéséhez Biztonság Példák: Banki rendszerek Repülőgép-helyfoglalási rendszer Vállalati nyilvántartások 3
ADATKEZELÉSI PROBLÉMÁK Egyéi, gyakran eltérő megoldások Elsődleges cél a gépi hatékonyság, nem felhasználóbarát Többszörös adattárolás. Redundancia Inkonzisztencia Rugalmas változtatás lehetőségének hiánya Nem megfelelő szintű adatvédelem (sérülés, jogtalan hozzáférés) Konkurens adatkezelés nem volt megoldott A hozzáférési módszerek egysíkúak és programfüggők 4
MEGOLDÁS Különböző adatmodellek Hierarchikus Hálós 1969: Committee on Data Systems and Languages, CODASYL Data Base Task Group, DBTG 1970: Ted Codd Adatokat táblázatformájában kell megjeleníteni A felhasználónak nem kell törődni a struktúrával Relációs modell 1971: CODASYL ajánlás 5
CODASYL AJÁNLÁS Összetett logikai adatszerkezetek kezelése, használata Irányított redundancia Konkurens hozzáférés biztosítása Többféle hozzáférési módszer támogatása Magas szintű programozási nyelvek támogatása Almodell szemlélet: Osszuk fel az adategyüttest a felhasználók között úgy, hogy mindenki azt a részt lássa, amit fel akar dolgozni Emberi hatékonyság Program-adat függetlenség: Logikai: az adatszerkezet a programok kódjától független Fizikai: a programok függetlenek az adatok tárolási és elérési módjától 6
AZ ADAT MINT ERŐFORRÁS Az előteremtéséhez idő, energia és pénz szükséges Speciális erőforrás: a felhasználás során nem fogy el Megtartásuk és frissítésük költséges 7
FELHASZNÁLÓK Eseti felhasználók: Lekérdezések Kérdéseik véletlenszerűek, bármire vonatkozhatnak Gyors válasz Például: főnök Naiv, vagy parametrikus Az adatbázis fenntartói, karbantartói Előprogramozott műveletek paraméterek változtatásával Szakemberek: Az alkalmazás programozói Adminisztrátorok: Biztosítják a rendszer működését Kialakítják a sémákat Kezelik a többi felhasználók hozzáférését 8
ADATBÁZIS ARCHITEKTÚRA (3 SZINT) Külső vagy logikai szint Amit az egyes felhasználói csoportok látnak Koncepcionális szint Az adatbázis egészében, logikai egységként hogyan néz ki. Adatbázisséma Belső vagy fizikai szint Adatok fizikai elérése 9
ELVÁRÁSOK EGY ADATBÁZISRENDSZERTŐL Tegye lehetővé a felhasználók számára, hogy új adatbázisokat hozhassanak létre, és azok sémáját, vagyis az adatok logikai struktúráját egy speciális nyelven adhassák meg. Adatdefiníciós nyelv, DDL Data Definition Language Engedje meg a felhasználóknak, hogy az adatokat egy megfelelő nyelv segítségével lekérdezhessék és módosíthassák. Adatmanipulációs nyelv, DML Data Manipulation Language Támogassa nagy mennyiségű adat hosszú időn keresztül való tárolását, és tegye lehetővé a hatékony adathozzáférést. Biztosítsa a tartósságot Felügyelje a több felhasználó által egy időben történő adathozzáféréseket és biztosítsa a függetlenséget 10
AZ ADATBÁZIS-KEZELŐ RENDSZER FELÉPÍTÉSE 11
TRANZAKCIÓ - TRANSACTION Az adatbázis-műveletek végrehajtási egysége, mely DML utasításokból áll Tulajdonságai (ACID): Atomosság (Atomicity): mindent vagy semmit Konzisztencia (Consistency): megőrizze az adatbázis konzisztenciáját, azaz teljesüljenek az adatelemekre és a közöttük lévő kapcsolatokra vonatkozó elvárások Elkülönítés (Isolation): minden tranzakciónak látszólag úgy kell lefutnia, mintha ez idő alatt semmilyen más tranzakciót sem hajtanánk végre. Tartósság (Durability): ha egyszer egy tranzakció befejeződött, akkor már soha többé nem veszhet el az adatbázisra kifejtett hatása 12
TRANZAKCIÓ-KEZELŐ Biztosítja az adatok konkurens elérését és helyreállíthatóságot a tranzakciók korrekt végrehajtásával Fogadja az alkalmazás tranzakciós parancsait Feladatai: Naplózás: visszaállíthatóság Konkuranciavezérlés: ütemezés, sorba rendezés, zárolás Holtpont feloldása: ha szükséges tranzakciók törlése 13
AZ ADATBÁZIS-KEZELŐ RENDSZER KOMPONENSEI ÉS KÖRNYEZETE 14