Most, hogy áttanulmányoztuk a funkcionális függéseket és néhány tulajdonságukat, készen állunk arra, hogy segítségükkel megadjuk a relációsémák szemantikájának néhány aspektusát. Feltételezzük, hogy minden relációhoz adott funkcionális függések egy halmaza, és hogy minden relációnak van egy kijelölt elsődleges kulcsa; ezek az információk — a normálformákra vonatkozó tesztekkel (feltételekkel) együtt — képezik az alapját a relációséma-tervezés normalizációs folyamatának. A legtöbb, gyakorlatban alkalmazott relációséma-tervezési projekt az alábbi két megközelítés egyikét alkalmazza:
Hajtsunk végre koncepcionális sématervezést egy koncepcionális modell (például ER vagy EER) segítségével, majd képezzük le a koncepcionális tervet relációsémák halmazára.
Tervezzük meg a relációkat olyan külső ismeretek alapján, melyeket már létező állományokból (iratokból), űrlapokból vagy jelentésekből származtatunk.
Bármelyik megközelítést is választjuk, célszerű a relációkat kiértékelni jóság szempontjából, és szükség szerint tovább bontani őket a magasabb normálformák elérése érdekében az ebben és a következő fejezetben bemutatott normalizálási elmélet felhasználásával. Ebben az alfejezetben a relációsémák első három normálformájával és a mögöttük meghúzódó tartalommal, valamint történeti fejlődésükkel foglalkozunk. A 8.4. alfejezetben ezen normálformák általánosabb definícióit ismertetjük, amelyek a reláció összes kulcsjelöltjét figyelembe veszik, nem csak az elsődleges kulcsot.
A normálformák informális tárgyalásával és a kialakulásuk mögött rejlő motívációval kezdünk, valamint áttekintünk néhány olyan, a 5. fejezetben ismertetett definíciót, amelyekre itt is szükségünk lesz. Ezután az első normálformát (1NF) ismertetjük a 8.3.4. alfejezetben, majd a második normálforma (2NF) és a harmadik normálforma (3NF) elsődleges kulcson alapuló definícióit mutatjuk be a 8.3.5. és 8.3.6. alfejezetekben.
A normalizációs folyamat Codd első javaslata szerint (Codd (1972)) végigvisz egy relációsémát tesztek egy sorozatán annak ellenőrzésére, hogy kielégít-e egy bizonyos normálformát. Ezt a folyamatot, amely felülről lefelé haladva minden relációt kiértékel a normálformákra vonatkozó kritériumok szerint, és ha szükséges, fölbontja őket, analízis alapú relációs tervezésnek tekinthetjük. Codd kezdetben három normálformát javasolt, amelyeket első, második és harmadik normálformának nevezett. Boyce és Codd később egy, a 3NF-nél erősebb normálformát definiált, amelyet Boyce–Codd-normálformának (BCNF) nevezünk. Mindegyik normálforma egyetlen analitikai eszközön alapul: a reláció attribútumai között fennálló funkcionális függéseken. Még később bevezetésre került a negyedik (4NF) és az ötödik normálforma (5NF), amelyek a többértékű, illetve a kapcsolásfüggés fogalmán alapulnak; ezekről a 9. fejezetben lesz szó. A 9. fejezet elején azt is megmutatjuk, hogyan lehet 3NF relációkat összerakni funkcionális függések adott halmazából. Ezt a megközelítést szintézis alapú relációs tervezésnek nevezzük.
Az adatok normalizálása egy olyan folyamatnak tekinthető, amely elemzi az adott relációsémákat a funkcionális függéseik és elsődleges kulcsaik alapján, hogy (1) minimalizálja a redundanciát és (2) minimalizálja a 8.1.2. alfejezetben tárgyalt beszúrási, törlési és módosítási anomáliákat. A nem megfelelő relációsémákat, amelyek nem felelnek meg bizonyos feltételeknek — normálformateszteknek — felbontjuk kisebb relációsémákra, amelyek megfelelnek a teszteknek, és így rendelkeznek az elvárt tulajdonságokkal. A normalizációs eljárás tehát az adatbázistervezők számára a következőket biztosítja:
Egy formális keretrendszert a relációsémák elemzéséhez, amely a relációsémák kulcsain és az attribútumaik között fennálló funkcionális függéseken alapszik.
Normálformatesztek egy sorozatát, amelyek egy-egy relációsémán hajthatók végre, hogy a relációs adatbázis tetszőleges mértékig normalizálható legyen.
Definíció. Egy reláció normálformája a legmagasabb olyan normálforma, amely feltételének a reláció megfelel, és így jelzi a reláció normalizáltságának a fokát.
A normálformák önmagukban, más tényezőktől elkülönítve, nem garantálnak jó adatbázistervet. Általában nem elegendő külön ellenőrizni, hogy az egyes relációsémák az adatbázisban mondjuk BCNF-ben vagy 3NF-ben vannak-e. Ehelyett a dekompozíción alapuló normalizálási folyamatnak olyan további tulajdonságok meglétét is biztosítania kell, amelyek a relációsémák együttesére kell, hogy teljesüljenek. Két ilyen tulajdonság van:
A veszteségmentes join vagy nemadditív join tulajdonság , amely garantálja, hogy a 8.1.4. alfejezetben ismertetett álrekordgenerálási probléma nem lép fel a felbontás során keletkező relációsémák tekintetében.
A függésmegőrző tulajdonság , amely biztosítja, hogy minden funkcionális függés megmarad a felbontást követően kapott valamelyik relációban.
A nemadditív join tulajdonság különösen fontos és bármi áron biztosítani kell, míg a függésmegőrző tulajdonságot, bár kívánatos, néha feláldozzuk, ahogy azt a 9.1.2. alfejezetben majd látni fogjuk. A fenti két tulajdonságot garantáló formális fogalmakat és technikákat a 9. fejezetben fogjuk ismertetni.
A legtöbb gyakorlati tervező projekt adatbázisok létező terveiből indul ki, amelyek korábbi tervekből, korai modellek alapján készített tervekből vagy létező állományokból származnak. A gyakorlatban a normalizálást úgy hajtják végre, hogy az eredményül kapott tervek jó minőségűek, és megfelelnek az előzőekben ismertetett elvárt tulajdonságoknak. Bár számos magasabb normálformát definiáltak (mint például a 4NF és az 5NF, amelyeket a 9. fejezetben ismertetünk), ezek gyakorlati hasznossága kérdésessé válik akkor, amikor azok az adatbázistervezők és felhasználók, akiknek ez a feladatuk, nehezen tudják megérteni, illetve felismerni azokat a megszorításokat, amelyeken ezek a normálformák alapulnak. Az iparban manapság alkalmazott adatbázistervezés során ezért csak a 3NF-ig, BCNF-ig vagy 4NF-ig végrehajtott normalizálásra fordítanak figyelmet.
Megemlíthetjük még, hogy az adatbázistervezőknek nem szükséges a lehető legmagasabb fokig normalizálniuk. A relációkat alacsonyabb normalizációs szinten is hagyhatjuk (például 2NF-ben) a teljesítmény növelése érdekében, ahogy arról a 8.1.2. alfejezet végén írtunk.
Definíció. Azt a folyamatot, amelynek során magasabb normálformájú relációk összekapcsolását alaprelációként tároljuk (amely alacsonyabb normálformában van), denormalizációnak nevezzük.
Mielőtt tovább haladnánk, vessünk ismételten egy pillantást egy relációséma kulcsainak a definícióira, ahogyan azt a 5. fejezetben tettük.
Definíció. Egy R = {A 1, A 2, …, An } relációséma szuperkulcsa azon S ⊆ R attribútumhalmaz, amelyre teljesül, hogy bármely R feletti legális r relációban nincs két olyan t 1 és t 2 rekord, amelyre t 1[S] = t 2[S] teljesül. A K kulcs egy olyan szuperkulcs, amelyből bármely attribútum eltávolítása azt eredményezi, hogy K már nem lesz szuperkulcs.
A különbség egy kulcs és egy szuperkulcs között az, hogy a kulcsnak minimálisnak kell lennie, azaz ha van egy K = {A 1, A 2, …, Ak } kulcsa R-nek, akkor K − {Ai } nem kulcsa R-nek egyetlen Ai (1 < i < k) esetén sem. A 8.1. ábrán {Szsz} egy kulcsa a DOLGOZÓ-nak, míg az {Szsz}, {Szsz, Dnév}, {Szsz, Dnév, Szdátum} és minden olyan attribútumhalmaz, amely tartalmazza Szsz-t, szuperkulcs.
Ha egy relációsémának egynél több kulcsa van, akkor ezeket kulcsjelölteknek nevezzük. A kulcsjelöltek közül egy tetszőlegesen kiválasztott lesz az elsődleges kulcs , a többit másodlagos kulcsoknak nevezzük. Minden relációsémának kell, hogy legyen elsődleges kulcsa. A 8.1. ábrán {Szsz} az egyetlen kulcsjelöltje a DOLGOZÓ-nak, így egyben ez az elsődleges kulcs is.
Definíció. Az R relációséma egy attribútumát R egy elsődleges attribútumának nevezzük, ha eleme R valamely kulcsjelöltjének. Egy attribútumot másodlagos vagy leíró attribútumnak hívunk, ha nem elsődleges attribútum, azaz nem eleme egyetlen kulcsjelöltnek sem.
A 8.1. ábrán az Szsz is és a Pszám is elsődleges attribútumai a DOLGOZIK_RAJTA relációsémának, míg a DOLGOZIK_RAJTA többi attribútuma leíró attribútum.
Mindezek után most bemutatjuk az első három normálformát: az 1NF-et, a 2NF-et és a 3NF-et. Ezeket Codd ajánlotta (Codd (1972)) mint egy olyan sorozatot, amellyel elérhető a relációk kívánatos 3NF állapota, áthaladva az 1NF és 2NF közbenső állapotain, ha szükséges. Amint azt látni fogjuk, a 2NF és a 3NF különböző problémákat orvosolnak. Mindazonáltal történeti okokból kifolyólag szokás ebben a sorrendben ismertetni őket, ezért feltételezni fogjuk, hogy egy 3NF reláció már kielégíti a 2NF-et.
Az első normálforma az alap relációs modellben ismertetett reláció fogalom formális definíciójának a részeként is felfogható;[32] történelmileg azért definiálták, hogy megtiltsa a többértékű attribútumokat, az összetett attribútumokat és ezek kombinációját. Azt mondja ki, hogy az attribútumok tartománya kizárólag atomi (egyszerű, oszthatatlan) értékeket tartalmazhat, és hogy a rekordokban bármely attribútum értéke csak egyetlen érték lehet az adott attribútum tartományából. Az 1NF ezáltal megtiltja, hogy egy rekordon belül az attribútumok értéke egy értékhalmaz, egy érték n-es vagy ezek kombinációja legyen. Más szóval, az 1NF nem engedi meg a relációkon belüli relációkat, illetve a relációkat mint attribútumértékeket a rekordokon belül. Az 1NF szerint tehát egy attribútum értéke kizárólag egyetlen atomi (vagy oszthatatlan) érték lehet.
8.8. ábra - Normalizálás 1NF-be. (a) Egy relációséma, amely nincs 1NF-ben. (b) Az OSZTÁLY reláció példa állapota. (c) Ugyanazon reláció 1NF változata redundanciával.

