Recientemente aprendí sobre cómo se definen las relaciones en la base de datos en el trabajo, y me preguntaba si esta es una práctica estándar.
Digamos que tenemos dos procesos: el Proceso A y el Proceso B. El Proceso B depende de los resultados del Proceso A, por lo que hay una relación que debe definirse entre una ejecución del Proceso B y una ejecución del Proceso A. Así es como se define la relación:
TableProcessA:
Id
y
TableProcessB:
Id
ProcessAId
Ahora, hasta este punto, las cosas tienen sentido para mí, pero luego las cosas se ponen un poco extrañas para mí y mi comprensión del diseño de la mesa. Cada vez que se crea una fila en TableProcessA o TableProcessB, se llama a una función que crea una identificación globalmente única para cada uno. Básicamente, todos los campos de Id en TableProcessA y TableProcessB no contendrán coincidencias porque los Id no solo son exclusivos de su tabla, sino de toda la base de datos.
Mi pregunta es, ¿qué tan estándar es esto? Se me ocurrió la idea de que cada tabla simplemente debería tener una identificación de autoincremento que sea exclusiva de la tabla y no de toda la base de datos.