Adatkezelés


  1. ADATBÁZIS FOGALMA
  2. Adatbázison köznapi értelemben valamely rendezett, valamilyen szisztéma szerint tárolt adatokat értünk, melyek nem feltétlenül számítógépen kerülnek tárolásra. Képzeljük el, hogy egy céghez naponta átlagban 20 levél érkezik. A cég irattárosa kellő adattárolási tapasztalat híján a leveleket az irattár ajtajára vágott lyukon keresztül bedobja. Elképzelhető, hogy pár év eltelte után milyen reménytelen vállalkozás egy levelet megtalálni az irattárban. Ez az adathalmaz nem tekinthető adatbázisnak, ahhoz hogy adatbázis legyen nem elegendő a nagyszámú adat. Az adathalmaz csak akkor válik adatbázissá, ha az valamilyen rend szerint épül fel, mely lehetővé teszi az adatok értelmes kezelését. Természetesen ugyanazon adathalmazból többféle rendszerezés alapján alakíthatunk ki adatbázist. Például egy könyvtárban a könyveket rendezhetnénk a könyvek mérete vagy akár a szerző vagy szerzők testsúlya alapján. Ez már egy rendszert ad az adatok tárolásához. Íly módon minden könyv helye meghatározott. De bizonyára nehéz helyzetben lennénk, ha szerző és cím alapján próbálnánk meg előkeresni egy könyvet. Az adatok tárolásába bevitt rendszernek alkalmasnak kell lennie a leggyakrabban előforduló igények hatékony kielégítésére. Az adatbázisok mellé egy adatbázis-kezelő rendszer (DBMS) is járul, mely az adatbázis vagy adatbázisok üzemeltetését biztosítja. Hagyományos adatbázis esetén ez a kezelő személyzet intelligenciájának része, elektronikus adatbázisok esetén pedig valamilyen szoftver.


  3. Történelmi áttekintés
  4. Azóta rendelkezünk adatbázisokkal, mióta írásban vagyunk képesek rögzíteni adatokat. Ez az ókorban történhetett akár kőtáblákra vagy papirusz tekercsekre. Az adatbázisok fejlettebb formái később a kartoték rendszerek lettek, melyek a számítógépek megjelenéséig az alapvető adatbázis rendszerek voltak. A számítástechnika hőskorában az 50-es 60-as években az adatok tárolása még lyukszalagon, lyukkártyán történt, az adatok közvetlenül nem voltak elérhetők a számítógép számára. A mágneses háttértárolók elterjedésével az adatok tárolása egyszerűbbé, elérésük hatékonyabbá vált. Ezekben az időkben még nem léteztek univerzális módszerek illetve rendszerek, melyek segítségével az adatbázisokkal kapcsolatos problémák nagy része általánosan megoldható lett volna.
    A számítógépek fejlődésével együtt fejlődtek a programozói lehetőségek is. Az első számítógépeken csak a gépi kód (a bináris formában kiadott utasítások a mikroprocesszornak) állt rendelkezésre. Ezt első generációs programnyelvnek nevezzük. Ezt követték a második generációs (assembler) nyelvek, melyekben a gépi kód helyett úgynevezett mnemonikok és szimbólumok alkalmazhatók. Az első illetve második generációs programnyelvekben még nem készültek komoly adatbáziskezelő alkalmazások. Ezekre egyrészt a magas szintű nyelvek (3. generációs program nyelvek) COBOL, FORTRAN stb., másrészről a lemezes operációs rendszerek kialakulásáig kellett várni. Ekkor már komoly adatbázis alkalmazások születtek, melyek egyedi problémák megoldására voltak alkalmasak.
    Az adatbázisok méretének és számának gyors növekedése következtében az egyedi alkalmazások létrehozása fárasztó és időrabló feladattá vált, ezért a programfejlesztők törekedtek az adatbáziskezelés általános formában történő megfogalmazására. Ennek eredményeként jöttek létre az adatbázis kezelő rendszerek és a negyedik generációs nyelvek (4GL). Az adatbázis kezelő rendszerek számos eszközt nyújtanak az interaktiv adatbevitel, menük létrehozása terén, melyek kialakítása a harmadik generációs nyelvekben sok sok oldal kód leírásával lenne csak lehetséges. A szabványos eszközök bevezetésével nem csak a programozói munka csökkent le, hanem az egységes felhasználói felület kialakítására késztetik a programozókat.


  5. ÁLTALÁNOS DEFINICIÓK
  6. 3.1 Adat, információ

    Az eltelt több mint 30 évben nagy terminológiai viták folytak az adatfeldolgozással kapcsolatban. Volt idő amikor az volt a felfogás, hogy az adat- feldolgozás (data processing) helyett információfeldolgozást (information processing) célszerűbb mondani és információs rendszerekről beszéltünk. Ennek megfelelően megkísérelték megadni az adat és az információ definícióját. Felesleges erőfeszítés és talán nem is lehet az adat fogalmát matematikai precízséggel definiálni, mint ahogy nem definiáljuk a halmazt, a teret stb sem.
    Elfogadhatjuk, hogy a valóságos világ minden objektumához, jelenségéhez tartozhat egy sor olyan "jellemző", paraméter, "adat" ami számokkal, betűkombinációkkal, tehát szöveggel vagy akármilyen jellel, jelsorozattal, jelenséggel, mozgással, stb. kifejezve megadható
    Az információ fogalmát már fontosabb definiálni, de a létező definíciók nem túl meggyőzőek. Mindenesetre az információt célszerű megkülönböztetni az adattól. Egy adat egyik ember számára jelent valamit a másik számára nem.
    Vannak irányzatok, amelyek azt javasolják, hogy a felhasználható, vagy hasznos adatot nevezzük információnak. Mások azt mondják az információ olyan adat, ami döntés megtételére alkalmas.
    Az információ tehát több mint adat, és az információt adatok hordozzák, az információt adatokkal adjuk meg.
    Az információ mint világunk harmadik fő attribútuma.
    Noha az információ fogalmát pontosan nem tudjuk definiálni, érezzük, tudjuk, hogy az anyag és az energia mellett a valóságos világ egy harmadik nagyon fontos jellemzője, dolga, attribútuma. Információról beszélünk akkor, amikor adatfeldolgozást végzünk. Információ a tárgya a híradástechnikának. Információ a tárgya a folyamatok vezérlésének. Információ megy, adódik át a természetes nyelvekben. A biológiai kommunikációs rendszerekben is információ-feldolgozás történik például magában a sejtben, az élővilág minden egyedének minden sejtjében.
    Pontos definíciót nem adunk, számok szövegek, speciális jeleket értünk rajtuk.

    3.2 A Shannon féle információs elmélet

    Az első kísérlet az információ fogalmának megalkotására C.E. Shannon nevéhez fűződik aki 1948-ban megjelent. "A kommunikáció matematikai elmélete" című munkájában vizsgálta, kísérelte megadni az információ fogalmát. Azt mondhatjuk, hogy Shannon alapozta meg az információelmélet tudományát.
    Shannon elméletének a lényege az; hogy az információt jelek, adatok hordozzák. Pontosan ugyan nem adta meg, hogy mi is az információ amit ezek a jelek hordoznak, de megkísérelte mérni ennek az információnak a nagyságát, tehát egy mértéket próbált definiálni az információra. Shannon úgy gondolta, hogy egy jel akkor hordoz nagyobb információt, hogy ha ezen jel megjelenésének a váratlansága nagyobb. Shannon szerint tehát ha egy jel kisebb valószínűséggel jelenik meg valahol, akkor nagyobb információt hordoz.
    E filozófiát követve Shannon egy képletet adott meg egy jelsorozat által hordozott információ nagyságára, amiről kiderítették, hogy ez voltaképpen, teljesen egybeesik az energiával kapcsolatos u.n. entrópia megadására szolgáló képlettel, úgy hogy sokan éppen emiatt egymás mellé állítják, közös tulajdonságúnak tekintik az energiát és az információt.
    A Shannon féle információelmélet nem foglalkozik az információ tartalmával. Nem foglalkozik azzal, hogy egy szöveg értelmes, fölfogható, helyes, vagy éppen helytelen, vagy értelmetlen. Ezen elmélet szerint több információt hordoz egy véletlenszerűen összedobott betűkombináció, mint egy azonos hosszúságú de nyelvileg, tartalmilag érdekes szöveg. A Shannon féle elmélettel nagyon jól leírható ezen elmélet alapján a híradástechnika, átviteltechnika számos problémája, illetve az információtárolás néhány feladata is jól megfogható ezen elmélet segítségével.
    Számos próbálkozás történt az információ szemantikai definíciójára, egy olyan definíció megadására, amely az információ tartalma szerint adna lehetőséget arra, hogy mérjük, melyik jelsorozatnak, melyik közleménynek van nagyobb információtartalma.
    A Shannon féle információelméletben az információhoz voltaképpen egy bitsorozatot rendeltek hozzá és azt mondták, hogy egy információ mennyisége annál nagyobb, minél több bitből áll, minél több bittel adható meg, vagyis a bitek száma adta meg az információ nagyságát. Nyilvánvaló, hogy ennek az információ tartalmához nincs sok köze.
    Ez ideig nem sikerült az információra olyan definíciót adni, amelynek a segítségével minden területen tudnánk vizsgálni az információ nagyságát, a hordozhatóság tulajdonságait, a feldolgozás egzakt szabályait. Elfogadjuk, hogy létezik egy ilyen dolga a világnak, elfogadjuk, hogy ugyanúgy, mint ahogy az anyag energiát tud hordozni képes arra is, hogy információt hordozzon, információt közvetítsen. Elfogadjuk, hogy mint ahogy az energiát fel lehet dolgozni, át lehet alakítani, hasonlóan az információfeldolgozás is egy "valóságos" dolgon történik.
    Úgy vesszük tehát, hogy az információt adatok hordozzák, és ennek megfelelően amikor adatfeldolgozást végzünk, voltaképpen információfeldolgozás történik. Különösen igaz ez az adatbázisok tekintetében. Maga az adatbázis vagy az adatbázisok információkat hordoznak, és az adatbázisból való lekérdezésekkel voltaképpen új információkhoz jutunk, az adatbázisban lévő elemi információkból összetett információt hozunk létre. Ha az adatbázist erre a célra létrehozott speciális eljárásokkal, algoritmusokkal dolgozzuk fel, akkor az adatbázist un. tudásbázisnak tekinthetjük (ez a tárgya az un. szakértői rendszereknek).


  7. AZ ADATOK TULAJDONSÁGAI
  8. A 60-as évek elején a számítógépek alkalmazásának nagyobbik részét az ún. adatfeldolgozás tette ki. A programozók rájöttek, hogy az adatokat és azok kapcsolódásait matematikai struktúrákkal lehet leírni, a feladatok megoldására pedig algoritmusok használhatók.

    4.1 Az adatfeldolgozás formalizálható

    Az adatfeldolgozás jobban "gépesíthető", ha az adatok közötti kapcsolatokat struktúrának tekintjük és adatmodellekben, adatsémákban gondolkodunk. Ez lehetővé teszi az egységes kezelést, olyan nyelvek kialakítását, amelyekkel szabványosan kezelhetők a tartalmuk szempontjából teljesen eltérő adathalmazok is.
    Az olyan adathalmazokat, amelyeket modellbe foglalva kezeltek, adatbankoknak, később pedig adatbázisoknak nevezték el.

    4.2 Az adatok osztályozása funkciójuk szerint

    Felhasználói információhordozó alatt a felhasználót ténylegesen érdeklő adatokat értjük. Szerkezethordozó adatról beszélünk, ha az információ tárolásához szükséges elengedhetetlen adatokat tekintjük. Ilyenek lehetnek például mutatók, indexek, egyéb jelölő és vezérlő (törlés jelző, rekordhossz jelző, állapotjelző, termináló és termináló jelek)

    4.3 Az adatszerkezetek fajtái

    Bár ezt a témát a szerző "Módszeres programozás" jegyzetében korábban már körüljártuk, de itt mégegyszer röviden áttekintjük a kérdést:

    Filekezelés kapcsán említhetjük meg a soros vagy szekvenciális filekezelést (például Pascal text file),

    4.4 Az adatok között kapcsolat van.

    Adatbázison voltaképpen adatoknak kapcsolataikkal együtt va1ó ábrázolását, tárolását értjük. Annak, hogy egy konkrét adatrendszert egy megadott szerkezetű adatbázisba foglalnak egybe, nagyon nagy előnye, hogy egyszerre sokan használhatják. Maguk az adatok csak "egyszeresen" vannak tárolva, a közöttük lévő kapcsolatok (az adatrendszer struktúrája) ismerete mégis lehetővé teszi, hogy a felhasználók egymástól függetlenül hozzáférjenek szinte úgy, hogy ki-ki "kiszakít" magának egy részt (nem fizikailag); vagy átszerkeszti az adathalmaz egy részét a maga számára (ezt az angol view szóból felhasználói nézetnek nevezzük). Az adatbázisok tehát "többfelhasználós" adathalmazok.
    Az adatbázis szemléletben az adatokat egy sémába "foglaljuk bele"; ezt központilag tervezzük meg és ha ezt jól végezzük el, akkor minden adatérték csak egyszer szerepel a rendszerben, ráadásul egységes formátumban és így séma az "kompatibilisek" az adatok. - adatbázis
    Az adatbázis-séma a valóság egy részének tükörképe Az adatbázis-sémát úgy tekintjük, mint a valóságos világ egy olyan adatmodelljét, amely az adott szervezet szempontjából érdekes. Azok az objektumok (később ezeket egyedeknek, vagy egyedtípusoknak hívjuk) amelyek kapcsolatban vannak egymással a valóságos világban; az adatbázisban is kapcsolatban lesznek, tehát az adatbázisban a kapcsolatok is tükröződnek. kövei.
    Természetesen a valós világ egy adott részéhez nem csak egy adatbázis-séma rendelhető.

    4.5 Adatmodell története röviden

    Adatbázisok modelljéül szolgáló struktúra kidolgozására számos próbálkozás történt. Ezek a próbálkozások az alábbi három irány körül csoportosultak.
    Formalista megközelítés. Ezen irányzat képviselői gráfokkal, diagramokkal kísérelték meg felírni az adatok közötti kapcsolatot, a szerkezetet (Bachmann, Nijssen, Sowa, stb. modelljei). Egy kis erőltetéssel azt mondhatjuk, hogy ezek a később elterjedt hierarchikus illetve hálós adatmodell alapjait képezték
    A szemantikai megközelítés lényege az volt, hogy a modellt teljesen verbálisan, szavak segítségével kísérelték meg leírni. Ez a modellfajta teljesen életképtelen volt, mert nehéz volt olyan programokat írni, amelyek tudták volna kezelni a nem teljesen precízen megadott adatbázisokat.
    A matematikai jellegű modellekben az adatok közötti kapcsolatot szintaktikusan pontosan, matematikai struktúrák felhasználásával írták le. Több egymástól eltérő felfogásban próbálkoztak, leginkább Codd relációs adatmodellje (1970) látszott életképesnek, de azt senki sem gondolta, hogy a század végére az adatbáziskezelő rendszerek nagy része a Codd féle modellre támaszkodik.



Egy szintet vissza, vagy vissza a főmenübe.