Tekintsük a 8.1. ábrán látható OSZTÁLY relációsémát, amelynek az elsődleges kulcsa az Oszám, és tegyük fel, hogy kibővítjük egy Ohelyszínek attribútummal, ahogyan a 8.8. (a) ábrán látható. Feltételezzük, hogy minden osztály több helyszínnel is rendelkezhet. Az OSZTÁLY séma és egy példa relációállapot látható a 8.8. ábrán. Ahogy látható, nincs 1NF-ben, mert az Ohelyszínek nem atomi attribútum, ahogy a 8.8. (b) ábra első rekordja mutatja. Kétféleképpen tekinthetünk az Ohelyszínek attribútumra:
Az Ohelyszínek tartománya atomi értékekből áll ugyan, de egyes rekordok ezen értékek halmazát tartalmazhatják. Ebben az esetben az Ohelyszínek nem függ funkcionálisan az Oszám elsődleges kulcstól.
Az Ohelyszínek tartománya értékhalmazokból áll, ezért nem atomi. Ebben az esetben fennáll az Oszám → Ohelyszínek függés, mert minden ilyen értékhalmaz az attribútum tartományának egyetlen elemeként tekinthető.[33]
A 8.8. ábrán látható OSZTÁLY reláció egyik esetben sincs 1NF-ben; valójában még relációnak sem tekinthető az 5.1. alfejezetben definiált reláció fogalom alapján. Három fő technika létezik az első normálforma elérésére az ilyen relációk esetén.
Távolítsuk el az 1NF-et sértő Ohelyszínek attribútumot, és helyezzük el egy külön OSZT_HELYSZÍNEK relációban az OSZTÁLY Oszám elsődleges kulcsával együtt. Az új reláció elsődleges kulcsa az {Oszám, Ohelyszín} lesz, ahogy a 8.2. ábrán látható. Az OSZT_HELYSZÍNEK relációban az egyes osztályok minden helyszínéhez külön rekord tartozik. Ezzel felbontottuk a nem 1NF relációt két 1NF relációra.
Bővítsük ki a kulcsot az eredeti OSZTÁLY relációban úgy, hogy külön rekord tartozzon az osztályok minden egyes helyszínéhez, ahogy a 8.8. (c) ábrán látható. Ebben az esetben az elsődleges kulcs az {Oszám, Ohelyszín} lesz. A megoldás hátránya, hogy redundanciát vezet be a relációba.
Ha tudjuk, hogy az attribútum egy maximális számú értéket vehet fel — például tudjuk, hogy legfeljebb három helyszín tartozhat egy osztályhoz —, akkor helyettesítsük az Ohelyszínek attribútumot három atomi attribútummal: Ohelyszín1, Ohelyszín2 és Ohelyszín3. Ennek a megoldásnak a hátránya, hogy NULL értékeket vezet be, ha a legtöbb osztálynak háromnál kevesebb helyszíne van. Ráadásul hamis értelmezést sugall a helyszínek rendezettségére vonatkozóan, pedig ilyen rendezettség eredetileg nem is szerepelt a terveink között. Nehezebbé válik a lekérdezés is ezen attribútum alapján; például képzeljük el, hogyan írnánk meg az alábbi lekérdezést egy ilyen sémát használva: Listázzuk ki azokat az osztályokat, amelyiknek az egyik helyszíne Vác!
A fent említett három megoldás közül általában az elsőt tekintjük a legjobbnak, mert nem okoz redundanciát, és teljesen általános, nincs korlát az értékek maximális számára vonatkozóan. Valójában ha a második megoldást választjuk, akkor a későbbi normalizációs lépésekben további dekompozícióval úgyis az első megoldáshoz jutunk.
8.9. ábra - Beágyazott relációk normalizálása 1NF-be. (a) A DOLG_PROJ reláció sémája a Projektek beágyazott reláció attribútummal. (b) A DOLG_PROJ reláció példa állapota mutatja a beágyazott relációkat mindegyik rekordban. (c) A DOLG_PROJ szétbontása DOLG_PROJ1 és DOLG_PROJ2 relációkra az elsődleges kulcs hozzávételével.

