De id
veld is een voorbeeld van een surrogaatsleutel
. Het is een goed idee om een surrogaatsleutel als primaire sleutel in een database te gebruiken, omdat deze totaal niet gerelateerd is aan en daarom niet wordt beïnvloed door externe gebeurtenissen in de echte wereld.
Een natuurlijke sleutel gebruiken zoals het e-mailadres kan problemen veroorzaken, want als een gebruiker zijn e-mailadres verandert, moet uw sleutel worden gewijzigd. Dit kan problemen opleveren, omdat het externe sleutelbeperkingen zal doorbreken. Het zal ook het zoeken naar gebeurtenissen met betrekking tot een specifieke gebruiker in de loop van de tijd moeilijker maken, omdat u geen gegarandeerde enkele sleutel heeft die consistent is voor de hele geschiedenis van die gebruiker.
Als u meer dan één database in uw bedrijf heeft die de sleutels nodig heeft, of als u gegevens uit uw database exporteert naar andere toepassingen of systemen, dan moet u bij het wijzigen van een sleutel in uw database mogelijk ook de sleutels in die systemen wijzigen, iets wat niet automatisch kan met ON CASCADE UPDATE.