Digamos que estoy diseñando una base de datos para un escenario donde existe una relación de uno a cero o uno (1-0..1). Por ejemplo:
- Hay un conjunto de usuarios , y algunos usuarios también pueden ser clientes .
Por lo tanto, creé las dos tablas correspondientes users
y customers
, pero ...
... ¿Cuál es la mejor manera de representar e implementar esta situación en una plataforma SQL dada? He considerado dos posibles soluciones:
En la
users
tabla, agregue lacustomer
columna que puede ser una referencia de CLAVE EXTRANJERAcustomers
o unaNULL
marca.En la
customers
tabla, incluya unauser
columna (establecida con unaUNIQUE
restricción) que apunte a lausers
tabla.
Ya he hecho una pregunta similar en algunos foros, pero la respuesta fue básicamente "lo que necesites", "lo que creas conveniente". No me gusta este tipo de respuesta. En cambio, quiero una pieza seria de teoría DB, una respuesta bien fundada. ¿Dónde puedo leer sobre las relaciones 1-0..1?
fuente