Az első normálforma az olyan többértékű attribútumokat is tiltja, amelyek maguk is összetettek. Ezeket beágyazott relációknak hívjuk, mert minden rekord egy relációt foglalhat magában. A 8.9. ábra mutatja, hogy hogy nézne ki a DOLG_PROJ reláció, ha megengednénk a beágyazást. Minden rekord egy dolgozó egyedet reprezentál, és az egyes rekordokon belül a PROJEKTEK(Pszám, Órák) reláció reprezentálja a dolgozó projektjeit, és hogy hány órát dolgozik az adott dolgozó az egyes projekteken. A DOLG_PROJ reláció sémája a következőképpen írható fel:
DOLG_PROJ(Szsz, Dnév, {PROJEKTEK(Pszám, Órák)})
A halmazt jelölő kapcsos zárójelek mutatják azt, hogy a PROJEKTEK attribútum többértékű, míg a PROJEKTEK-et alkotó attribútumokat kerek zárójelek között soroljuk fel. Érdekes módon az összetett objektumokat és az XML adatokat támogató mai trendek megkísérlik lehetővé tenni és formalizálni a beágyazott relációk használatát a relációs adatbázisrendszereken belül, amit korábban az 1NF tiltott.
Figyeljük meg, hogy az Szsz a DOLG_PROJ reláció elsődleges kulcsa a 8.9. (a) és (b) ábrákon, míg a Pszám részleges kulcsa a beágyazott relációnak; ez azt jelenti, hogy a Pszámnak a beágyazott relációban minden egyes rekordon belül egyedi értékkel kell rendelkeznie. Ahhoz, hogy 1NF-be normalizáljuk ezt a relációt, kivesszük azt az attribútumot, amely beágyazott relációként szerepel, új relációt készítünk belőle, és hozzávesszük az eredeti reláció elsődleges kulcsát; az új reláció elsődleges kulcsa az eredeti reláció elsődleges kulcsának és a részleges kulcsnak a kombinációja lesz. A felbontás és az elsődleges kulcs átvétele eredményezi a DOLG_PROJ1 és DOLG_PROJ2 sémákat, ahogyan a 8.9. (c) ábrán látható.
Ezt az eljárást rekurzívan alkalmazhatjuk egy olyan relációra, amely többszintű beágyazást tartalmaz, hogy eltávolítsuk a beágyazásokat a relációból, és 1NF relációkat hozzunk létre. Ez akkor hasznos, ha egy nem normalizált, többszintű beágyazást tartalmazó relációsémát szeretnénk átkonvertálni 1NF relációkba. Óvatosan kell kezelni azt a szituációt, amikor egynél több többértékű attribútum fordul elő egy relációban. Tekintsük például a következő nem 1NF relációt:
SZEMÉLY(Szsz, {Rendszám}, {Telefonszám})
Ez a reláció azt a tényt szemlélteti, hogy egy személynek több autója és több telefonja lehet. Ha a fenti második lehetőséghez hasonló stratégiát követünk, akkor egy olyan relációt kapunk, amelynek kulcsát az összes attribútum együtt alkotja:
SZEMÉLY_1NF(Szsz, Rendszám, Telefonszám)
Hogy elkerüljük a Rendszám és a Telefonszám közötti extra, nem létező kapcsolatok bevezetését, az értékeik minden lehetséges kombinációját szerepeltetjük minden Szsz esetén, megnövelve ezzel a redundanciát. Ez olyan problémákhoz vezet, amelyeket többértékű függésekkel és a 4NF-fel kezelünk, amelyekről a 9. fejezetben lesz szó. A fentebb bemutatott SZEMÉLY relációsémában lévő két többértékű attribútum kezelésének helyes módja, hogy szétbontjuk a relációsémát két külön relációra a korábban tárgyalt első stratégiát követve: P1(Szsz, Rendszám) és P2(Szsz, Telefonszám).
A második normálforma (2NF) a teljes funkcionális függés fogalmán alapul. Egy X → Y funkcionális függés teljes funkcionális függés , ha az X-ből egy A attribútum eltávolításával a függés már nem áll fenn; azaz bármely A ∈ X attribútum esetén (X − {A}) nem határozza meg funkcionálisan Y-t. Egy X → Y funkcionális függés részleges függés , ha valamely A ∈ X attribútum eltávolítható X-ből úgy, hogy a függés továbbra is fennáll; azaz valamely A ∈ X esetén (X − {A}) → Y. A 8.3. (b) ábrán az { Szsz, Pszám } → Órák teljes függés (sem Szsz → Órák, sem Pszám → Órák nem áll fenn). Az { Szsz, Pszám } → Dnév ellenben részleges függés, mert Szsz → Dnév teljesül.
Definíció. Az R relációséma 2NF-ben van, ha R minden A másodlagos (leíró) attribútuma teljesen funkcionálisan függ R elsődleges kulcsától.
A 2NF tesztelése az olyan funkcionális függések tesztelését jelenti, amelyeknek a bal oldali attribútumai az elsődleges kulcs részei. Ha az elsődleges kulcs egyetlen attribútumot tartalmaz, akkor a tesztet egyáltalán nem kell alkalmazni. A 8.3. (b) ábrán látható DOLG_PROJ reláció 1NF-ben van, de nincs 2NF-ben. A Dnév másodlagos attribútum sérti a 2NF-et az FD2 miatt, mint ahogy a Pnév és a Phelyszín másodlagos attribútumok is az FD3 miatt. Az FD2 és FD3 funkcionális függések a Dnév, Pnév és Phelyszín attribútumokat részlegesen függővé teszik a DOLG_PROJ {Szsz, Pszám} elsődleges kulcsától, megsértve ezzel a 2NF tesztet.
Ha egy relációséma nincs 2NF-ben, akkor második normálformára vagy 2NF-re hozhatjuk, azaz felbonthatjuk több 2NF relációsémára, amelyekben a másodlagos attribútumok az eredeti elsődleges kulcsnak csak azon részével szerepelnek együtt, amelyektől teljesen funkcionálisan függnek. Ezek alapján a 8.3. (b) ábrán látható FD1, FD2 és FD3 funkcionális függések a DOLG_PROJ három új (DP1, DP2, DP3) relációsémára történő felbontásához vezetnek, amelyek mindegyike 2NF-ben van, ahogyan az a 8.10. (a) ábrán látható.
8.10. ábra - Normalizálás 2NF-be és 3NF-be. (a) A DOLG_PROJ normalizálása 2NF relációkra. (b) A DOLG_OSZT normalizálása 3NF relációkra.

