Articles

GeeksforGeeks

Posted on

Denormalisatie is een database-optimalisatietechniek waarbij we overbodige gegevens toevoegen aan een of meer tabellen. Dit kan ons helpen om kostbare joins in een relationele database te vermijden. Merk op dat denormalisatie niet betekent dat er niet genormaliseerd wordt. Het is een optimalisatietechniek die wordt toegepast na het normaliseren.

In een traditionele genormaliseerde database slaan we gegevens op in afzonderlijke logische tabellen en proberen we overbodige gegevens tot een minimum te beperken. We streven ernaar van elk gegeven slechts één kopie in de database te hebben.

In een genormaliseerde database hebben we bijvoorbeeld een tabel Cursussen en een tabel Leraren. Elke entry in Cursussen zou de teacherID voor een cursus opslaan, maar niet de teacherName. Als we een lijst willen opvragen van alle cursussen met de naam van de leraar, zouden we een join doen tussen deze twee tabellen.

In sommige opzichten is dit geweldig; als een leraar zijn of haar naam verandert, hoeven we de naam maar op één plaats aan te passen.
Het nadeel is dat als de tabellen groot zijn, we onnodig lang bezig kunnen zijn met joins op tabellen.
Denormalisatie biedt dus een ander compromis. Bij denormalisatie besluiten we dat we een beetje redundantie en wat extra moeite om de database bij te werken acceptabel vinden om de efficiency voordelen van minder joins te krijgen.

De voordelen van denormalisatie:-

  1. Het ophalen van gegevens gaat sneller, omdat we minder joins doen
  2. Oproepen om gegevens op te halen kunnen eenvoudiger zijn (en hebben dus minder kans op bugs),
    omdat we in minder tabellen hoeven te kijken.

Cons of Denormalization:-

  1. Updates en inserts zijn duurder.
  2. Denormalization kan update en insert code moeilijker te schrijven maken.
  3. Data kan inconsistent zijn . Wat is de “juiste” waarde voor een stuk data?
  4. Door redundantie van data is meer opslag nodig.

In een systeem dat schaalbaarheid vereist, zoals dat van grote tech-bedrijven, gebruiken we bijna altijd elementen van zowel genormaliseerde als gedenormaliseerde databases.

Artikel tags :

DBMS

Praktijk Tags :

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *