我有一个特定的应用程序,用户可以在其中扮演不同的角色。除了业务逻辑控制的不同权限之外,用户的某些角色还需要其他链接信息。例如,请求者链接到部门。
所以问题是,从设计的角度出发,哪一种是更好的方法: 1个 链接到Department表的具有department_id的用户表,对于非请求者为null。 具有用户角色的角色表 UserRole链接表
2 用户表 请求者表,其中department_id链接到部门,user_id链接到用户 具有用户角色的角色表 UserRole表
因此,换句话说,对于可能需要具有或链接到其他数据的特殊角色类型,我应该创建单独的表,还是将所有表聚集在用户表中,并通过角色和应用逻辑?
谢谢
答案 0 :(得分:0)
希望所有用户不能成为请求者。另外,如果您链接了dept和user,则dept_id在用户表中将是FK,效果不佳。同样在将来,如果您需要链接其他信息,则可以在用户表中添加另一个属性。用户和部门之间的桥接表将与userRole桥接表相同。如果用户是请求者,则桥接表将具有该用户的记录(user_id和dept_id)。将来如果您要创建其他链接,则可以创建另一个桥表并进行维护,而不是在用户表中添加属性