In de context van databases verwijst "Integriteitsbeperkingen" naar specifieke regels die zijn geïmplementeerd om de nauwkeurigheid en consistentie van de gegevens binnen een relationele database te waarborgen. Deze regels bepalen de gegevens wanneer deze worden ingevoegd, bijgewerkt en verwijderd, waardoor ongewenste gegevenscorruptie wordt voorkomen en de gewenste logische structuur wordt gehandhaafd. De definitie van integriteitsbeperkingen kan verder worden uitgewerkt in verschillende aspecten:
Domeinintegriteit: dit zorgt ervoor dat alle vermeldingen in een bepaalde kolom consistent zijn en binnen een gedefinieerd domein vallen. Als bijvoorbeeld wordt verwacht dat een kolom positieve getallen bevat, voorkomt de domeinbeperking dat negatieve getallen of niet-numerieke waarden worden ingevoegd.
Entiteitsintegriteit: dit verwijst naar het unieke karakter van rijen in een tabel, meestal afgedwongen door het gebruik van primaire sleutels. De primaire sleutel identificeert op unieke wijze een record in een tabel, en entiteitsintegriteit zorgt ervoor dat er geen dubbele sleutels bestaan, waardoor de onderscheidenheid van elk record behouden blijft.
Referentiële integriteit: deze beperking zorgt ervoor dat relaties tussen tabellen consistent blijven. Wanneer een tabel een externe sleutel heeft die verwijst naar de primaire sleutel van een andere tabel, zorgt referentiële integriteit ervoor dat deze verbinding behouden blijft. Als een record waarnaar wordt verwezen door een externe sleutel wordt verwijderd of gewijzigd, zal de database gedefinieerde acties ondernemen, zoals het bijwerken van de verwijzende sleutel of het weigeren van de wijziging.
Door de gebruiker gedefinieerde integriteit: deze beperkingen zijn specifiek voor de bedrijfslogica of regels die betrekking hebben op de specifieke use-case van de database. Een door de gebruiker gedefinieerde beperking kan bijvoorbeeld vereisen dat het salaris van een werknemer een bepaald bedrag niet overschrijdt of dat de leeftijd van een klant ouder dan 18 jaar moet zijn. Deze regels kunnen worden aangepast aan de specifieke vereisten van een bepaalde toepassing.
Beperkingen controleren: met deze beperkingen kunnen meer specifieke regels worden gedefinieerd voor de gegevens in een kolom of reeks kolommen. Een controlevoorwaarde kan bijvoorbeeld vereisen dat een procentuele waarde tussen 0 en 100 moet vallen of dat een geboortedatum eerder moet zijn dan de huidige datum.
Null-beperkingen: dit bepaalt of een null-waarde kan worden toegestaan voor een bepaald attribuut. Als een null-beperking wordt toegepast op een kolom, zorgt dit ervoor dat elke rij in die kolom een waarde moet bevatten.
Temporele integriteit: dit zorgt voor de nauwkeurigheid en consistentie van datum- en tijdgegevens in de database, waarbij er vaak voor wordt gezorgd dat datum- en tijdwaarden logische volgorde volgen en zich houden aan gedefinieerde indelingen.
Integriteitsbeperkingen spelen een cruciale rol bij het handhaven van de betrouwbaarheid en robuustheid van een databasesysteem. Ze worden meestal gedefinieerd tijdens de ontwerpfase van de database en afgedwongen door het databasebeheersysteem (DBMS).
Zonder de juiste integriteitsbeperkingen kan een database last hebben van inconsistenties, dubbelzinnigheden en fouten die de bruikbaarheid en betrouwbaarheid aanzienlijk kunnen beïnvloeden. Deze beperkingen vormen daarom een essentieel onderdeel van de database-architectuur en zorgen ervoor dat de gegevens voldoen aan de verwachte regels en kwaliteitsnormen.