A tervezés során olyan adatstruktúrákat alakítsunk ki, amelyek segítik a hatékony adatkezelést. Fontos hogy egy-egy táblába csak a valóban logikailag összetartozó adatok kerüljenek, és hogy minél kevesebb ismétlődés legyen az adatok között.
A relációs modellben külön eljárást fejlesztettek ki arra vonatkozóan, hogy az adatok megfelelő strukturálását, a redundancia csökkentését elősegítsék. Ez a módszer a normalizálás. Ez magában foglalja a táblák létrehozását és a táblák közötti kapcsolatok létrehozását az adatok védelme és az adatbázis rugalmasabbá tétele érdekében a redundancia és az inkonzisztens függőségek kiküszöbölésével.
A redundáns adatok feleslegesen foglalják a lemezterületet, és karbantartási problémákat okoznak. Ha a több helyen megtalálható adatot módosítani kell, a módosítást minden helyen pontosan ugyanúgy kell elvégezni. Az ügyfélcím-módosítás egyszerűbben implementálható, ha az adatokat csak a Vevők táblában tárolja, az adatbázisban pedig sehol máshol.
Mi az „inkonzisztens függőség”? Bár a felhasználók számára magától értetődő, hogy az Ügyfelek táblában meg kell keresni egy adott ügyfél címét, előfordulhat, hogy nem érdemes az adott ügyfelet hívó alkalmazott fizetését keresni. Az alkalmazott bére az alkalmazotthoz kapcsolódik (attól függ), ezért azt az Alkalmazottak táblában kell tárolni. Az inkonzisztens függőségek hatására előfordulhat, hogy az adatokhoz nehezen lehet hozzáférni, mert az adatok elérési útja hiányos vagy hibás lehet.
Az adatbázisok normalizálásának van néhány szabálya. Minden szabályt "normál űrlapnak" nevezünk. Ha az első szabályt figyeli meg, az adatbázis "első normál formában" lesz. Ha az első három szabályt betartják, az adatbázis "harmadik normál" formátumúnak minősül. Bár a normalizálás más szintjei is lehetségesek, a harmadik normálforma a legtöbb alkalmazáshoz szükséges legmagasabb szintnek tekinthető.
Mint számos hivatalos szabály és specifikáció esetében, a valós forgatókönyvek sem mindig teszik lehetővé a tökéletes megfelelőséget. A normalizáláshoz általában új táblák létrehozása szükséges, és egyes ügyfelek ezt fáradságosnak találják. Ha úgy dönt, hogy a normalizálás első három szabálya közül valamelyiknek nem tesz eleget, bizonyosodjon meg arról, hogy az alkalmazás kiküszöböli az esetlegesen felmerülő problémákat (például az adatok redundanciáját és az inkonzisztens függőségeket).
Azt mondjuk, hogy egy reláció első normálformában (1NF) van, ha a relációban minden érték elemi, vagyis a reláció nem tartalmaz adatcsoportot.
Ne használjon több mezőt egyetlen táblában hasonló adatok tárolására. Ha egy készletcikk például két lehetséges forrásból származhat, annak nyomon követéséhez a készletrekord a Szállítókód 1 és a Szállítókód 2 mezőt tartalmazhatja.
Mi történik, ha egy harmadik szállítót is hozzáad? Nem a mező hozzáadása a válasz; program- és táblamódosítást igényel, és nem képes zökkenőmentesen alkalmazkodni a szállítók dinamikus számához. Ehelyett az összes szállító adatait helyezze egy különálló Szállítók nevű táblába, és kapcsolja a készletet a szállítókhoz (a cikk száma a kulcs) vagy a szállítókat a készlethez (a szállító kódja a kulcs).
Első normálformás adatbázist úgy alakítunk ki, hogy az egyedeinket egyedtípusokba, tulajdonságaikat tulajdonságtípusokba rendezzük, tárolásukra pedig olyan táblákat készítünk, amelyekre igazak a relációs adatmodell feltételei.
0NF tábla
1NF tábla