he trabajado con un montón de diferentes modelos de datos en sistemas profesionales (principalmente software bancario) y e fueron diferentes soluciones. Hubo una solución GUID que he visto y que parecía no haber afectado demasiado a las actuaciones. He visto el "número proporcionado por un servicio como un número único de todo el sistema". He visto algoritmos de proporcionar algo así como un GUID "pero más corto". También he visto que se usó la clave comercial (como el número de cuenta), que es un diseño deficiente y causó problemas, y no lo recomendaría. He visto la clave autoincrementada para cada tabla.
¿Qué es lo que más me gusta? El número proporcionado por un servicio como un número de sistema completo. Funciona bien. Y con una simple tabla de traducción de claves, puede usar una clave de usuario (como un número de cuenta) para averiguar qué número único y qué tipo de objeto de datos (no necesariamente la tabla porque la misma clave única puede aplicarse a varias tablas si un objeto de datos se divide en diferentes tablas dependiendo de su tipo).
Entonces, ¿hay algún blog o algo así? Bueno, tengo un libro para recomendar llamado "Data Modeling Essentials" por Graeme Simsion y Graham Witt. Puede que no sugieran mi solución preferida, pero dan muchos ejemplos reales y muestran los diferentes tipos de soluciones que son posibles.
+1 - No he tenido ningún infierno por la combinación del uso de claves naturales en DB y el personal administrativo insistiendo en reutilizar las ID de cliente porque no quieren joeblogs13 si solo hay 12 blogs Joe activos ... a pesar de está haciendo mal todos los informes posibles y nos deja con las condiciones de carrera en cada página de nuestro sitio web ... – tobyodavies
@Daniel Vassallo: ¿Prefiere usar una clave sustituta que un código VIN para vehículos o códigos ISBN para libros como clave principal? Esos códigos son cumplidores ISO, ¿no crees que si uno está lidiando con problemas de la industria, esos tendrán un mejor efecto que la clave sustituta? – Spredzy
@Spredzy: en la mayoría de los casos sí. El primer punto que mencioné podría ser muy problemático. Las claves principales no están destinadas a ser cambiadas, y usted fácilmente podría tener un error tipográfico en un ISBN que desea modificar ... A menudo hay otras complicaciones con las claves naturales, como (citando [de Wikipedia] (http://en.wikipedia.org/wiki/International_Standard_Book_Number)): "Ocasionalmente, un libro puede aparecer sin un ISBN impreso si se imprime de forma privada o si el autor no sigue el procedimiento habitual de ISBN, sin embargo, esto generalmente se rectifica posteriormente" ... Estas excepciones son difíciles de tratar ... –