Verschil tussen 1NF en 2NF en 3NF

Anonim

1NF vs 2NF vs 3NF

Normalisatie is een proces dat wordt uitgevoerd om de redundansen die aanwezig zijn in data in relationele databases te minimaliseren. Dit proces zal voornamelijk grote tabellen verdelen in kleinere tabellen met minder ontslagen. Deze kleinere tabellen zullen door middel van goed gedefinieerde relaties met elkaar worden verbonden. In een goed genormaliseerde database moet elke wijziging of wijziging van de gegevens alleen een enkele tabel wijzigen. Eerste normale vorm (1NF), tweede normale vorm (2NF) en de derde normale vorm (3NF) werd geïntroduceerd door Edgar F. Codd, die ook de uitvinder van het relationele model en het concept van normalisatie is.

Wat is 1NF?

1NF is het eerste normale formulier, dat de minimale set eisen voor het normaliseren van een relationele database bevat. Een tabel die voldoet aan 1NF verzekert dat het eigenlijk een relatie vertegenwoordigt (bijv. Het bevat geen records die herhalen), maar er is geen universele aanvaarde definitie voor 1NF. Een belangrijk kenmerk is dat een tabel die voldoet aan 1NF geen kenmerken bevat die relatief gewaardeerd zijn (dwz alle attributen zouden atoomwaarden moeten hebben).

Wat is 2NF?

2NF is het tweede normale formulier dat wordt gebruikt in relationele databases. Voor een tafel die voldoet aan 2NF, moet het voldoen aan 1NF en elk attribuut dat geen deel uitmaakt van een kandidaat sleutel (bijv. Niet-primaire attributen) zou volledig afhankelijk zijn van een van de kandidaat sleutels in de tabel.

Wat is 3NF?

3NF is het derde normale formulier dat wordt gebruikt in de relationele database normalisatie. Volgens de definitie van de Codd wordt in tabel 3NF een tabel genoemd, indien en alleen indien die tabel in de tweede normale vorm (2NF) staat en dat alle attributen in de tabel die niet bij een kandidaat-sleutel hoort, rechtstreeks afhankelijk moeten zijn op elke kandidaat sleutel van die tabel. In 1982 produceerde Carlo Zaniolo een anders uitgesproken definitie voor 3NF. Tabellen die voldoen aan de 3NF bevatten in het algemeen geen afwijkingen die optreden bij het plaatsen, verwijderen of bijwerken van records in de tabel.

Wat is het verschil tussen 1NF en 2NF en 3NF?

1NF, 2NF en 3NF zijn normale vormen die worden gebruikt in relationele databases om redundancies in tabellen te minimaliseren. 3NF wordt beschouwd als een sterkere normale vorm dan de 2NF, en wordt beschouwd als een sterkere normale vorm dan 1NF. Daarom, bij het verkrijgen van een tabel die voldoet aan het 3NF-formulier, moet een tabel in de 2NF worden afgebroken. Op dezelfde manier, het verkrijgen van een tafel die voldoet aan de 2NF zal nodig zijn om een ​​tabel in de 1NF te ontleden. Echter, als een tabel die voldoet aan 1NF, kandidaat sleutels bevatten die alleen bestaan ​​uit een enkel attribuut (bijvoorbeeld niet-samengestelde kandidaat sleutels), zou een dergelijke tabel automatisch voldoen aan 2NF.Ontbinding van tabellen resulteert in extra join operations (of Cartesian producten) bij het uitvoeren van queries. Dit verhoogt de computertijd. Aan de andere kant zouden de tabellen die voldoen aan sterkere normale formulieren minder ontslag hebben dan tabellen die alleen voldoen aan zwakkere normale vormen.