让我们说,我正在为存在一对零或一个(1-0..1)关系的场景设计数据库。例如:
- 有一组用户,有些 用户也可能是客户。
因此,我创建了两个对应的表,users
和customers
,但是……
…在给定的SQL平台上表示和实现这种情况的最佳方法是什么?我考虑了两种可能的解决方案:
在
users
表中,添加customer
可能是FOREIGN KEY引用customers
或NULL
标记的列。在
customers
表格中,包括指向表格的user
列(设置了UNIQUE
约束)users
。
我已经在一些论坛中提出过类似的问题,但是答案基本上是“无论您需要什么”,“无论您认为方便什么”。我不喜欢这种答案。我想要一个严肃的DB理论,一个有充分根据的答案。我在哪里可以阅读有关1-0..1关系的信息?