Erinevus 1NF ja 2NF ja 3NF vahel

Erinevus 1NF ja 2NF ja 3NF vahel
Erinevus 1NF ja 2NF ja 3NF vahel

Video: Erinevus 1NF ja 2NF ja 3NF vahel

Video: Erinevus 1NF ja 2NF ja 3NF vahel
Video: HDD и SSD или как вдохнуть жизнь даже в самый "мёртвый" компьютер. 2024, Juuli
Anonim

1NF vs 2NF vs 3NF

Normaliseerimine on protsess, mis viiakse läbi relatsiooniandmebaaside andmetes esinevate liiasuste minimeerimiseks. See protsess jagab peamiselt suured tabelid väiksemateks tabeliteks, kus on vähem koondamisi. Need väiksemad tabelid on omavahel seotud hästi määratletud suhete kaudu. Hästi normaliseeritud andmebaasis nõuab igasugune andmete muutmine või muutmine ainult ühe tabeli muutmist. Esimese normaalvormi (1NF), teise normaalvormi (2NF) ja kolmanda normaalvormi (3NF) tutvustas Edgar F. Codd, kes on ka relatsioonimudeli ja normaliseerimise kontseptsiooni leiutaja.

Mis on 1NF?

1NF on esimene normaalvorm, mis annab minimaalsed nõuded relatsiooniandmebaasi normaliseerimiseks. 1NF-ile vastav tabel tagab, et see esindab tegelikult seost (st ei sisalda korduvaid kirjeid), kuid 1NF-i jaoks pole üldtunnustatud definitsiooni. Üks oluline omadus on see, et 1NF-i järgiv tabel ei tohi sisaldada relatsiooniväärtusega atribuute (st kõigil atribuutidel peavad olema aatomiväärtused).

Mis on 2NF?

2NF on teine normaalvorm, mida kasutatakse relatsiooniandmebaasides. Et tabel järgiks 2NF-i, peab see järgima 1NF-i ja kõik atribuudid, mis ei ole ühegi kandidaatvõtme osa (st mitte-algatavad atribuudid), peaksid täielikult sõltuma tabelis olevatest kandidaatvõtmetest.

Mis on 3NF?

3NF on kolmas normaalvorm, mida kasutatakse relatsioonilise andmebaasi normaliseerimisel. Vastav alt Coddi definitsioonile öeldakse, et tabel on 3NF-is, siis ja ainult siis, kui see tabel on teisel normaalkujul (2NF) ja iga tabeli atribuut, mis ei kuulu kandidaatvõtmesse, peaks otseselt sõltuma iga selle tabeli kandidaadivõtme kohta.1982. aastal koostas Carlo Zaniolo 3NF-i jaoks erinev alt väljendatud määratluse. 3NF-ile vastavad tabelid ei sisalda üldjuhul kõrvalekaldeid, mis tekivad tabelisse kirjete sisestamisel, kustutamisel või värskendamisel.

Mis vahe on 1NF ja 2NF ja 3NF vahel?

1NF, 2NF ja 3NF on tavavormid, mida kasutatakse relatsiooniandmebaasides, et minimeerida tabelite liiasust. 3NF-i peetakse tugevamaks normaalvormiks kui 2NF-i ja seda peetakse tugevamaks normaalvormiks kui 1NF-i. Seetõttu nõuab 3NF-vormile vastava tabeli saamine üldiselt 2NF-i tabeli lammutamist. Samamoodi nõuab 2NF-ile vastava tabeli hankimine 1NF-is oleva tabeli lammutamist. Kui aga 1NF-ile vastav tabel sisaldab kandidaatvõtmeid, mis koosnevad ainult ühest atribuudist (st mitteliitunud kandidaatvõtmed), järgiks selline tabel automaatselt 2NF-i. Tabelite dekomponeerimine toob päringute täitmisel kaasa täiendavad liitumisoperatsioonid (või Descartes'i produktid). See suurendab arvutusaega. Teisest küljest oleks tugevamatele normaalvormidele vastavates tabelites vähem liiasusi kui tabelites, mis vastavad ainult nõrgematele normaalvormidele.

Soovitan: