A normál forma egy relációs adatmodellben lévő reláció olyan tulajdonsága , amely redundancia szempontjából jellemzi, és potenciálisan logikailag hibás mintavételi vagy adatmódosítási eredményekhez vezethet. A normál formát úgy határozzuk meg, mint a követelmények összességét, amelyeknek egy relációnak meg kell felelnie.
Az adatbázis -relációk olyan formává alakításának folyamatát, amely megfelel a normál formáknak, normalizálásnak nevezzük . A normalizálás célja az adatbázis szerkezetének olyan formába hozása, amely minimális logikai redundanciát biztosít, és nem célja a teljesítmény csökkentése vagy növelése, illetve az adatbázis fizikai mennyiségének csökkentése vagy növelése [1] . A normalizálás végső célja az adatbázisban tárolt információk esetleges inkonzisztenciájának csökkentése. Amint azt K. Date [2] megjegyezte , a normalizálási folyamat általános célja a következő:
A redundanciát általában úgy küszöböljük ki , hogy a relációkat felbontjuk oly módon, hogy minden relációban csak elsődleges tények tárolódnak (vagyis olyan tények, amelyek nem származnak más tárolt tényekből).
Bár a normalizálási ötletek nagyon hasznosak az adatbázis-tervezésben, semmiképpen sem univerzális vagy kimerítő eszköz az adatbázistervezés minőségének javítására. Ennek az az oka, hogy az adatbázis szerkezetében túl sokféle lehetséges hiba és hiányosság van, amelyeket normalizálással nem lehet kiküszöbölni. E megfontolások ellenére a normalizálás elmélete a relációs elmélet és gyakorlat igen értékes vívmánya, mivel tudományosan szigorú és ésszerű kritériumokat ad egy adatbázis-projekt minőségére, valamint formális módszereket e minőség javítására. Ily módon a normalizációs elmélet élesen kiemelkedik a tisztán empirikus tervezési megközelítések [3] hátteréből, amelyeket más adatmodellek kínálnak . Ezen túlmenően vitatható, hogy az informatika teljes területén gyakorlatilag nincs olyan módszer a tervezési megoldások értékelésére és javítására, amelyek a formai szigor szintjén összevethetők a relációs adatbázisok normalizálásának elméletével.
A normalizálást olykor kritizálják azon az alapon, hogy "ez csak józan ész", és bármely hozzáértő szakember "természetesen" megtervez egy teljesen normalizált adatbázist anélkül, hogy függőségi elméletet kellene alkalmaznia [4] . Azonban, amint Christopher Date rámutat , a normalizálás pontosan a józan ész azon elvei, amelyeket egy érett tervező elméjében vezérel, vagyis a normalizálás alapelvei a formalizált józan ész . Mindeközben a józan ész alapelveinek azonosítása és formalizálása igen nehéz feladat, a megoldásban való siker pedig jelentős eredmény [4] .
Számos tudós vett részt a normalizálás elméletének megalkotásában és fejlesztésében. Azonban E. Codd [4] javasolta az első három normálformát és a funkcionális függőség fogalmát .
Egy relációs változó akkor és csak akkor van első normál formában (1NF) , ha bármely érvényes relációs értékben minden sora pontosan egy értéket tartalmaz minden attribútumhoz.
A relációs modellben a reláció mindig első normál formában van, a fogalomreláció definíciója szerint . Ami a különböző táblákat illeti , előfordulhat, hogy nem a kapcsolatok helyes ábrázolásai, és ennek megfelelően nem szerepelnek az 1NF-ben.
Egy relációs változó akkor és csak akkor van második normál formában, ha az első normál alakban van, és minden nem kulcsjellemző attribútum redukálhatatlanul (funkcionálisan teljes) függ a jelölt kulcsától. A funkcionálisan teljes függőség azt jelenti, hogy ha a jelölt kulcs összetett, akkor az attribútum a teljes kulcstól függ, és nem függ annak részeitől.
Egy relációs változó akkor és csak akkor van harmadik normál formában, ha második normál formában van, és nincsenek tranzitív funkcionális függőségek a kulcsattribútumoktól, amelyek nem kulcsfontosságúak.
Egy relációs változó Boyce-Codd normál formában (más szóval erős harmadik normál formában) akkor és csak akkor, ha minden nem triviális és balra irreducibilis funkcionális függősége valamilyen potenciális kulcs a determinánsa .
Egy relációs változó negyedik normál formában van, ha Boyce-Codd normál formában van, és nem tartalmaz nem triviális többértékű függőséget .
Egy relációs változó akkor és csak akkor van ötödik normálalakban (más szóval projektív-konnektív normálformában), ha minden benne lévő nem triviális kapcsolatfüggést ennek a relációnak a potenciális kulcsa(i) határozzák meg.
Egy relációs változó akkor és csak akkor van a DKNF-ben, ha minden rá rótt megszorítás a relációs változóra rótt tartományi megszorítások és kulcskényszerek logikai következménye.
Egy relációs változó akkor és csak akkor van hatodik normál formában, ha minden nem triviális összekapcsolási függőséget kielégít. A definícióból következik, hogy egy változó akkor és csak akkor van a 6NF-ben, ha irreducibilis, azaz nem bontható tovább veszteség nélkül. Minden relációs változó, amely a 6NF-ben van, az 5NF-ben is szerepel.
K. Date vezette be könyvében [2] , mint az ötödik normálalak általánosítása egy kronológiai adatbázishoz .
normál formák | |
---|---|
Adatbázis | |
---|---|
Fogalmak |
|
Objektumok |
|
Kulcsok | |
SQL |
|
Alkatrészek |