Waarom zijn entiteitsintegriteit en referentiële integriteit belangrijk in een database?

...

Entiteit en referentiële integriteit zijn belangrijk in relationele databases.

Entiteitsintegriteit en referentiële integriteit zijn twee vormen van gegevensintegriteit die bijzonder belangrijk zijn in relationele databases. Relationele databases splitsen de opslag van gegevens op in elementen die meestal weer aan elkaar moeten worden gekoppeld om zinvolle resultaten te produceren. Zonder garanties van deze twee soorten integriteit zouden gegevens verloren gaan of gedupliceerd worden.

Relationele databases

Relationele databasebeheersystemen vertegenwoordigen tegenwoordig het meest geïmplementeerde databasemodel ter wereld. Het relationele model is gebaseerd op "genormaliseerde" gegevens. Normalisatie is een proces dat wordt uitgevoerd in het databaseontwerpproces om ervoor te zorgen dat de tabellen die de gegevens vasthouden, hebben geen herhalende gegevens en kunnen geen herhaling of verlies veroorzaken wanneer ze worden samengevoegd samen

Video van de dag

Referentie data

De meeste databasetoepassingen gebruiken twee verschillende soorten gegevens: transactiegegevens en referentiegegevens. Een zeer eenvoudige magazijndatabase registreert bijvoorbeeld voorraadbewegingstransacties. Stelt u zich een transactierecord voor zoals: Artikel 1010, Hoeveelheid 5, Richting Uit. Een manager wil mogelijk een rapport van deze gegevens zien met de itemnaam en de itembeschrijving, evenals het itemnummer. Deze details zijn attributen van een andere entiteit die elk onderdeel in het magazijn beschrijft. Dit is een referentietabel.

Normalisatie

In het voorbeeld van de magazijndatabase hoeft de transactietabel alleen een identificatie voor het onderdeel te bevatten. Als details zoals naam en beschrijving in de transactietabel zouden staan, zou dit onnodige herhaling veroorzaken. Elk item heeft altijd dezelfde naam en beschrijving, en deze details hebben betrekking op het onderdeel en niet op de transactie. In dit voorbeeldsysteem worden de onderdelendetails in een andere tabel bewaard. Elk record in de tabel moet uniek worden geïdentificeerd door één veld, of een combinatie van velden, de primaire sleutel genoemd. Het opsplitsen van herhalende groepen wordt 'normalisatie' genoemd.

Entiteit Integriteit

In het voorbeeld van de magazijndatabase moet de primaire sleutel van de onderdelentabel een attribuut zijn dat elk record op unieke wijze identificeert. Dit is entiteitsintegriteit. Over het algemeen zijn numerieke velden beter voor een primaire sleutel dan tekstvelden. In de onderdelentabel is het artikelnummer het beste veld voor de primaire sleutel. De organisatie kan verschillende producten met dezelfde naam verkopen, zoals 'kleine moersleutel'. Het artikelnummer is altijd uniek per artikel, en dit zorgt dus voor integriteit van de entiteit voor de onderdelentabel. Als meerdere records dezelfde primaire sleutelwaarde hadden, verwijzen naar details uit deze tabel door deze samen te voegen met de transactietabel zou ervoor zorgen dat transactierecords dupliceren om overeen te komen met elk record met hetzelfde identificatie.

Referentiële integriteit

Referentiële integriteit zorgt ervoor dat de koppeling tussen de transactietabel en de onderdelentabel correct wordt gevormd. In de transactietabel vormt het artikelnummer de refererende sleutel, het attribuut dat linkt naar de primaire sleutel van de onderdelentabel. Alleen artikelnummers die in de onderdelentabel worden vermeld, kunnen in de transactietabel voorkomen. Dit is referentiële integriteit. Als de transactietabel een artikelnummer bevat dat niet ook in de onderdelentabel staat, zou het samenvoegen van de tabellen ertoe leiden dat transacties met het ontbrekende artikelnummer uit de resultaten worden weggelaten.