昨天在做一个项目时,我遇到了一种特殊的 1:1 关系,这让我想知道——如何最好地实现这一点(显然,我们做错了 :D)
这个想法是有两种类型的实体,A 和 B。它们可以各自独立存在,但它们之间也可以有联系。如果有链接,那么它必须是 1:1 链接,并且双向工作。
这就像一个瓶子和一个帽子。它们可以分开存在,但是当结合在一起时,瓶子将只有一个盖子,而盖子将仅连接到一个(并且是同一个)瓶子上。
您将如何实现这种关系,同时牢记有关规范化、数据完整性等的所有最佳实践?
补充:差点忘了说——它们每个都有十几个属性,所以将它们放在同一个表中,其中一半字段为 NULL 是一个非常尴尬的解决方案。此外,可以随时断开链接并与另一个实体重新创建链接。