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 Adatok 5
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 Hardver 6
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 Szoftver 7
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 Szoftver 8
Információs rendszerek Felhasználók 9
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 Adatfüggetlenség 12
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 Az architektúra három szintje 13
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 Az architektúra három szintje 14
Adatbázis architektúra Koncepcionális szint – példa 15
Adatbázis architektúra Az architektúra három szintje 16
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.
17
Az adatbázis-kezelő rendszer komponensei
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ő Adat-felügyelő 19
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ő Adatbázis-felügyelő 20
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.
Adatbázis és az adatbázis-kezelő rendszer meghatározása 21
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.
24
Adatbázis-kezelő rendszerek csoportosítása
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
Adatbázis-kezelő rendszerek csoportosítása Kliens-szerver architektúra 26
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).
Adatbázis-kezelő rendszerek csoportosítása Kliens-szerver architektúra 27
Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok 28
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.
Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok architektúrája 30
Adatbázis-kezelő rendszerek csoportosítása Osztott adatbázisok. Adat többszörözés 31
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ÁZISKEZELÉS, Nyugat-magyarországi Egyetem
35
Köszönöm a figyelmet!