假设我们有一个用于保存人类数据的表(人类表) 人类表有一个名为“亲属”的列,以便保存人类支持的亲属类型。亲属列可以有2个值:
1:表示“近亲”
2:意思是“远亲”
现在,假设用户可以在close和far之间选择一个选项。何时选择“关闭” 他/她可以在“姐妹”,“兄弟”,“父亲”,“母亲”之间选择一个或多个并保存它们。 但是当他/她选择“远”时,就可以在“叔叔”,“阿姨”,“侄子”之间选择一个或多个项目......
现在我的问题是:表格的关系和设计如何? 我使用的是SQL Server 2008。
答案 0 :(得分:0)
一种方法是使用单独的表,也可以称之为RelativeTypes。它有两列:距离(近/远)和描述(母/叔/等)。此表上的主键是由两列组成的复合键。然后,要构建选项列表,您可以从RelativeTypes表中选择Distance与用户的距离列匹配。
这不是很灵活,因此如果您希望用户支持多个亲戚,则需要采用不同的方法。
答案 1 :(得分:0)
不,我没有要选择这两个值的列。
我有一个带有主键的RELATIVE表,一个字符串NAME(例如'SISTER','BROTHER','FATHER'等)和一个布尔IS_NEAR。
指向相对的表将具有引用RELATIVE主键的外键。