Adatbázis rendszerek I Adatkezelés és adatbázis kezelés alapfogalmai ME. Általános Informatikai Tsz. dr. Kovács László
Az alkalmazói programok döntő többsége információs rendszer Gutenberg forradalom Információ vetületei: - statisztikai - szintaktikai - szemantikai - pragmatikai - apobetikai Az információt jelsorozathoz kapcsolódó új jelentésnek, hasznos közlésnek tekinthetjük. Az információ hordozóját adatnak nevezzük, vagyis az adat a tények, fogalmak, feldolgozásra alkalmas reprezentációja K.L.
Az adattárolás, kezelés jellege: - szövegszerű - strukturált - szemi-strukturált Hello Péter! Képzeld Zolinak van egy nagyon jó CD-je, egy Kraftwerk lemez, azt hiszem Autobanh a címe. Talán 2500-ért vette a múltkor…. CD 1 Kraftwerk 2500 Zoli 4 Groove 3100 Laci 3 Enya 2700 Ani 6 Hobo 3600 Zoli <cím>Hello Péter!</cím> <CD> <eloado>Kratfwerk</eloado> <cím>Autobahn</cím> <ar>2550</ar> </CD> <CD><eloado>Groove </eloado><ar>3100</ar> - emberközeli - redundáns - nincs fix struktúra - tömör - eszköz specifikus - merev struktúra - hatékony - rugalmas - független K.L.
Az információs rendszerek adatkezelési követelményei - nagy adatmennyiség VLDB (www.vldb.org) : 400 GB < kínai telefontársaság: 1TB-os tábla 108 lap, 5 km hosszú polc > 400 év - hatékonyság időben: optimális válaszidő: < 2 s megtűrt válaszidő: < 20 s hellyel: minimális redundancia szabályozott redundancia K.L.
Az információs rendszerek adatkezelési követelményei - konkurens hozzáférés konfliktus az erőforrások párhuzamos használatánál lost update jelensége A prog. : jutalom elhelyezése (5) B prog. : fizetés elhelyezése (3) A prog. B prog. ra rb számla 2 ua +5 +3 ub wa wa Egymás után ra ua wa 7 rb ub wb 10 Párhuzamosan ra rb ua ub wa 7 wb 5 K.L.
Az információs rendszerek adatkezelési követelményei - integritás őrzés az adatrendszer ne sértse meg az előre definiált szabályokat - statikus - dinamikus - védelem adatvesztés elleni védelem másolatok, napló hozzáférés védelem bejelentkezés, titkosítás hozzáférés kontroll - hatékony fejlesztés rugalmasság szabványosság magas szintű programozási elemek K.L.
Adatbázisok, adatbáziskezelők A hatékony adatkezelés megvalósítása számos modul kidolgozását igényli A modulok kidolgozása nagy munkát igényel, de az elkészült rendszer általánosan is használható A nagyobb cégek elkészítettek egy olyan általános keretprogramot, mellyek magukba integrálják az igényelt modulokat kezelő programrendszer adatbázis kezelő kezelt adatrendszer adatbázis K.L.
Adatbázis fogalma Az adatbázis egy integrált adatrendszer, mely több különböző egyed előfordulásainak adatait adatmodell szerinti struktúrában, perzisztens módon tárolja a kapcsolat leíró elemek mellett a metaadatokkal együtt, melyek a hatékonyság, integritásőrzés, az adatvédelem biztosítását szolgálják. Jelölése: DB (database) autok emberek jogosultság szerkezet napló DB K.L.
Adatbázis kezelő fogalma Az adatbázis kezelő rendszer olyan programrendszer, amelynek feladata az adatbázishoz történő szabályozott hozzáférés biztosítása és az adatbázis belső karbantartási műveleteinek végrehajtása. Jele: DBMS (database management system) - a DB csak a DBMS-en keresztül érhető el legálisan védelem integritás ellenőrzés optimalizálás naplózás párhuzamos hozzáférés ellenőrzés K.L.
Adatbázis rendszer fogalma Az adatbázis kezelő, az adatbázis és az alkalmazói programok együttesét adatbázis rendszernek nevezik Jele: DBS (database system) parancsfelület 3GL program 4GL program K.L.
Adatbázis rendszer előnyei - igényelt szolgáltatások biztosítása - védelem - integritásőrzés - párhuzamos hozzáférés - adatvesztés elleni védelem - hatékonyság - egységes kezelő felület - szabvány kezelő nyelvek - magas absztrakciós szint - rugalmasság - elrejti a tárolási részleteket a felhasználó elől - ANSI SPARC model K.L.
ANSI SPARC modell Felh1 Felh2 Felh9 egyed Külső szint Globális séma TABLE Fogalmi szint Fizikai szerkezet Fizikai szint Index, rekord Biztosított függetlenségi szintek: - logikai : a külső szint és a globális szint között - fizikai : a globális szint és a fizikai szint között - hálózati : fizikai szinten belül K.L.
Adatbázis kezelő rendszer struktúrája Kommunikációs réteg SQL Utasítás értelmező Hozzáférés ellenőrzés SELECT * FROM AUTO ORDER BY RSZ Aktív szabály ellenőrző Optimalizáló Végrehajtó Tranzakció vezérlő Naplózó modul IO rendszer OS IO K.L.
Kitekintés az adathozzáférés típusaira - folytonos helyfoglalás fontossága - fejkiválasztás - fejmozgatás - forgatás - logikai és fizikai szerkezet állomány extend allokálási egység láncolás vagy címlista IO egység blokk spanned vagy unspanned láncolt fix vagy változó hossz rekord mező K.L.
Elérési módszerek - szekvenciális - random 1 2 3 4 1 2 3 4 Szervezési módszerek - soros - láncolt - indexelt - indexszekvenciális - hash K.L.
Soros szervezési módszer A rekordok között nincs kapcsolati elem a sorrend lehet - felviteli sorrend (egyszerű) - mező érték alapú rendezett (bonyolult karbantartás) 1 3 5 6 8 9 10 4 Láncolt szervezés - egy vagy többszintű (skip lista) - egy vagy kétirányú 3 1 4 2 K.L.
Indexelt szervezési módszer - egy külön struktúra tárolja a rekordok sorrendjét (kulcs, pozíció) - egy állományhoz több index is létezhet 1 2 3 4 index 3 1 4 2 állomány Indexelt szekvenciális szervezési módszer - az állományban rendezetten helyezkednek el a rekordok - egy tartomány fenntartott minden érték intervallumra - az index csak az intervallumokat tartalmazza a c e f index a á b c e - f f -... állomány K.L.
B-fa - kereső fa, kiegyensúlyozott - jól kihasznált (min 50%) - alulról felfelé épül - csomóponton belül rendezett - egy csomópontban M elem és M+1 pointer - logMN szint Új elem beszúrása - levél megkeresése - középső elem a szülőbe - testvér generálás - elemek szétosztása - pointerek kiigazítása 1,3,5,6,7,9 5 4 1,3,4 6,7,9 K.L.
B-fa (példa) Beszúrandó elemek: 3, 6, 1, 8, 34, 23, 11, 2, 9, 14, 4, 19 1. ábra: 1 3 6 8 2. ábra: 6 1 3 8 34 3. ábra: 6 1 3 8 23 34
Beszúrandó elemek: …,11, 2, 9, 14, 4, 19 4. ábra: 6 1 3 8 11 23 34 5. ábra: 6 1 2 3 8 11 23 34 6. ábra: 6 34 1 2 3 8 9 11 23
Beszúrandó elemek: …,14, 4, 19 7. ábra: 6 23 34 1 2 3 8 9 11 14 8. ábra: 6 23 34 1 2 3 4 8 9 11 14 9. ábra: 6 19 23 34 1 2 3 4 8 9 11 14
Hash szervezési módszer - cél az egy költségű elérés - a rekordot a kulcs értéke alapján közvetlenül határozza meg egy cím generáló hash függvény segítségével - a jó hash függvény egyenletesen teríti a rekordokat a hash táblában, pl. h(x) = x mod M - problémája a túlcsordulás kezelése: - túlcsordulási bucket láncolása - hash tábla és hash függvény átalakítás - rendszerint nem alkalmas intervallum keresésre 44 h(44) = 44 mod 41 = 3 1 2 3 41 hash tábla K.L.
Adatbázis tervezés főbb lépései ‘autók és tulajdonosok’ követelmény analízis A T szemantikai leírás adatmodell leírás normalizálás parancs kódolás create table A (R char(6) primary key,.. create table T ( T references A, … …. K.L.