Egy adatbázis tervezésénél mindig a valós világból indulunk ki.
Az elemzés
Az első lépcső az adatbázissá formálandó valóságos probléma megértése, a korlátozó feltételek felismerése, a lehetséges variációk feltérképezése. A probléma megértéséhez először azonosítjuk a problémakörben szereplő valóságosan létező tárgyakat, személyeket. Összefoglalva ezeket szereplőknek hívom. Meghatározzuk a szereplők figyelembe venni kívánt tulajdonságait. ezek az adatbázis szempontjából szükséges tulajdonságok. Ezeket használjuk és elvetjük a nem szükséges tulajdonságaikat. A fontosság kritériuma, hogy az adatbázis céljához van-e köze az illető tulajdonságnak.
Például egy iskolai adatbázisban annak van értelme, hogy fiú vagy lány, de a szeme színét nem tudjuk használni, nincsen értelme tárolni.
Meghatározzuk, az adatbázissal modellezendő folyamatokat. Ezek lesznek az események. Az események valamiféle dinamizmust, változást határoznak meg. Megnézzük, hogy ezekben a folyamatokban hogyan vesznek részt a szereplők.
Például az iskolai adatbázisba felveszünk egy tanulót vagy léptetjük az évfolyamok között. Ezek események.
A fentiek alapján megvizsgáljuk, hogy az egyes szereplők milyen csoportokba sorolhatók, a valóságos folyamatokban milyen szerepekben vesznek részt.
Például: egy üzleti folyamatban vevő, vagy szállító, vagy eladó.
Megvizsgáljuk, hogy az egyes szereplők között a valóságban milyen statikus és/vagy dinamikus kapcsolat van. Csak az adatbázis szempontjából lényeges kapcsolatokat vesszük figyelembe, a többi kapcsolatot figyelmen kívül hagyjuk.
Például az iskolai adatbázisban az osztályok listája is szükséges, de nem kell, hogy az osztálynak melyik terem az osztályterme.
A korábban meghatározott csoportokból matematikai értelemben vett halmazokat definiálunk, amely halmazok elemei a fent említett szereplők és az események.
A modellalkotás
A második lépésben megalkotjuk az adatmodellt (az egyed-kapcsolat modellt), meghatározzuk a kulcsokat. Az adatmodell a valóság leképezéseként jön létre, de nem a valóság tükörképe, hiszen a résztvevők kevésbé fontos tulajdonságait és kapcsolatait elhagytuk, csak a fontos tulajdonságokat és kapcsolatokat emeljük át a modellbe.
Meghatározzuk a modell típusát (hierarchikus, hálós vagy relációs).
Meghatározzuk a modellben szereplő egyedtípusokat és kapcsolataikat egymással
Adatmodellünket normalizálási procedúrának vetjük alá.
Az adatbázisokat általában a lehető legmagasabb normálformása hozzuk, azonban időnként el kell rontani a normalizált állapotot. Ezt denormalizálásnak hívják.
Mi a normálforma?