Felhasználói eszközök

Eszközök a webhelyen


ab:ab-alap

1. Adatbáziskezelés alapjai

1.1. Adatbázis

Ahhoz hogy az adatokat egy számítógépes rendszerben tárolni tudjuk, valamilyen struktúrába kell őket szervezni. Ezt általában a köztük lévő logikai összefüggések alapján szoktuk megtenni. Az integrált, logikailag összetartozó, hosszú ideig tárolt adatok (információ) összességét adatbázisnak (AB) nevezzük.

Adatbázis-rendszerek magába foglalják az adatbázisokat, a hozzájuk kapcsolódó számítógépes erőforrásokat, s tágabb értelemben az adatbázisok tervezését, kezelését végző személyeket is. Ez utóbbiakat nevezzük adatbázis adminisztrátoroknak. Minden adatbázisnak van egy belső struktúrája: sémája. A séma tartalmazza az összes adatelemeket és a köztük lévő kapcsolatok definícióját, leírását. Az adatbázisnak az egyes felhasználók szempontjából tekintett sémáját alsémának nevezzük. Az alséma a séma részhalmaza.

Példa

Egy vállalat dolgozóinak adatait nyilvántartó program adatbázisának része lehet:

A dolgozó törzsszáma A dolgozó neve A dolgozó születési helye A dolgozó születési ideje
T234578 Kiss István Eger 1968.12.11.
T456734 Nagy József Budapest 1972.01.30.
T429877 Kovács JánosSzeged 1967.05.12.

1.2 Adatredundancia

Adatredundancián azt értjük, ha egy adatot egynél több helyen tárolunk egy adatbázisban. Azt nehéz elkerülni, hogy redundancia egyáltalán ne forduljon elő, azonban a többszörös előfordulások minimálisra csökkentése minden esetben fontos cél. Például, ha egy adat több helyen szerepel, és azt módosítjuk, akkor az összes előfordulást módosítani kell. A redundancia kiküszöbölésének szokásos módszere, hogy az adatbázis tervezése során az ismétlődő adatokat „kiemeljük”, külön tároljuk, a megfelelő helyen hivatkozva rá.

Példa

A kifizetés dátumaKifizetett bérLevont adóelőlegHivatkozás a dolgozóra
A dolgozó törzsszámaA dolgozó neveA dolgozó születési helyeA dolgozó születési ideje

1.3. Adatbázis-kezelő rendszerek

Az AB kezelésére speciálisan erre a célra kifejlesztett programok léteznek, az Adatbázis-kezelő rendszerek (ABKR). Az ABKR nem felhasználói programnak tekinthető, mivel fő feladatai nem egyedi felhasználói igényeket elégítsenek ki. Ez utóbbiak megvalósításához külön alkalmazásokat szoktak fejleszteni, az ABKR által nyújtott eszközöket felhasználva.

Egy ABKR általában a következő feladatokat látja el:

  • Támogatja új adatbázisok létrehozását, azok struktúrájának, tárolási módjának kialakítását.
  • Megvalósítja az adatbázisban tárolt adatok kezelését, karbantartását. Ennek keretében új adatok tárolhatók, a tárolt adatok módosíthatók, törölhetők.
  • Lehetővé teszi a tárolt adatok feldolgozását, lekérdezését. Ennek keretében új információkat képes előállítani, illetve a meglévő információknak a felhasználók által igényelt formában történő megjelenítését támogatja.
  • Lehetővé teszi az adatbázisok megosztását több felhasználó között.
  • Garantálja az adatok biztonságát, konzisztenciáját, a hozzáférések szabályozását, vagyis hogy a felhasználói műveleteket csak arra jogosult személyek végezhessék, és ezek a műveletek ne veszélyeztessék az adatok integritását.

1.4. Az ANSI/SPARC modell

Láthatjuk, hogy az ABKR összeköttetést jelent a felhasználó és a számítógépes háttértárolón fizikailag tárolt adatok között.

Az ANSI (American National Standards Institute= Amerikai Szabványügyi Hivatal) Szabvány Tervezési és Követelmények Bizottsága (SPARC=Standards Planning And Requirements Committe) ezt az összeköttetést a következő három szintre osztotta fel:

  • külső
  • koncepcionális
  • belső.

A külső szint a felhasználó szemszögéből vizsgálja az adatokat. Az adatbázis tartalma ezen a szinten jelentések, űrlapok, vagy más dokumentumok formájában jelenik meg. Az adatok azon nézetét, ahogyan a különböző felhasználók látják azokat felhasználói nézetnek (user view) nevezik.

A középső szinten a koncepcionális szint. Ez a szint magában foglalja az összes felhasználói nézetet, így tartalmazza mindazokat az adatokat, amelyre valamely felhasználónak szüksége lehet. Ezen a szinten az adatbázist az úgynevezett logikai sémával szokták megadni.

