【发布时间】:2013-03-15 13:26:18
【问题描述】:
我正在考虑将关系表添加到数据库中,并且我想通过使用指向同一个表中的 PK 的 FK 来包含一种反向关系功能。例如,假设我有以下表 RELATIONSHIP:
ID (PK) Relation ReverseID (FK)
1 Parent 2
2 Child 1
3 Grandparent 4
4 Grandchild 3
5 Sibling 5
首先,这可能吗?其次,这是解决这个问题的好方法吗?如果没有,您有什么建议?
【问题讨论】:
-
是的,可以使用 FK 关系引用同一个表。
-
这称为"self-referencing foreign key"。是的,有可能和使用它的一些原因有already been discussed。
-
那么是否也可以将记录指向自身? (即兄弟姐妹、配偶等)
-
是的,这也是可能的。作为一般性观察,如果您想知道“X 可能吗?”那么您可以做的最好的事情就是尝试并查看(并阅读相关文档)。这将比在此处发布更快、更轻松地为您提供答案。
标签: sql sql-server database-design foreign-keys