Az adatbázis rendszerek kialakulása:
Azóta rendelkezünk adatbázisokkal, mióta írásban vagyunk képesek rögzíteni adatokat. Már az ókortól. Később a kartoték-rendszerek lettek az adatbázisok fejlettebb formái. Majd megjelentek a számítógépek. Kezdetben lyukszalagon, lyukkártyán tárolták az adatokat, ezekhez a számítógép nem tudott közvetlenül hozzáférni.
Az 1960-as évek eleje óta tárolunk adatokat mágneses háttértárolókon. A 60-as évek közepére már elterjedtek a megfelelő kapacitású és hozzáférési idejű háttértárak. A háttértárolókon óriási mennyiségű adatot lehetett tárolni. Ezek az adatok fájlokba, adatállományokba vannak rendezve. A fájlok rekordokból állnak. Szükségessé vált az adatállományokon végzett műveletek definiálása.
1965-ben megalakult a CODASYL bizottság, mely később, 1969-ben szabványosította az adatállományokon végzett alapművelteket, a COBOL nyelv leírása során. A 4 alapművelet: olvasás (READ), írás (WRITE), visszaírás (REWRITE), törlés (DELETE). A bizottság létrehozott egy munkacsoportot (DBTG), az adatbázis-rendszerek elvi szabványainak kidolgozása céljából.
1970: E. F. Codd kidolgozta a relációs adatmodell elvet.
1971:
- korszakos jelentés - DBTG javaslat
- hálós struktúrájú adatkezelést javasol
- COBOL nyelvbe ágyazott adatmanipulációs utasítások (DML)
- adatbázis szerkezetét (séma)leíró nyelvre tesz javaslatot (DDL)
1975: Belgium IFIP: tíz javaslat az adatbázisok leírása témakörben.
1968-69: GUIDE-SHARE egyesülés (IBM fejlesztői csoport): - 1970-ben adja ki 7 pontos javaslatát az adatbáziskezelő rendszerekkel szemben támasztott követelményekről. Más terminológia, mint a CODASYL DBTG javaslat, de elveiben megegyeznek:
- háromszintű adatleírást preferál
- kevesebb adatmanipulációs lehetőség.
Fajtái: Adatbázis rendszerek az adatkapcsolati modell alapján lehetnek:
- Hierarchikus szerkezetű (IMS, IMS-VS, DL/1, DL/1 ENTRY, VANDL/1)
- Hálós szerkezetű (IDMS, DENNIS, CODASYL, SÁMÁN, BANK)
- Relációs elvű (ORACLE, SQL, SYBASE, DB2, SYSTEM-R, Paradox)
Az adatbázis definíciója:
Az információ valamely jelenségre vonatkozó értelmes közlést jelent, melynek a felhasználó számára újdonságszerű tartalma van. Az adat az információnak a továbbító, vagy tároló rendszereken történő konkrét megjelenítési formája. Az entitás azon elemeknek az összessége, amelyekről információt tárolunk. A rájuk jellemző tulajdonságokat rekordokba foglalhatjuk.
Az adatbázis az adott feladatok megoldásához szükséges adatok összekapcsolt halmaza, amelyek együttesen a vonatkozó szervezet elvi, fogalmi modelljét képezik.
James Martin definíciója: Kölcsönös kapcsolatban álló adatok gyűjteménye, amelyeket megszabott méretű redundanciával tárolunk azért, hogy optimálisan tudjon ellátni egy, vagy több alkalmazói feladatot. Az adatok tárolása független a programoktól és általános módszerek állnak rendelkezésre az adatok hozzáadására, ill. a meglévő adatok visszakeresésére vagy aktualizálására.
Adatbáziskezelő rendszerekkel szemben támasztott követelmények:
- programfüggetlenség
- adatkapcsolatok kezelése
- adatsérthetetlenség / integritás / konzisztencia
- adatvédelem
- redundancia minimalizálása
- többszörös keresési stratégiák
- adatkezelés és felhasználás központi irányítása
- egyidejű osztott adatelérés (sharing)
- „ad hoc” igény-kielégítés (azok is könnyen megtanulhassák, akik nem profik)
- igény szerinti átalakítás lehetősége, vagyis automatikus adatkonvertálás.
Definíció, mely a követelményekből származtatható: Adatbázisnak tekintjük a káros és szükségtelen redundancia nélkül együtt tárolt, egymással kapcsolatban lévő adatok összességét, ahol az adattárolás megvalósítása független a felhasználói programoktól.
Hálós (Plex) struktúra definíciója: A hálós struktúrában bármelyik csomópontot egy másik csomóponttal össze lehet kapcsolni. Lehet, de nincs értelme szinteket megkülönböztetni.
Egyes elemek között egyszerű, mások között pedig komplex leképezés van. Ezen kapcsolatok azonos hálón belül egyesítve adják a hálós struktúrákat általánosan jellemző N:M kapcsolati viszonyt. Komplex plex-struktúráknak nevezzük azokat, melyeknél a séma egyik vonalán mindkét irányban 2 nyíl van. Azt, ahol 1 vonalnak sincs 2 nyila mindkét irányban egyszerű plex-struktúrának hívjuk.
Hierarchikus modell: A hierarchikus modell tekinthető a hálós modell szűkítésének, ahol a logikai rekordtípusok és kapcsok egy erdőt alkotnak (fák egy halmazát). Azaz, ha minden kapcsot úgy tekintünk, hogy a tulajdonos őse a tagnak, akkor a logikai rekordtípusok egy erdőt alkotnak. A probléma ezzel az, hogy ez nem minden hálóra készíthető el. A hierarchikus modellben a sok-sok kapcsolat reprezentálható a kapcsolódó típusok virtuálismásolata segítségével. A virtuális típus tekinthető úgy, mint egy mutató a valós típus egy rekordjára.
A relációs modell: E.F.Codd dolgozta ki 1971-72-ben. Az volt a célja, hogy kiküszöbölje a hálós struktúra hátrányait. A relációs modellnél a logikai adatszerkezet független a fizikai tárolástól, ennek következtében a logikai kapcsolatok változtatása után nem kell a tárolást újraszervezni.
A relációs adatmodell lényege, hogy az adatokat logikailag relációkban ábrázoljuk. Ez az ábrázolás olyan, mintha az adataink kétdimenziós táblázatba lennének foglalva. Ezért lehet a relációs modell esetében táblázatokról is beszélni. A táblázatos ábrázolásmód legnagyobb előnye, a könnyű áttekinthetőség, a felhasználói szemlélethez közelálló modell-megjelenítés. A modell alapja a relációelmélet. Az alkalmazott műveleteket kifogástalan matematikai eszközökkel írják le. Hátránya, hogy a számítástechnikai szakembereknek új kifejezéseket kell megtanulni, illetve a szokásostól eltérő gondolkodásmódot kíván.