1NF vs 2NF vs 3NF
Normalisering er en prosess som utføres for å minimere redundansene som er tilstede i data i relasjonsdatabaser. Denne prosessen vil i hovedsak dele store bord i til mindre bord med færre avskedigelser. Disse mindre tabellene vil være relatert til hverandre gjennom veldefinerte relasjoner. I en brønn normalisert database vil eventuelle endringer eller modifikasjoner i data kreve endring bare et enkelt bord. Første normal form (1NF), Second normal form (2NF) og Third Normal Form (3NF) ble introdusert av Edgar F. Codd, som også er oppfinner av relasjonsmodellen og begrepet normalisering.
Hva er 1NF?
1NF er den første vanlige formen, som gir minimums krav til normalisering av en relasjonsdatabase. Et bord som overholder 1NF sikrer at det faktisk representerer et forhold (det vil si at det ikke inneholder noen poster som gjentar), men det er ingen universelt akseptert definisjon for 1NF. En viktig egenskap er at et bord som overholder 1NF, ikke kunne inneholde noen attributter som er relasjonsverdierte (dvs. alle attributter skal ha atomverdier).
Hva er 2NF?
2NF er den andre normale form som brukes i relasjonsdatabaser. For at et bord skal overholde 2NF, skal det overholdes 1NF, og ethvert attributt som ikke er en del av en kandidatnøkkel (dvs. ikke-primære attributter), bør fullt ut avhenge av hvilken som helst av kandidatnøklene i tabellen.
Hva er 3NF?
3NF er den tredje normale form som brukes i relasjonsdatabase normalisering. Ifølge Codds definisjon er det sagt at en tabell er i 3NF, hvis og bare hvis det bordet er i den andre normale form (2NF), og hver egenskap i tabellen som ikke tilhører en kandidatnøkkel, bør direkte avhenge av på hver kandidatnøkkel i den tabellen. I 1982 produserte Carlo Zaniolo en annerledes uttrykt definisjon for 3NF. Tabeller som overholder 3NF inneholder vanligvis ikke anomalier som oppstår når du setter inn, sletter eller oppdaterer poster i tabellen.
Hva er forskjellen mellom 1NF og 2NF og 3NF?
1NF, 2NF og 3NF er vanlige former som brukes i relasjonsdatabaser for å minimere redundans i tabeller. 3NF regnes som en sterkere normal form enn 2NF, og det regnes som en sterkere normal form enn 1NF. Derfor, generelt, å oppnå et bord som samsvarer med 3NF-skjemaet, krever at det brytes ned et bord som er i 2NF. På samme måte vil det oppstå et bord som er i 1NF ved å skaffe et bord som overholder 2NF. Hvis en tabell som oppfyller 1NF inneholder kandidatnøkler som bare består av en enkelt attributt (dvs. ikke-sammensatte kandidatnøkler), vil et slikt bord automatisk overholde 2NF. Dekomponering av tabeller vil resultere i tilleggsoperasjoner (eller kartesiske produkter) når du utfører spørringer. Dette vil øke beregningstiden. På den annen side vil tabellene som overholder sterkere normale skjemaer ha færre redundanser enn tabeller som bare overholder svakere normale skjemaer.