A harmadik szint a belső szint. Az adatoknak a számítógépes rendszerben való aktuális reprezentációját jelenti. Ezt fizikai szintnek is nevezik, az adatok reprezentációját pedig fizikai sémának.

1.5 Adatfüggetlenség

Adatfüggetlenség – a táblák logikai és fizikai szerkezetének megváltoztatásának olyan végzése, hogy a táblát feldolgozó alkalmazást ne kelljen módosítani.

Fizikai adatfüggetlenség – azt jelenti, hogy a fizikai sémának a változása nincs hatással a felette lévő szintekre. Így a belső szinten történő változások végrehajthatók anélkül, hogy módosítani kellene a logikai sémát.

Logikai adatfüggetlenség. A felhasználó hozzáadhat új nézetet a rendszerhez anélkül, hogy ez változtatást igényelne a logikai sémában.

1.6. Adatbázis-műveletek

Azt a nyelvet, amelynek segítségével az adatbázis adminisztrátorok az új adatbázisok sémáját definiálhatják, adatdefiníciós nyelvnek (DDL=Data Definition Language) nevezzük. Műveletek az adatokkal az adatmanipulációs nyelvnek (DML=Data Manipulation Language) parancsai (utasításai) által történik. A lekérdező nyelvnek (QL=Query Language) általában kevésbé bonyolultak, mint egy általános célú programozási nyelv. Legtöbb esetben nem tartalmaznak vezérlő utasításokat és adatszerkezetek kezelését sem támogatják. Az utasítások csupán az adatbázisban tárolt adatok manipulálását, hozzáférését szolgálják.

A legfontosabb művelet, amit egy ABKR az adatmanipulációk során használ az a keresés. Az egyik leggyakrabban alkalmazott, keresést támogató adatstruktúra a B-fa. Nevében a B betű a kiegyensúlyozott (balanced) szó angol megfelelőjére utal. Így a kereséshez minimális művelet szükséges. Az adatbázisokban a gyors keresést az indexek támogatják. Az adatbázis sémájánál meg kell adni, hogy mely mezők alapján kívánunk indexeket készíteni. Az index arra szolgál, hogy a keresési és rendezési műveleteket gyorsabbá tegye. De a beszúrás, törlés, módosítás műveleteknél inkább lassító hatása van, mivel ezeknél az index adatstruktúrát is aktualizálni kell. Használata olyan adatbázisoknál előnyös, amelyeknél kevés módosítás történik, viszont gyakran kell adatokat keresni.

A korszerű ABKR-ek lehetőséget biztosítanak felhasználói felületek tervezésére és kivitelezésére.

Képernyőtervező (screen generator). Segítségével a felhasználó, vagy a programozó különböző űrlapokat, vagy beviteli képernyőket tervezhet és állíthat elő, melyekkel az adatbázis adatait lehet bővíteni, módosítani, törölni.

Jelentéstervező (report generator) Az ABKR-ek rendelkeznek olyan modullal, amelynek segítségével nyomtatott jelentések tervezhetők. A jelentéstervezők speciális parancsokkal rendelkeznek, amelyekkel címeket, fejléceket, sorokat, oszlopokat, összegeket és más, jelentésben gyakran előforduló elemeket alakíthatunk ki.

ABKR, amelyek segítségével gyorsan és kényelmesen fejleszthetünk adatbázis-alkalmazásokat 4GL (negyedik generációs nyelv) rendszereknek hívjuk. A 4GL rendelkezik képernyőtervezővel, amivel az adatkarbantartás könnyen végezhető, rendelkezik jelentéstervezővel, amivel program készítése nélkül gyorsan lehet listákat készíteni.

1.7. Adatintegritás

Adatintegritás azt jelenti, hogy az adatok az adatbázisban mindig korrekt, konzisztens és aktuális állapotban legyenek.

Konzisztencia – azt jelenti, hogy az AB-ban az összetartozó adatok módosítása együtt, a megfelelő sorrendben történjen. Ha vannak redundáns adatok, akkor azoknak nem szabad egymással ellentmondásban lenni.

Olvasási konzisztencia – garantálja, hogy ha egy tranzakció (parancs) indulásakor az adatok nem ellentmondásosak, akkor azok a tranzakció (parancs) végén is ellentmondásmentesek maradnak. Legtöbbször már a séma definiálásakor megadhatók kritériumok, feltételek az egyes adatok tartalmára és formátumára vonatkozóan. Az adat bevitelekor az ABKR ellenőrzi, hogy az aktuális adat teljesíti-e ezeket a követelményeket. Amennyiben nem, az adatot nem fogadja el. Az adatbázisban a tényleges adatok mellett tárolódnak azok összefüggéseit, kapcsolatait is.

