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.
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.
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).
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:
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.