2009-07-04 64 views
0

假設我們有一個用於保存人類數據的表格(人類表格) 人類表格有一個名爲「親屬」的列,以便保存人類的親屬類型支持。親屬列可以有2個值:用於根據用戶選擇保存數據的表格設計

1:意味着「近親」
2:意味着「遠相對」

現在,假設用戶可以選擇和之間的密切遠一個選擇。當選擇「關閉」 時,他/她可以選擇「姐妹」,「兄弟」,「父親」,「母親」中的一個或多個並保存。 但是,當他/她選擇「遠」,那麼可以選擇「叔叔」,「阿姨」,「侄子」之間的一個或多個項目...

現在我的問題是:關係和設計的表可能是? 我使用SQL Server 2008.

回答

0

一種方法是有一個單獨的表,也許稱它爲RelativeTypes。它有兩列:距離(關閉/遠)和描述(母親/叔叔等)。此表上的主鍵將是由兩列組成的組合鍵。然後要構建選擇列表,可以從RelativeTypes表中選擇Distance與用戶距離列匹配的位置。

這不是很靈活,所以如果您希望用戶支持多個親屬,則需要採用不同的方法。

0

不,我不會有這兩個值來選擇列。

我會有一個RELATIVE表與主鍵,字符串名稱(例如,'姐妹','兄弟','父親'等)和一個布爾IS_NEAR。

指向相對的表將具有引用RELATIVE主鍵的外鍵。