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没有关系呢?如果你想建模家谱
那么你的设计有问题,你可以在互联网上找到太多关于为家谱设计数据库的内容,这是一个示例