A harmadik normálforma (3NF) a tranzitív függés fogalmán alapul. Egy R relációséma X → Y funkcionális függése tranzitív függés , ha létezik egy olyan Z attribútumhalmaz, amely nem kulcsjelölt és nem része R egyetlen kulcsának sem[34], és fennáll X → Z, illetve Z → Y. A 8.3. (a) ábra DOLG_OSZT relációsémájában az Szsz → Ovez_szsz tranzitív függés az Oszámon keresztül, mert az Szsz → Oszám és az Oszám → Ovez_szsz is fennáll, és az Oszám nem kulcs és nem is része a DOLG_OSZT kulcsának. Intuitívan láthatjuk, hogy az Ovez_szsz függése az Oszámtól nem kívánatos a DOLG_OSZT relációsémában, mivel az Oszám nem kulcsa a DOLG_OSZT-nak.
Definíció. Codd eredeti definíciója alapján egy R relációséma harmadik normálformában (3NF-ben) van, ha 2NF-ben van és R egyik másodlagos (leíró) attribútuma sem függ tranzitívan az elsődleges kulcstól.
A 8.3. (a) ábrán a DOLG_OSZT relációséma 2NF-ben van, mivel nincsen benne kulcstól való részleges függés. Nincs azonban 3NF-ben, mert az Ovez_szsz (és az Onév is) tranzitívan függ az Szsz-től az Oszámon keresztül. A DOLG_OSZT relációsémát úgy normalizálhatjuk, hogy felbontjuk két 3NF relációsémára (DO1 és DO2), ahogy a 8.10. (b) ábrán látható. Intuitívan láthatjuk, hogy az DO1 és a DO2 a dolgozókról és az osztályokról egymástól független tényeket tartalmaznak. A DO1-en és DO2-n végrehajtott természetes összekapcsolás álrekordok előállítása nélkül visszaadja az eredeti DOLG_OSZT relációt.
Intuitívan láthatjuk, hogy minden olyan funkcionális függés, amelynek a bal oldala része (valódi részhalmaza) az elsődleges kulcsnak, illetve minden olyan funkcionális függés, amelynek a bal oldala egy nem kulcs attribútum, az problematikus funkcionális függés. A 2NF és 3NF normalizálás megszünteti ezeket a problémás funkcionális függéseket azáltal, hogy az eredeti relációt új relációkra bontja szét. A normalizálási folyamat szempontjából nem szükséges a részleges függéseket a tranzitív függések előtt eltüntetni, de történelmileg a 3NF-et azzal a feltételezéssel definiálták, hogy a relációt már teszteltük a 2NF-re, mielőtt a 3NF-re tesztelnénk. A 8.1. táblázat informálisan összefoglalja a három, elsődleges kulcson alapuló normálformát, az egyes esetekben használt teszteket és a megfelelő megoldást, azaz a kívánt normálforma eléréséhez szükséges tennivalókat.
8.1. táblázat - Az elsődleges kulcsra épülő normálformák és az elérésükhöz szükséges normalizálási tevékenységek összefoglalása
| Normálforma | Tesztelés | Megoldás (normalizáció) |
|---|---|---|
| Első (1NF) | A relációnak nincs többértékű attribútuma, és nincs benne beágyazott reláció. | Képezzünk új relációt minden egyes többértékű attribútumhoz és beágyazott relációhoz. |
| Második (2NF) | Azon relációkban, amelyeknek az elsődleges kulcsa több attribútumból áll, egyetlen leíró attribútum sem függ az elsődleges kulcs egy részétől. | Bontsuk szét a relációt, és hozzunk létre új relációt minden egyes részleges kulcshoz az általuk meghatározott attribútumokkal. Győződjünk meg róla, hogy megtartunk egy relációt az eredeti elsődleges kulccsal és azokkal az attribútumokkal, amelyek teljesen függnek tőle. |
| Harmadik (3NF) | A relációnak nincs olyan leíró attribútuma, amely funkcionálisan függ egy másik leíró attribútumtól (vagy leíró attribútumok egy halmazától). Azaz egyetlen leíró attribútum sem függ tranzitívan az elsődleges kulcstól. | Bontsuk szét a relációt, és hozzunk létre egy új relációt, amely tartalmazza az(oka)t a leíró attribútumo(ka)t, amely(ek) funkcionálisan meghatároz(nak) más leíró attribútumo(ka)t. |
[32] Ezt a feltétel már nem szerepel a beágyazott relációs modellben és az objektum-relációs rendszerekben (ORDBMS-ekben), amelyek megengedik a nem normalizált relációkat.
[33] Ebben az esetben az Ohelyszínek tartományát egy egyszerű helyszínekből álló halmaz hatványhalmazának tekinthetjük; azaz a tartomány az egyszerű helyszínek halmazának összes lehetséges részhalmazából áll.
[34] Ez a tranzitív függés általános definíciója. Mivel ebben a fejezetben csak az elsődleges kulcsokkal foglalkozunk, megengedünk olyan tranzitív függéseket, amelyekben X az elsődleges kulcs, míg Z lehet kulcsjelölt vagy annak egy részhalmaza.