Hivatkozási integritás. A hivatkozási integritás azt jelenti, hogy egy kapcsolatnál a hivatkozott adatnak létezni kell. A korszerű ABKR az adatmanipulációk során ellenőrzi, hogy a művelet nem sérti-e a hivatkozási integritást. Az adatok helyessége nemcsak az ABKR felelőssége, az alkalmazás fejlesztőjének is igyekeznie kell úgy megterveznie az adatbázist, hogy abban a lehető legkevesebb lehetőség legyen arra, hogy az adatok valamilyen szempontból helytelenek legyenek.

Például tegyük fel, hogy egy alkalmazás adatbázisában magyarországi városok szerepelnek. Megtervezhetjük úgy az adatkarbantartást, hogy a felhasználónak kell mindig begépelnie a megfelelő város nevét. Ez azonban sok hibalehetőséget rejt magában. Az adatot felvivő személy hibát véthet a gépelés során, illetve előfordulhat – különösen hosszabb nevű városok esetén – hogy egyik alkalommal rövidített, más alkalommal teljes formában gépeli be az adatot. A számítógép számára azonban a különbözőképpen írt nevek különböző várost jelölnek. Ez problémákat okozhat abban az esetben, ha például városok szerint kell összesíteni, vagy rendezni adatokat. Megteheti azonban az alkalmazás fejlesztője, hogy már a fejlesztés során összegyűjti a lehetséges városok neveit, s azokat eltárolja az adatbázisban. Az adatbevitelkor, pedig csak választani kell közülük. Ezáltal a hibázás lehetősége jelentősen csökken.

1.8. Adatvédelem

Védelem az illegális hozzáféréssel szemben. Az adatokban bekövetkező hibák, sérülések kivédése, megakadályozása. Egy jó ABKR-nek gondoskodnia kell arról, hogy lehetőség legyen az adatok védelmére. Ha ezt nem lehetne megvalósítani, nagy bizalmatlanságot keltene a felhasználóban, és jelentősen korlátozná az adatbázis-alkalmazások elterjedését.

A második problémát az adatbázisban bekövetkező esetleges sérülések jelentik. Ez több okból történhet. Előfordulhat hardware meghibásodás, de a szoftverekben is bekövetkezhet olyan hiba, amely az adatok károsodását eredményezheti. Akár egy-egy rendkívüli esemény, (egy áramszünet) is okozhat ilyen problémát.

Az adatbiztonság megőrzésének egyik lehetséges technikája a tranzakció vezérlés. Ez azt jelenti, hogy a kritikus módosítások végrehajtása az adatbázisban nem közvetlen módon történik, hanem a műveletek során regisztrálásra kerül. Amikor a teljes művelet sikeresen befejeződik, csak akkor történnek meg a tényleges módosítások.

Másik fontos technikája az adatvédelemnek a biztonsági másolatok (backup copy) készítése. Ezeket bizonyos időszakonként kell elkészíteni. A köztes időszakokban történő változtatásokat a tranzakció vezérléshez hasonlóan külön nyilvántarthatja az ABKR. A biztonsági másolatokra alkalmazva a nyilvántartásban szereplő módosításokat mindig helyreállítható az aktuális állapot, amennyiben meghibásodás történik.

1.9. Adatbázisok megosztása

Sok esetben fordul elő, hogy több felhasználó szeretne dolgozni ugyanazon az adatbázison. Ez történhet egyidejűleg, vagy különböző időpontokban is. Az egyidejűleg történő hozzáférés esetében az ABKR-nek biztosítani kell az adatbázis megosztását a felhasználók között, valamint ügyelnie kell arra, hogy a közös használatból adódó speciális helyzet ellenére az adatbázis konzisztens maradjon. Ez adott esetben nem olyan egyszerű feladat.

Példa Tegyük fel, hogy egy bérszámfejtő rendszerben ketten dolgoznak. Az egyik felhasználó a fizetésemeléseket rögzíti, a másik felhasználó pedig éppen egy olyan alkalmazást futtat, ami újraszámolja az adókat. Feltételezzük, hogy a második program kiolvassa a régi fizetést egy adott személy esetén az adatbázisból, s miközben az adószámítási eljárás fut, az első program módosítja a fizetést és az adót is. A második eljárás azonban erről mit sem tud, tehát amikor kész van, visszaírja az adatbázisba az adót. Ez azonban még a régi fizetés adója, ami kevesebb, mint a tényleges adó.

Kizárólagos joggal való megnyitás Több-felhasználós környezetben ez elterjedt megoldás. A kizárólagos jog vonatkozhat nagyobb egységekre (például egy táblára), ami akadályozhatja a feldolgozást, vagy kisebb egységekre (rekordokra). Ha több személy dolgozik egy rendszerben, célszerű azokat csoportokba sorolni. Az egyes csoportok különböző jogosultságokat kaphatnak az adatbázis egyes részeihez való hozzáféréshez.

ab/ab-alap.txt · Utolsó módosítás: 2021/07/18 17:31 szerkesztette: holovacs