Sto costruendo un'app con una tabella Client che elenca i client ed è PK da un campo ID autoincrementante.
Ho bisogno di un identificatore univoco immutabile per ogni client che verrà utilizzato nella logica aziendale. Ad esempio, il client caricherà un singolo file su un bucket AWS S3, desidero utilizzare questo ID come parte della convenzione di denominazione dei file.
Sono esitante nell'usare la chiave surrogata come quel campo perché ritengo che accoppiasse la mia logica aziendale al mio livello di modello.
L'alternativa sarebbe aggiungere un campo ID separato, che non viene utilizzato per le relazioni con le chiavi esterne e utilizzato solo nella logica di business, ma poi dovrei generarlo ogni volta che viene creato un nuovo client.
L'alternativa vale la pena farlo a lungo termine o lo sto pensando troppo?