Környezetünk leírásához meg kell azt figyelnünk, adatokat kell gyûjtenünk az objektumairól, összegeznünk kell azok tulajdonságait, valamint meg kell figyelnünk a köztük levõ kapcsolatokat. Ezek után juthatunk a rendelkezésre álló, tárolt adatokból új ismeretekhez, információhoz. Az adatoknak egy jól struktúrált halmazát adatbázisnak nevezzük, amelybõl a késõbbiekben információt akarunk majd nyerni. Az információnyerés céljából pedig olyan szoftvereket használunk, amelyek lehetõvé teszik az adatbázisok kezelését (lekérdezés, módosítás, törlés, karbantartás) és amelyeket együtt adatbáziskezelõ rendszernek nevezünk. Az olyan rendszereket, amelyek a hardveren tárolt adatokból szoftverek és egyéb alkalmazói programok segítségével lehetõvé teszik a felhasználó számára az információ nyerését, információs rendszereknek nevezzük. Látható tehát, hogy egy információs rendszerhez szükség van adatokra, hardver eszközökre, szoftverekre és a felhasználóra. Szoftveren itt olyan programcsomagot értünk, amely gyorsítja a munka elvégzését, például szövegszerkesztõk, táblázatkezelõk, adatbáziskezelõ rendszerek. Az alkalmazói programok pedig egy-egy szakember által valamilyen programozási nyelven, egy konkrét feladatra írt programok.
Adatbáziskezelõ rendszert alapvetõen kétféleképpen szoktak létrehozni. Az egyik módja, hogy egy programozó csoport valamelyik - többnyire harmadik generációs - programozási nyelvben (pl. C, Cobol) megírja a rendszert. A másik módszerben pedig egy már meglévõ rendszerben fejlesztik ki az új rendszert. Ehhez többnyire negyedik generációs nyelveket használnak. Ilyen típusú rendszerek a CASE (számítógép által támogatott szoftver fejlesztõ) rendszerek. A legtöbb adatbáziskezelõ rendszer rendelkezik ilyen CASE eszközökkel. Továbbá vannak alkalmazásfejlesztõ rendszerek is, például: QBE, POWER BUILDER, UNIFACE. A legismertebb adatbáziskezelõ rendszerek manapság az ORACLE, INGRES, SYBASE, INFORMIX. Ezek többnyire nagygépes környezetben mûködnek. Természetesen vannak PC-re íródott adatbáziskezelõ programrendszerek is, mint például: DBASE, CLIPPER, FOXPRO.
Az adatbázis létrehozását mindig az adbázistervezés elõzi meg. Gondosan fel kell mérni az adott cég igényeit, meg kell fogalmazni a problémákat. Egy adatbázist manapság körülbelül egy-két hónap alatt fejlesztenek ki. Ennek körülbelül 70-75%-a a tervezésre megy el, 10-15%-a a programozásra és a maradék a tesztelésre. Alapos tervezés nélkül ugyanis a rendszer átláthatatlan lesz, nagyon nehéz lesz a késõbbiekben módosítani.
Az adatbázistervezés, az adatok jellegének vizsgálata és a köztük levõ kapcsolatok alapos elemzése után következhet az adatmodell létrehozása.
Az adatmodellezés tehát az adatállományok tervezésének korszerû módszere. Az adatmodellezéssel az a célunk, hogy egy információs rendszer adatait és az adatok között fennálló kapcsolatokat következetesen ábrázolva, elõsegítsük a számítógépes információ-feldolgozást. Az adathalmaz és az adathalmaz elemei között fennálló kapcsolatok struktúrált leírását adatmodellnek nevezzük. Az adatmodellek -mint ahogy a nevükbõl is következik-, általában nem írják le teljesen és hûen a modellezett rendszerben található adatokat és azok kapcsolatait, hanem azoknak csak egy részét. Egy kielégítõ modellnek teljesítenie kell bizonyos feltételeket: átfogónak kell lennie, azaz minden lehetséges adatot és minden lehetséges kapcsolatot tudnia kell ábrázolni és kezelni; le kell tudnia írni a valóság általános, lényeges és tartós összefüggéseit; redundanciamentesnek kell lennie, azaz minden adatot lehetõleg csak egyszer tartalmazzon; következetesnek kell lennie; valamint az alkalmazott hardverrel és szoftverrel összhangban levõnek kell lennie
Az adatmodell nemcsak felsorolása a fileban tárolt mezõknek, hanem az adatok jelentését is tartalmazza. Így az adatmodellben
Az adatmodell a valóság egy szeletének a leképezését jelenti. A valós világhoz képest az adatmodellek tartalmaznak bizonyos megszorításokat és egyszerûsítéseket, sõt még a modellezõ személyétõl függõ vonásokat is. Egy adatmodell úgy viszonyul a valósághoz, mint a térkép az általa ábrázolt tájhoz: a térképrajzolónak egyszerûsíteni kell, ki kell jelölnie a térkép széleit, és el kell döntenie, hogy mit is akar egyáltalán a térképen feltüntetni. Ugyanígy, az adatmodell kialakításakor a rendszerszervezõnek is el kell döntenie, hogy melyek a modelljében az ábrázolandó információelemek, és ki kell választania a dolgok között fennálló lényeges kapcsolatok közül azokat, amelyeket be akar a modellbe építeni. A lényeges információelemek és a modellben ábrázolandó kapcsolatok kiválasztása párhuzamosan történik.
Egy adatmodell a következõ elemeket tartalmazza:
Vagyis:
Ezen felsorolt adatmodell-elemek mindegyikének három szintje van:
Még két fogalmat kell tisztáznunk a továbbiak miatt:
Mivel ugyanazon adatokat több felhasználó és több program is használhatja, az adatokat és a programokat - amennyire lehetséges - függetleníteni kell egymástól: ha például valamelyik programban a rekordokat kibõvítjük egy mezõvel, akkor ne kelljen a többi programot megváltoztatni. Az adatok fizikai leírását külön kell választani a programok által látott adatszerkezettõl. Ez az adatfüggetlenség. Az adatfüggetlenségnek két fokozata van:
A tényleges adatfüggetlenség e kettõ együttes megvalósulása.
Séma: az adatmodellnek és a leírásnak további számítógépes feldolgozásra is alkalmas tartalmi és formai megfogalmazása. Az adatleíró nyelv a séma megfogalmazására szolgáló nyelv. Egy adatbázishoz egy séma tartozik, amely pontosan meghatározza az adatszerkezetet, a tárolási struktúrát, valamint az egyes adatelemek között fennálló logikai kapcsolatokat. Az alsémák mutatják meg, hogy az egyes alkalmazói programok az adatbázist hogyan látják. Egy adatbázis sémához akárhány alséma illeszthetõ. Más-más alsémákban lehet az adatoknak a típusa, neve, csoportosítása.
Az adatleíró nyelv három szinten írja le az adatokat:
A feldolgozás céljaira szükség van egy adatkezelõ nyelvre. Ennek segítségével a felhasználó az adatleíró nyelvvel definiált adatbázison mûveleteket végezhet.
A mûveletek vonatkozhatnak az adatbázis adatainak:
Az adatkezelõ nyelv által az adatbázis megnyitható, zárható, kulcs vagy cím alapján kereshetünk benne, beolvashatunk, beszúrhatunk, törölhetünk, módosíthatunk rekordokat.
Az adatbáziskezelõ rendszer tehát egy szoftver, amely biztosítja az adatbázisban tárolt adatok létrehozását, kezelését, valamint leírja és kezeli az adatok közötti komplex kapcsolatokat. Az adatbáziskezelõ rendszernek támogatnia kell valamilyen adatmodellt, hogy a valóságot le tudja képezni egy számunkra megfogható objektumra. Két részbõl épül fel:
Az adatbáziskezelõ rendszernek biztosítania kell:
Ezt a két modellt többnyire az adott feladatokra írt programokkal valósították meg. Ha olyan kérdés merült fel, ami nem volt beprogramozva, azt nem lehetett megválaszolni.
Amikor létrehozunk egy adatbázist, bizonyos szabályoknak kell eleget tenni. Így érhetjük el, hogy az adatmodell mindig a valóságot tükrözze. Ha tényleges változás következik be, akkor az adatbáziskezelõ rendszer szerkezetét kell módosítani.