Forskel mellem 1NF og 2NF og 3NF

Anonim

1NF vs 2NF vs 3NF

Normalisering er en proces, der udføres for at minimere de afskedigelser, der er til stede i data i relationelle databaser. Denne proces vil hovedsagelig opdele store tabeller i mindre tabeller med færre afskedigelser. Disse mindre tabeller vil være relateret til hinanden gennem veldefinerede relationer. I en normaliseret database vil enhver ændring eller ændring i data kræve ændring af kun et enkelt bord. Første normale form (1NF), anden normal form (2NF) og den tredje normale form (3NF) blev introduceret af Edgar F. Codd, som også er opfinderen af ​​relationsmodellen og begrebet normalisering.

Hvad er 1NF?

1NF er den første normale formular, som giver det mindste sæt krav til normalisering af en relationsdatabase. Et bord, der overholder 1NF, sikrer, at det rent faktisk repræsenterer et forhold (dvs. det indeholder ikke nogen optegnelser, der gentager), men der er ingen universelt accepteret definition for 1NF. En vigtig egenskab er, at et bord, der overholder 1NF, ikke kunne indeholde attributter, der er relationelle værdier (dvs. alle attributter skal have atomværdier).

Hvad er 2NF?

2NF er den anden normale form, der anvendes i relationelle databaser. For at et bord skal overholde 2NF, skal det overholdes 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 nogen af ​​kandidatnøglerne i tabellen.

Hvad er 3NF?

3NF er den tredje normale formular, der anvendes i relation til databaser normalisering. Ifølge Codds definition er et bord siges at være i 3NF, hvis og kun hvis, at bordet er i anden normale form (2NF), og hver attribut i tabellen, der ikke tilhører en kandidatnøgle, bør direkte afhænge på hver kandidatnøgle i den tabel. I 1982 producerede Carlo Zaniolo en anden udtrykt definition for 3NF. Tabeller, der overholder 3NF, indeholder generelt ikke uregelmæssigheder, der opstår, når du indsætter, sletter eller opdaterer optegnelser 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 afskedigelser i tabeller. 3NF betragtes som en stærkere normal form end 2NF, og det betragtes som en stærkere normal form end 1NF. Derfor er det generelt nødvendigt at nedbryde et bord, der er i 2NF, ved at opnå et bord, som overholder 3NF-formularen. På samme måde vil opnåelse af et bord, der overholder 2NF, kræve dekomponering af et bord, der er i 1NF. Men hvis en tabel, der overholder 1NF, indeholder kandidatnøgler, der kun består af en enkelt attribut (i. E. Ikke-sammensatte kandidatnøgler), vil en sådan tabel automatisk overholde 2NF.Nedbrydning af tabeller vil resultere i yderligere tilslutningsoperationer (eller kartesiske produkter), når der udføres forespørgsler. Dette vil øge beregningstiden. På den anden side ville tabellerne, der svarer til stærkere normale former, have færre afskedigelser end tabeller, der kun overholder svagere normale former.