从那个StackOverflow 的问题:
总结:
Customer
s 和Employee
s 与 one Person
、 one Individual
(与此人本身相关的字段)和 one User
(用于登录目的)相关联。所以Individual
s 和User
s 总是与一个人Customer
或一个Employee
人有关。Branch
es 与一Person
和一相关联Company
(与公司人相关的字段)。所以Company
s总是与一个Branch
人有关。他们没有用户,因为他们隶属于这个数据库所代表的公司——是他们的员工可以对应用程序进行身份验证。Employee
属于一个Branch
。ABranch
有零个或多个Employee
s。(是的,图表不正确,抱歉!)Employee
角色 - 我有拥有操作和管理权限的员工。角色权限包含在代码本身中,在这里您可以意识到客户也有自己的角色......是否有任何建议来实施更好(和简单)的方法来管理客户和员工的角色?我应该如何更改错误的3NF 结构以实现设计良好的单表继承以更好地使用 MVC 模式?
更新
好吧,我试着简化了一下,现在我完成了这个新结构:
我还能改进吗?如何?