该表应该是自引用的吗?

时间:2015-02-04 23:31:26

标签: sql database

我从来没有做过自我引用的表格(我还没有深入研究它),但不小心我去了这一刻我想

假设我们有一个名为“Human”的表

// [Human]
ID
Name
Surname
...
father

父列也是Human(队长明显)实例,所以父列应该是[Human] .ID?

的引用

由于某些原因,我很难想象,INSERT的第一次出现不能包含对自身的引用,所以父亲应该可以为空(让我们不要进入逻辑背后,有些数据可能是未知的)。这消除了表

中的配对PK列

我制作了更复杂的图像 enter image description here

2 个答案:

答案 0 :(得分:1)

您可以为'未知'插入一行。那个人,那个与未知父亲的人可以参考未知的身份

答案 1 :(得分:0)

除非你打算将数据存储在每个曾经生活过的人身上,否则你最终会找到一个没有父亲记录的人(即便如此:谁是你第一个人类的父亲)。换句话说,是的,该列需要可以为空。