Een grote database die als een enkele relatie wordt gedefinieerd, kan leiden tot gegevensduplicatie. Deze herhaling van gegevens kan resulteren in:
- Relaties heel groot maken.
- Het is niet eenvoudig om gegevens bij te houden en bij te werken, omdat hiervoor veel records met elkaar moeten worden doorzocht.
- Verspilling en slecht gebruik van schijfruimte en bronnen.
- De kans op fouten en inconsistenties neemt toe.
Om deze problemen aan te pakken, moeten we de relaties met overtollige gegevens analyseren en ontleden in kleinere, eenvoudiger en goed gestructureerde relaties die aan de gewenste eigenschappen voldoen. Normalisatie is een proces waarbij relaties worden ontbonden in relaties met minder attributen.
Wat is normalisatie?
- Normalisatie is het proces waarbij de gegevens in de database worden georganiseerd.
- Normalisatie wordt gebruikt om de redundantie van een relatie of een reeks relaties te minimaliseren. Het wordt ook gebruikt om ongewenste kenmerken zoals anomalieën bij het invoegen, bijwerken en verwijderen te elimineren.
- Normalisatie verdeelt de grotere tabel in kleinere en verbindt deze met behulp van relaties.
- De normale vorm wordt gebruikt om redundantie uit de databasetabel te verminderen.
Waarom hebben we normalisatie nodig?
De belangrijkste reden voor het normaliseren van de relaties is het wegnemen van deze anomalieën. Het niet elimineren van afwijkingen leidt tot gegevensredundantie en kan gegevensintegriteit en andere problemen veroorzaken naarmate de database groeit. Normalisatie bestaat uit een reeks richtlijnen die u helpen bij het creëren van een goede databasestructuur.
Afwijkingen bij het wijzigen van gegevens kunnen in drie typen worden onderverdeeld:
Soorten normale vormen:
Normalisatie verloopt via een reeks fasen die normale vormen worden genoemd. Voor individuele relaties gelden de normale vormen. Er wordt gezegd dat de relatie in het bijzonder een normale vorm heeft als deze aan beperkingen voldoet.
fakkel installeren
Hieronder volgen de verschillende soorten normaalvormen:
Normale vorm | Beschrijving |
---|---|
1NF | Een relatie is in 1NF als deze een atomaire waarde bevat. |
2NF | Een relatie zal in 2NF zijn als deze in 1NF is en alle niet-sleutelattributen volledig functioneel zijn, afhankelijk van de primaire sleutel. |
3NF | Een relatie bevindt zich in 3NF als deze zich in 2NF bevindt en er geen transitieafhankelijkheid bestaat. |
BCNF | Een sterkere definitie van 3NF staat bekend als de normale vorm van Boyce Codd. |
4NF | Een relatie zal in 4NF zijn als deze de normale vorm van Boyce Codd heeft en geen meerwaardige afhankelijkheid heeft. |
5NF | Er is een relatie in 5NF. Als het zich in 4NF bevindt en geen enkele join-afhankelijkheid bevat, moet het joinen verliesvrij zijn. |
Voordelen van normalisatie
- Normalisatie helpt gegevensredundantie te minimaliseren.
- Grotere algehele database-organisatie.
- Gegevensconsistentie binnen de database.
- Veel flexibeler databaseontwerp.
- Dwingt het concept van relationele integriteit af.
Nadelen van normalisatie
- U kunt niet beginnen met het bouwen van de database voordat u weet wat de gebruiker nodig heeft.
- De prestatie neemt af bij het normaliseren van de relaties met hogere normaalvormen, d.w.z. 4NF, 5NF.
- Het is zeer tijdrovend en moeilijk om relaties van een hogere graad te normaliseren.
- Onzorgvuldige ontleding kan leiden tot een slecht databaseontwerp, wat tot ernstige problemen kan leiden.