Aanbevolen, 2019

Editor'S Choice

Verschil tussen normalisatie en denormalisatie

Normalisatie en denormalisatie zijn de methoden die in databases worden gebruikt. De termen zijn differentieerbaar wanneer Normalisatie een techniek is voor het minimaliseren van de invoeg-, verwijderings- en bijwerkanomalieën door het elimineren van de overtollige gegevens. Aan de andere kant is denormalisatie het omgekeerde normalisatieproces waarbij de redundantie aan de gegevens wordt toegevoegd om de prestaties van de specifieke toepassing en de gegevensintegriteit te verbeteren.

Normalisatie voorkomt verspilling van schijfruimte door de redundantie te minimaliseren of te elimineren.

Vergelijkingstabel

Basis voor vergelijkingNormalisatiedenormalisatie
basis-Normalisatie is het proces waarbij een vast schema wordt gemaakt om niet-overtollige en consistente gegevens op te slaan.Denormalisatie is het proces waarbij de gegevens worden gecombineerd, zodat deze snel kunnen worden opgevraagd.
DoelOm de gegevensredundantie en inconsistentie te verminderen.Om de snellere uitvoering van de query's te realiseren door redundantie te introduceren.
Gebruikt inOLTP-systeem, waarbij de nadruk ligt op het sneller invoegen, verwijderen en bijwerken van anomalieën en het opslaan van de kwaliteitsgegevens.OLAP-systeem, waarbij de nadruk ligt op het sneller maken van de zoekopdracht en analyse.
Data-integriteitgehandhaafdMag niet behouden
overtolligheiduitgeschakeldToegevoegd
Aantal tafelsVerhoogtVerlaagt
SchijfruimteGeoptimaliseerd gebruikVerspilling

Definitie van Normalisatie

Normalisatie is de methode om de gegevens in de database efficiënt in te delen. Het gaat om het construeren van tabellen en het opzetten van relaties tussen die tabellen volgens bepaalde regels. De redundantie en inconsistente afhankelijkheid kan worden verwijderd met behulp van deze regels om het flexibeler te maken.

Redundante gegevens verspillen schijfruimte, verhogen de inconsistentie van gegevens en vertragen de DML-query's. Als dezelfde gegevens op meer dan één plaats aanwezig zijn en elke bijwerking op die gegevens is vastgelegd, moet de wijziging op alle locaties worden doorgevoerd. Inconsistente gegevens kunnen gegevens zoeken en toegang moeilijker maken door het pad ernaartoe te verliezen.

Er zijn verschillende redenen achter het uitvoeren van de normalisatie, zoals het vermijden van redundantie, het bijwerken van anomalieën, onnodige codering, het bijhouden van de gegevens in de vorm die eenvoudiger en nauwkeuriger kan worden aangepast en het afdwingen van de gegevensbeperking.

Normalisatie omvat de analyse van functionele afhankelijkheden tussen attributen. De relaties (tabellen) zijn afgebroken met afwijkingen om relaties met een structuur te genereren. Het helpt bij het bepalen welke attributen in een relatie moeten worden gegroepeerd.

De normalisatie is in principe gebaseerd op de concepten van normale vormen . Van een relatietabel wordt gezegd dat deze in een normale vorm is als deze voldoet aan een aantal beperkingen. Er zijn 6 gedefinieerde normale vormen: 1NF, 2NF, 3NF, BCNF, 4NF en 5NF. Normalisatie moet de overtolligheid elimineren, maar niet ten koste van de integriteit.

Definitie van denormalisatie

Denormalisatie is het omgekeerde proces van normalisatie, waarbij het genormaliseerde schema wordt omgezet in een schema met overbodige informatie. De prestaties worden verbeterd door redundantie te gebruiken en de redundante gegevens consistent te houden. De reden voor het uitvoeren van denormalisatie is de overhead die wordt geproduceerd in de queryprocessor door een te genormaliseerde structuur.

Denormalisatie kan ook worden gedefinieerd als de methode voor het opslaan van de join van superieure normale vormrelaties als basisrelatie, die zich in een lagere normale vorm bevindt. Het vermindert het aantal tabellen en ingewikkelde tabel joins omdat een groter aantal joins het proces kan vertragen. Er zijn verschillende denormalisatie-technieken zoals: Opslaan van afleidbare waarden, vooraf gekoppelde tabellen, hard-gecodeerde waarden en details bijhouden met meester, etc.

Hier, de denormalisatiebenadering, benadrukt het concept dat door alle gegevens op één plaats te plaatsen, het niet meer nodig zou kunnen zijn om die meerdere bestanden te doorzoeken om deze gegevens te verzamelen. De basisstrategie wordt gevolgd bij denormalisatie, waarbij het meest heersende proces wordt geselecteerd om die wijzigingen te onderzoeken die uiteindelijk de prestaties zullen verbeteren. En de meest elementaire wijziging is het toevoegen van meerdere kenmerken aan de bestaande tabel om het aantal joins te verminderen.

Belangrijkste verschillen tussen normalisatie en denormalisatie

  1. Normalisatie is de techniek van het verdelen van de gegevens in meerdere tabellen om gegevensredundantie en inconsistentie te verminderen en om gegevensintegriteit te bereiken. Aan de andere kant is denormalisatie de techniek van het combineren van de gegevens in een enkele tabel om het ophalen van gegevens sneller te maken.
  2. Normalisatie wordt gebruikt in het OLTP- systeem, waarbij de nadruk ligt op het sneller maken, invoegen, verwijderen en bijwerken van anomalieën. Daartegenover staat dat denormalisatie wordt gebruikt in het OLAP- systeem, wat de nadruk legt op het sneller en sneller zoeken en analyseren.
  3. De gegevensintegriteit blijft behouden tijdens het normalisatieproces, terwijl gegevensintegriteitsgegevens moeilijker te behouden zijn.
  4. Redundante gegevens worden geëlimineerd wanneer normalisatie wordt uitgevoerd, terwijl denormalisatie de overtollige gegevens verhoogt.
  5. Normalisatie verhoogt het aantal tabellen en joins. Daarentegen vermindert denormalisatie het aantal tabellen en join.
  6. Schijfruimte wordt verspild bij denormalisatie omdat dezelfde gegevens op verschillende plaatsen worden opgeslagen. Integendeel, schijfruimte is geoptimaliseerd in een genormaliseerde tabel.

Conclusie

Normalisatie en denormalisatie zijn nuttig in overeenstemming met de situatie. Normalisatie wordt gebruikt wanneer de snellere invoeg-, verwijderings- en bijwerkafwijkingen en gegevensconsistentie noodzakelijkerwijze vereist zijn. Aan de andere kant wordt Denormalisatie gebruikt wanneer de snellere zoekopdracht belangrijker is en om de leesprestaties te optimaliseren. Het vermindert ook de overheadkosten die worden veroorzaakt door te genormaliseerde gegevens of gecompliceerde tabeljoins.

Top