Jag tror att majoriteten av människor som har utvecklat databasapplikationer av betydande storlek i den verkliga världen kommer att berätta att surrogatnycklar är den enda realistiska lösningen.
Jag vet att det akademiska samfundet inte håller med, men det är skillnaden mellan teoretisk renhet och praktisk funktion. .
Alla frågor av rimlig storlek som måste göra kopplingar mellan tabeller som använder icke-surrogatnycklar där vissa tabeller har sammansatta primärnycklar blir snabbt omöjliga att underhålla.