Célok

Az adatok visszakereshetőségét a szabályok szerinti adattárolás, az adatmodell teszi lehetővé. Hierarchikus, hálós és relációs adatmodellek közül válaszhatunk. Bár nem minden esetben nyújtja a legjobb eredményt, de egyszerűsége és rugalmassága miatt mégis az Edgar F. Codd által kidolgozott relációs adatbázis a legelterjedtebb az informatikában.

A tervezés nehézségét az jelenti, hogy az egyértelmű informatikai szabályokat a valós világ objektumaira kell alkalmazni, így csak akkor lehetünk eredményesek, ha az informatikai ismeretek mellett jártasok vagyunk a valós világ adott területén is.

A komolyabb érdeklődőknek ajánlom Halassy Béla: Az adatbázistervezés alapjai és titkai című könyvét.

0. NF - Kiindulás

Minden adat táblázatos formában van, vagyis

  • Ugyanabban az oszlopban mindig ugyanannak a tulajdonságnak az értéke található
  • Mindegyik oszlop egyedi névvel azonosítva van
  • Nincs két megegyező sor
  • Egy sorban ugyanannak az egyedelőfordulásnak az értékei szerepelnek
  • Egy cellában csak egy elemi érték található

1. NF - Egyed típusok meghatározása

Olyan adatcsoportokat keresünk, amelyekkel a valós világ egy konkrét elemét (objektumát) adhatjuk meg. Ehhez szükséges olyan tulajdonságokat találni, amelyeknek az értéke egyértelműen megkülönbözteti a többi egyedtől. Az ilyen tulajdonságot nevezzük egyedi azonosítónak.

Az elsődleges kulcs és az általa meghatározott tulajdonságok alkotnak egy egyedtípust. Csak akkor léphetünk tovább, ha minden tulajdonságot be tudtunk sorolni valamilyen kulcshoz. Ekkor az egyedtípusban teljes funkcionális függésről beszélünk, mert minden leíró tulajdonságot meghatároz a kulcs.

Ahhoz, hogy az adatbázisunkban ne veszítsük el az egyedtípusok közötti kapcsolatot (konzisztencia), az elsődleges kulcsokat szerepeltetni kell más egyedtípusokban.

2. NF - Részleges funkcionális függés megszüntetése

Ha van összetett kulcsunk (több tulajdonság adja az elsődleges kulcsot) akkor meg kell vizsgálni a kulcs minden elemét, hogy lehet-e elsődleges kulcsa valamelyik leíró tulajdonságnak. Ha van ilyen, akkor új egyedtípusba kell átemelnünk ezeket a tulajdonságokat.

3. NF - Tranzitív függések megszüntetése

Megvizsgáljuk, hogy az egyes egyedtípusokon belüli leíró tulajdonságok között van-e függőség. Ha találunk, akkor ezekből új egyedtípust kell alkotnunk.