Ik geloof dat de meerderheid van de mensen die echte databasetoepassingen van grote omvang hebben ontwikkeld, u zullen vertellen dat surrogaatsleutels de enige realistische oplossing zijn.
Ik weet dat de academische gemeenschap het daar niet mee eens zal zijn, maar dat is het verschil tussen theoretische zuiverheid en bruikbaarheid .
Elke redelijk grote query die joins moet uitvoeren tussen tabellen die niet-surrogaatsleutels gebruiken, waarbij sommige tabellen samengestelde primaire sleutels hebben, wordt al snel onhoudbaar.