ADATBÁZISOK ADATBÁZIS-KEZELŐ RENDSZEREK Debrenti Attila
Az adatbázis fogalma 2 Számos egzakt, tudományos definíció. Hétköznapi definíció: az adatbázis valamilyen jól definiált rendszer szerint tárolt adatokból áll, s lehetővé teszi az adatok kezelését, azaz rögzítését, tárolását, rendszerezését, keresését, módosítását, különböző kimutatások és lekérdezések készítését. Adatbázis-kezelő rendszer (DBMS): az adatbázisok funkcióit biztosító rendszer.
Történeti áttekintés 3 Adatbázisok létrehozása, használata: a XX. század második felében lezajlott információs forradalom következménye. Megfelelő hardver és szoftver erőforrások. Személyi számítógépek széleskörű elterjedése lehetővé tette az adatok otthoni számítógépes tárolása, bankhálózatok információs rendszerének elérését. Igény: nagy osztott adatbázis-kezelő rendszerek létrehozása. Adathalmazok egységes kezelése: adatmodellek és adatbázis-kezelő programrendszerek születése. Internettel elérhető Web-es adatbázisok, adattárházak
Információs rendszerek 4 Információt szolgáltatnak. Alapját az adatbázisok képezik. Célja: teljesítmény növelés. Négy fő részből tevődik össze: Adatok, Hardver (eszközök, berendezések), Szoftver, Felhasználók. Az információs rendszer adatokat tárol a hardveren, melyből az eszközök és a szoftverek segítségével a felhasználók információkat kaphatnak.
Információs rendszerek 5 Adatok Adat (DATA) észlelhető, felfogható ismeret jelsorozat valakinek, vagy valaminek a jellemzője tény, közlés Információ értelmezett, feldolgozott adat új ismeretté értelmezett adat újat közöl
Információs rendszerek 6 Hardver Minden adatbázis valamilyen konkrét hardveren valósul meg. Főbb részei A processzorok, amelyeken az adatokat feldolgozzuk az operatív memória és a lemezek, melyeken tároljuk, valamint a terminálok és a telekommunikációs rendszer.
Információs rendszerek 7 Szoftver A hardveren fizikailag tárolt adatok és a felhasználó közti kapcsolatot a szoftver hozza létre. Ez három rétegből áll: az operációs rendszer, az adatbázis-kezelő rendszer, alkalmazási programok. A legfontosabb szoftver komponens az adatbáziskezelő rendszer (DBMS, Data Base Management System). Pl. Oracle, IBM DB2, Microsoft SQL-Server, Sybase, stb.
Információs rendszerek 8 Szoftver
Információs rendszerek 9 Felhasználók A felhasználás célját tekintve az adatbázisokkal dolgozók két nagy csoportját különböztetjük meg: adminisztratív célú felhasználók, döntési információkat kérő felhasználók. Ezen belül mindkét csoport a felhasználás módjától függően az alábbi alcsoportokra bontható: alkalmazási programozók, nem programozó alkalmazók, menü alapján dolgozó felhasználók.
Adatbázis architektúra 10 Kétféle adatbázis típust különböztetünk meg: a tény adatbázisok, a szöveges információvisszakereső rendszerek. A tény adatbázisokon belül megkülönböztetjük: tranzakció orientált adatbázisokat, melyek fő célja nagyszámú, előre pontosan meghatározott feladat, tranzakció (pl. raktárkészlet folyamatos nyilvántartása, bérszámfejtés) feldolgozása, és a vezetői döntéseket elősegítő adattárházakat.
Adatbázis architektúra 11 Az adatbázis-kezelő rendszereknek biztosítani kell különféle felhasználói igények hatékony kielégítését, adatfüggetlenséget, az adatok közötti komplex kapcsolatok ábrázolását, redundancia mentességet, illetve annak ellenőrzését, egyszerű használatot, az adatok védelmét, nehogy illetéktelenek hozzáférhessenek, az adatok integritását, hogy lehetőleg a hozzáférésre jogosultak se ronthassák el az adatbázist, helyreállíthatóságot, hogy bármilyen hiba esetén az eredeti állapotot vissza lehessen állítani, több felhasználós adatbázisnál az egyidejű hozzáférést, osztott adatbázisnál az adatok fizikai szétosztását, logikai összevonását és a duplikátumok konzisztenciáját.
Adatbázis architektúra 12 Adatfüggetlenség Egy rendszer teljesen adatfüggetlen, ha fizikailag és logikailag is adatfüggetlen. Vagyis, ha az adatbázisban tárolt adatokat az adatbázis-kezelő rendszer közvetítésével felhasználó programok és ad hoc lekérdezések gyakorlatilag függetlenek mind az adatok tárolási és elérési módjától, mind pedig a logikai adatszerkezettől.
Adatbázis architektúra 13 Az architektúra három szintje Az adatmodell a valós világ objektumait, azok tulajdonságait és kapcsolatait írja le. Az adatmodell az adatokkal típusaival, kapcsolataival foglalkozik. Első lépés: a megfelelő adatmodell kialakítása. Az adatmodell szerkezetileg három szintre bomlik: Belső, vagy fizikai szint, Külső, vagy logikai szint, Koncepcionális szint.
Adatbázis architektúra 14 Az architektúra három szintje
Adatbázis architektúra 15 Koncepcionális szint példa
Adatbázis architektúra 16 Az architektúra három szintje Külső szint: az az ábrázolási mód, ahogyan az egyes felhasználók látják az adatbázist. Koncepcionális szint: ez írja le a teljes logikai adatszerkezetet. Miként néznének ki mindenki számára az adatok, ha mindenki mindent láthatna belőlük. A belső, fizikai szint leírja az adatok tárolásának, szervezésének és elérésének módját.
Az adatbázis-kezelő rendszer komponensei 17 Adatleíró és adatkezelő nyelv: SQL, Structured Query Language (strukturált lekérdezőnyelv). Metaadatok: az adatbázis szerkezetét, objektumainak, adatainak elnevezését, tulajdonságait, szerkezetét írják le. Grafikus felhasználói interfész. Szolgáltató programok: a rendszeresen előforduló, nagy tömegű adat rutinszerű feldolgozására speciális programok.
Adat- és adatbázis-felügyelő 18 Az adatbázis az intézmény közös erőforrása. Fejlesztését, működését központilag kell biztosítani. Informatikai vezető a vállalati hierarchiában. Munkáját két személy segíti: az adat-felügyelő és az adatbázis-felügyelő. Adat-felügyelő: felügyeli az intézmény, vállalat informatikai erőforrásait. Adatbázis-felügyelő: számítógépes hardverrel és szoftverrel kapcsolatos technikai tevékenységek irányítását és ellenőrzését látja el.
Adat- és adatbázis-felügyelő 19 Adat-felügyelő Felügyeli az intézmény, vállalat informatikai erőforrásait, Ismeri a vállalat belső szervezetét, Jó számítástechnikai szakember, Jól ismeri a szervezet feladatait. Főbb feladatai: az informatikai politika kialakítása, az adatbázis megtervezése, az adatbázis használatának beillesztése a környezetbe, a hozzáférési jogok meghatározása, felhasználók kiképzése, továbbképzése, az informatikai környezet fejlesztése.
Adat- és adatbázis-felügyelő 20 Adatbázis-felügyelő Irányítja és ellenőrzi a számítógépes hardverrel és szoftverrel kapcsolatos technikai tevékenységeket, Fő feladatai: Közreműködés az adatbázis megtervezésében, megszervezésében. Az adatbázis fizikai létrehozása, induló adatok betöltése. Adatellenőrzésre szolgáló technikai feltételek megteremtése. Adatok rendszeres kimentése, esetleges visszaállítása. Adatbázissal kapcsolatos munkák ütemezése. A használathoz szükséges szabványok kidolgozása, betartatása. Az adatbázis használatának állandó figyelése. Az adatbázis szerkezetének a módosítása. Az adatbázissal dogozó felhasználók segítése.
21 Adatbázis és az adatbázis-kezelő rendszer meghatározása Az integrált adatbázis olyan egymással kapcsolatban álló adatok összessége, melyeket különféle felhasználók különböző csoportosításban használhatnak. Az adatok fizikai elhelyezése, központilag, redundancia mentesen, vagy minimális, ellenőrzött redundanciával történik. Ugyancsak központilag ellenőrzött az adatok védelme, új adatok bevitele és meglévő adatok módosítása is. Az adatbázis része az adatbázis elemeinek leírását, dokumentálását tartalmazó katalógus. Az adatbázison működik egy adatbázis-kezelő rendszer. Ez lehetővé teszi az arra jogosult felhasználóknak az adatbázishoz való hozzáférést úgy, hogy a felhasználói programok és az adatok tárolási módja egymástól független legyen.
Az integrált adatbázis előnyei 22 Adatok centralizált ellenőrzése, Logikai elentmondások jobb kiszűrése, Redundancia megszüntethetősége, Nagyobb biztonság, Rövidebb üzemkiesés, Kevesebb hibás adat, Adatok egységes felhasználása, Beépített segdeszközök, Hatékonyabb feldolgozás.
Az integrált adatbázis néhány hátránya 23 A szakterület rohamos fejlődése, változása miatt rendszeres továbbképzésről való gondoskodás. Egy új adatbázisra, adatbázis-kezelő rendszerre való átállás költéges és időigényes. Nagy gondot kell fordítani az adatbázis állandó rendelkezésre állására, üzembiztos, megszakítás nélküli működtetésére. Készen vásárolt szoftverek esetén fellépő kompatibilitási problémák.
Adatbázis-kezelő rendszerek csoportosítása 24 Az adatbázis-kezelő rendszereket csoportosíthatjuk aszerint, hogy egy vagy több felhasználó dolgozhat-e vele egyidejűleg, ugyanazon a gépen van-e az adatbázis és az adatbáziskezelő rendszer, az adatbázist egy vagy több gépen tároljuk.
Adatbázis-kezelő rendszerek csoportosítása Egy felhasználós rendszerek 25 Már kizárólag személyi számítógépeken futnak. Egyszerűbb adatszerkezetet tudnak kezelni Adatvédelmük lényegesen gyengébb Igen jó grafikus felhasználói interfész Többfelhasználós kibővítése gondot okozhat Nagy adatmennyiségek tárolására és feldolgozására nem alkalmasak
26 Adatbázis-kezelő rendszerek csoportosítása Kliens-szerver architektúra A nagy rendszerek többségében a feldolgozás és az adatbázis helye elválik egymástól. Az adatbázis feldolgozási munkákat három szintre bontjuk: A megjelenítő szinten keresztül lépünk közvetlen kapcsolatba az adatbázissal. Ezen keresztül írjuk be, illetve olvassuk ki az adatokat (kliens gép, front-end processzor). A felhasználó azonosítása, az input adatok tartalmi ellenőrzése, az alkalmazás logikájából adódó műveletek végrehajtása, és az adatbázissal kapcsolatos műveletek meghatározása a feldolgozási szinten történik. Tároló kezelési szint: ezen fut az adatbázis-kezelő rendszer és ehhez a géphez kapcsolódik a lemezeken tárolt adatbázis (adatbázis szerver, back-end processzor).
27 Adatbázis-kezelő rendszerek csoportosítása Kliens-szerver architektúra
28 Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok Az osztott adatbázis egy olyan logikai adatbázis, amelyik fizikailag különböző helyeken lévő, egymással adatátviteli hálózattal összekapcsolt helyi adatbázisokból épül fel. Mindegyik adatbázis adatai bármelyik adatbázisból elérhetőek, dolgozni lehet velük. A felhasználónak nem kell tudnia, hogy az egyes adatok melyik helyi adatbázisban vannak tárolva.
Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok jellemzői 29 Helyfüggetlenség (local transparency). Másolatfüggetlenség (replication transparency). Minden csomópontban működik egy helyi adatbázis-kezelő rendszer. Bármelyik csomópont bármelyikkel azonos módon léphet kapcsolatba.
30 Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok architektúrája
31 Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok. Adat többszörözés Legegyszerőbben: mindent mindenhol tárolunk. A módosításoknak az összes helyen időben való keresztülvezetése elviselhetetlen terhet róna a rendszerre. Csak olyan adatokat tárolunk minden csomópontban: melyek nélkülözhetetlenek a gyors működéshez, melyek kritikusak a rendszer működése szempontjából, melyek igen ritkán változnak.
Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok. Adatmegosztás 32 Horizontális adatmegosztás: egy egyedtípus (táblázat) bizonyos rekordjait (sorait) az egyik helyen, más rekordjait egy másik helyen tároljuk. Vertikális adatmegosztás: az adat tulajdonsága, a rekord mezőjének a neve határozza meg, hogy hol tároljuk az értékét. Kombinált adatmegosztás: bizonyos esetekben célszerű az előző adatmegosztások kombinációjával dolgozni.
Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok. Adatelosztási stratégiák 33 Figyelembe kell venni: Az első szempont az, hogy az adatokat ott tároljuk, ahol azokat a leggyakrabban használják. A második az, hogy tárolhatjuk még ott is, ahol rendszeresen szükség van rájuk. Elérési idő megrövidülése bizonyos adatok többszörözése révén. A tárolás és az elérés költségei, a hozzáférés gyorsasága.
Irodalom 34 Quittner Pál, Baksa-Haskó Gabriella (2007): ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREK, Debreceni Egyetem AMTC AVK Kiss Jenő (2007): ADATBÁZIS-KEZELÉS, Széchenyi István Egyetem, Győr Koloszár László, Tóth Zsolt (2012): ADATBÁZIS- KEZELÉS, Nyugat-magyarországi Egyetem
35 Köszönöm a figyelmet!