Digamos que estou projetando um banco de dados para um cenário em que exista um relacionamento de um para zero ou um (1-0..1). Por exemplo:
- Há um conjunto de usuários e alguns usuários também podem ser clientes .
Assim, criei as duas tabelas correspondentes userse customers, mas ...
… Qual é a melhor maneira de representar e implementar essa situação em uma determinada plataforma SQL? Eu considerei duas soluções possíveis:
Na
userstabela, adicione acustomercoluna que pode ser uma referência para FOREIGN KEYcustomersou umaNULLmarca.Na
customerstabela, inclua umausercoluna (definida com umaUNIQUErestrição) que aponta para auserstabela.
Eu já fiz uma pergunta semelhante em alguns fóruns, mas a resposta foi basicamente "o que você precisar", "o que achar conveniente". Eu não gosto desse tipo de resposta. Em vez disso, quero uma séria teoria da DB, uma resposta bem fundamentada. Onde posso ler sobre relacionamentos 1-0..1?