Forskellen mellem 1NF og 2NF og 3NF

Forskellen mellem 1NF og 2NF og 3NF
Forskellen mellem 1NF og 2NF og 3NF

Video: Forskellen mellem 1NF og 2NF og 3NF

Video: Forskellen mellem 1NF og 2NF og 3NF
Video: Refurb guider: Hvad er forskellen på HDD og SSD? 2024, November
Anonim

1NF vs 2NF vs 3NF

Normalisering er en proces, der udføres for at minimere de redundanser, der er til stede i data i relationelle databaser. Denne proces vil hovedsageligt opdele store tabeller i mindre tabeller med færre redundanser. Disse mindre tabeller vil være relateret til hinanden gennem veldefinerede relationer. I en velnormaliseret database vil enhver ændring eller modifikation af data kun kræve ændring af en enkelt tabel. Første normalform (1NF), Anden normalform (2NF) og den tredje normalform (3NF) blev introduceret af Edgar F. Codd, som også er opfinderen af den relationelle model og begrebet normalisering.

Hvad er 1NF?

1NF er den første normale form, som giver minimumskravene til normalisering af en relationsdatabase. En tabel, der overholder 1NF, sikrer, at den faktisk repræsenterer en relation (dvs. den indeholder ikke nogen poster, der gentager sig), men der er ingen universelt accepteret definition for 1NF. En vigtig egenskab er, at en tabel, der overholder 1NF, ikke kan indeholde nogen attributter, der er relationelle værdier (dvs. alle attributterne skal have atomværdier).

Hvad er 2NF?

2NF er den anden normalform, der bruges i relationelle databaser. For at en tabel skal være i overensstemmelse med 2NF, skal den overholdes med 1NF, og enhver attribut, der ikke er en del af en kandidatnøgle (dvs. ikke-primære attributter), bør fuldt ud afhænge af en hvilken som helst af kandidatnøglerne i tabellen.

Hvad er 3NF?

3NF er den tredje normalform, der bruges i relationel databasenormalisering. Ifølge Codd's definition siges en tabel at være i 3NF, hvis og kun hvis, denne tabel er i den anden normale form (2NF), og hver attribut i tabellen, der ikke hører til en kandidatnøgle, skulle direkte afhænge af på hver kandidatnøgle i den tabel. I 1982 producerede Carlo Zaniolo en anderledes udtrykt definition for 3NF. Tabeller, der overholder 3NF, indeholder generelt ikke uregelmæssigheder, der opstår ved indsættelse, sletning eller opdatering af poster i tabellen.

Hvad er forskellen mellem 1NF og 2NF og 3NF?

1NF, 2NF og 3NF er normale former, der bruges i relationelle databaser for at minimere redundanser i tabeller. 3NF betragtes som en stærkere normalform end 2NF, og den betragtes som en stærkere normalform end 1NF. Derfor vil det generelt kræve at få en tabel, der overholder 3NF-formularen, at nedbryde en tabel, der er i 2NF. Tilsvarende vil opnåelse af en tabel, der overholder 2NF, kræve nedbrydning af en tabel, der er i 1NF. Men hvis en tabel, der overholder 1NF, indeholder kandidatnøgler, der kun består af en enkelt attribut (dvs. ikke-sammensatte kandidatnøgler), ville en sådan tabel automatisk overholde 2NF. Dekomponering af tabeller vil resultere i yderligere join-operationer (eller kartesiske produkter), når forespørgsler udføres. Dette vil øge beregningstiden. På den anden side ville de tabeller, der overholder stærkere normalformer, have færre redundanser end tabeller, der kun overholder svagere normalformer.

Anbefalede: