【发布时间】:2014-05-26 01:19:21
【问题描述】:
(基于Web的应用场景)
我正在尝试解决以下条件的问题:
应该有一个包含所有信息的用户表和 user_contact 表。员工和患者将继承详细信息,以消除患者表具有姓氏和名字以及员工表的冗余。
有一个家庭表,患者表通过其 family_id 引用来分组家庭成员。
现在。我对下一个条件感到困惑
帐户是按家庭而非每个患者发放的。同一个家庭的患者使用相同的用户名和密码。如果我将用户名和密码属性放在家庭中,我还必须为员工输入用户名和密码。 我被告知我应该始终避免表中的冗余。我真的很难为最后一个条件构建一个表。
我怎样才能做到这一点?我应该创建一个名为 Account 并具有属性(id、用户名、密码)的表,并让它作为外键被家庭表和员工表引用吗?
或
我是否应该使用属性(id、用户名、密码、staff_id、family_id、类型)创建一个名为 Account 的表。在这个设计中,我真的不确定它是否是一个好的设计,因为staff_id 或family_id 之间的一个属性将为null,它总是会返回一个约束,因为引用的父表没有值。
或者有没有更好的方法可以做到这一点,而我的任何选择都没有?
任何帮助将不胜感激。
【问题讨论】:
标签: database-design