SQL 复杂的双向层次结构关系



>我有一个主表people

id name
1  I
2  Bro
3  Mom
4  Father

我需要服务人与人之间的关系。为此,我有一个表格relations

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关系等......

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

如果您有父子关系,则不需要具有同级关系类型。 这可以通过程序来弄清楚,因为同一个父亲或母亲的所有孩子关系都将是兄弟姐妹。

您的关系类型应为:

  • 的父级
  • 嫁给

但是,您确实需要婚姻的互惠行。

最新更新