Verschil tussen Normalisatie en Denormalisatie

Anonim

Normalisatie vs Denormalisatie

Relationele databases bestaan ​​uit relaties (gerelateerde tabellen). Tabellen bestaan ​​uit kolommen. Als de tabellen twee grote zijn (dat wil zeggen te veel kolommen in een tabel), dan kunnen de database-anomalieën optreden. Als de tabellen twee kleine zijn (dat wil zeggen dat de database bestaat uit veel kleinere tabellen), zou het ondoeltreffend zijn voor het stellen van vragen. Normalisatie en denormalisatie zijn twee processen die worden gebruikt om de prestaties van de database te optimaliseren. Normalisatie minimaliseert de ontslagen die aanwezig zijn in gegevenstabellen. Deormalisatie (omgekeerd van normalisatie) voegt overbodige gegevens of groepsgegevens toe.

< Wat is Normalisatie?

Normalisatie is een proces dat wordt uitgevoerd om de redundansen die aanwezig zijn in gegevens in relationele databases te minimaliseren. Dit proces verdeelt in hoofdzaak grote tabellen in kleinere tabellen met minder ontslagen (genaamd "normale formulieren"). Deze kleinere tabellen zullen betrekking hebben d naar elkaar door middel van goed gedefinieerde relaties. 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) werden geïntroduceerd door Edgar F. Codd. Boyce-Codd Normal Form (BCNF) werd in 1974 geïntroduceerd door Codd en Raymond F. Boyce. Hogere Normale Forms (4NF, 5NF en 6NF) zijn gedefinieerd, maar worden zelden gebruikt.

Een tabel die voldoet aan 1NF verzekert dat het eigenlijk een relatie vertegenwoordigt (dwz dat er geen records bevatten die herhalen) en geen kenmerken bevatten die relatief gewaardeerd zijn (dwz alle attributen zouden atoomwaarden moeten hebben). 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. 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) is en dat elke attribuut in de tabel die niet bij een kandidaat-sleutel hoort, rechtstreeks afhankelijk zijn van elke kandidaat sleutel van die tabel. BCNF (ook bekend als 3. 5NF) bevat wat de anomalieën die niet door de 3NF worden aangepakt.

Wat is denormalisatie?

Denormalisatie is het omgekeerde proces van het normalisatieproces. Denormalisatie werkt door het toevoegen van overbodige data of gegevensgroepen om de prestaties te optimaliseren. Hoewel het toevoegen van overbodige data geluidsoverproduktief is, is soms denormalisatie een zeer belangrijk proces om een ​​aantal van de tekortkomingen in de relationele databasesoftware te overwinnen die zware prestatieboetes met genormaliseerde databases kunnen veroorzaken (zelfs afgestemd op hogere prestaties).Dit komt doordat het bij een aantal vragen een combinatie van meerdere relaties (dat resulteert in normalisatie) soms kan vertragen, afhankelijk van de feitelijke fysieke implementatie van de databasesystemen.

Wat is het verschil tussen Normalisatie en Denormalisatie?

- Normalisatie en denormalisatie zijn twee processen die volledig tegengesteld zijn.

- Normalisatie is het proces van het verdelen van grotere tabellen in kleinere die de overbodige gegevens verlagen, terwijl de denormalisatie het proces is van het toevoegen van redundante data om de prestaties te optimaliseren.

- Normalisatie wordt uitgevoerd om anomalieën van databases te voorkomen.

- Deormalisatie wordt meestal uitgevoerd om de leesprestaties van de database te verbeteren, maar door de extra beperkingen die gebruikt worden voor denormalisatie, kan het schrijven (bijv. Invoegen, bijwerken en verwijderen van bewerkingen) langzamer worden. Daarom kan een gedomormaliseerde database slechter schrijfprestaties bieden dan een genormaliseerde database.

- Het wordt vaak aanbevolen dat u "normaliseert tot het pijn doet, denormaliseren totdat het werkt".