id
felt er et eksempel på en surrogatnøgle
. Det er en god idé at bruge en surrogatnøgle som primærnøgle i en database, fordi den er fuldstændig uafhængig af og derfor upåvirket af eksterne begivenheder i den virkelige verden.
Brug af en naturlig nøgle e-mail-adressen kan forårsage problemer, fordi hvis en bruger ændrer sin e-mailadresse, skal din nøgle ændres. Dette kan skabe vanskeligheder, da det vil bryde udenlandske nøglekontraints. Det vil også gøre forespørgsel efter begivenheder relateret til en specifik bruger over tid sværere, da du ikke har nogen garanteret enkelt nøgle, der er konsistent for denne brugers hele historik.
Hvis du har mere end én database i din virksomhed, der har brug for nøglerne, eller du eksporterer data fra din database til andre applikationer eller systemer, så når du ændrer en nøgle i din database, skal du muligvis også ændre nøglerne i disse systemer. hvilket ikke kan gøres automatisk ved at bruge ON CASCADE UPDATE.