Wat is een surrogaatsleutel?
Een surrogaatsleutel is een unieke identificatiecode die wordt gebruikt om een entiteit in een database weer te geven, ongeacht de externe identificatiekenmerken ervan. Het is een vervanging voor de natuurlijke sleutel. Ze worden meestal gegenereerd als een automatisch oplopend serienummer in de rij, maar kunnen ook worden gegenereerd met behulp van willekeurige getallen, gehashte waarden of UUID's (universeel unieke identificatiegegevens).
Voordelen van een surrogaatsleutel
* Vereenvoudigt het databaseontwerp door de complexiteit en redundantie die gepaard gaat met het gebruik van natuurlijke sleutels te verminderen
*Zorgt voor uniciteit en integriteit van de primaire sleutel
*Vermijdt de potentiële prestatie-impact van het gebruik van grote of samengestelde natuurlijke sleutels in query's en joins.
Nadelen van een surrogaatsleutel
* Introduceert een extra abstractieniveau tussen de entiteit uit de echte wereld en de representatie ervan in de database
*Vereist goed beheer om ervoor te zorgen dat ze op unieke en consistente wijze worden gegenereerd en toegewezen.
Wanneer moet u een surrogaatsleutel gebruiken?
Surrogaatsleutels worden doorgaans gebruikt:
* Wanneer de natuurlijke sleutel van de entiteit niet gegarandeerd uniek is (zoals een klantnaam).
* Wanneer de natuurlijke sleutel van de entiteit complex is (zoals een combinatie van meerdere attributen)
* Wanneer het nodig is om de primaire sleutel te scheiden van de bedrijfslogica die verband houdt met de entiteit
* Wanneer de natuurlijke sleutel in de loop van de tijd aan verandering onderhevig kan zijn, is maken niet geschikt als stabiele identificatie voor de lange termijn. |