0
我有一個主表people
:SQL複雜的雙向分層關係
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具有相同的關係。另一個ex,1-2關係爲012,關係3-2產生關係etc ...
也許這是複製所有關係或改變設計的好方法嗎?
您正在使用哪些DBMS? Postgres的?甲骨文? –
我認爲你應該明確記錄所有關係。如果3&4是第二次婚姻而4與1沒有實際關係呢? –
如果你想'模擬'家族樹',那麼你的設計有問題,你可以找到太多關於在互聯網上爲家譜設計一個數據庫[這裏](http://www.databaseanswers.org/) data_models/genealogy /)是一個樣本 – jfun