sql复杂的双向层次关系

sql复杂的双向层次关系,sql,database,database-design,Sql,Database,Database Design,我有一个主表人员: id name 1 I 2 Bro 3 Mom 4 Father 我需要服务于人与人之间的关系。为此,我有一个表关系: id people_id relation_id type 1 1 2 2 //brothers 2 3 1 3 //sun 3 3 4 1 //married 问题是如何维持如此复杂的关系 例

我有一个主表
人员

id name
1  I
2  Bro
3  Mom
4  Father
我需要服务于人与人之间的关系。为此,我有一个表
关系

id  people_id   relation_id   type
1   1           2             2 //brothers
2   3           1             3 //sun
3   3           4             1 //married
问题是如何维持如此复杂的关系

例如,用户3与1有关系,但由于关系3-4,用户4也与1有相同的关系。另一个例子,1-2关系和3-1关系,产生3-2关系等


也许这是复制所有关系或更改设计的好方法?

如果您有父关系和子关系,则不需要兄弟关系类型。这可以通过程序来解决,因为同一父亲或母亲的所有子女关系都将是兄弟姐妹

您的关系类型应为:

  • 父母
  • 嫁给

但是,您确实需要为婚姻使用对等行。

您使用的是哪种数据库管理系统?博士后?Oracle?我认为您应该明确记录所有关系。如果3和4是第二次婚姻,而4实际上与1没有关系呢?如果你想
建模
家谱
那么你的设计有问题,你可以在互联网上找到太多关于为家谱设计数据库的内容,这是一个示例