我需要一些关于项目管理系统数据库设计的指导。我的问题主要是关于我应该如何围绕各种角色设计列或表的功能。
系统将在用户表中有多个用户,在角色表中有以下角色 (公司管理员、项目经理、主管、候补主管、员工)
涉及的各种实体是用户、角色、用户角色映射、公司、项目
- 一家公司有许多项目,并且有一个或多个公司管理员
- 每个项目都有一个项目经理
- 每个项目都有几个员工分配给它
- 每个员工都有一个主管
我正在寻找可以很好地转换为实体框架模型的良好数据库设计。
这是我想到的方法,希望得到任何反馈:使用提供用户、角色、用户角色映射功能的默认 ASP.NET 成员资格。
然后,使用 Membership 中的基本用户表并创建特定于角色的表来存储各种用户:员工、公司管理员、主管
更新二:请看下面的新图片。考虑使用每个层次结构的表将各种经理(公司的公司管理员、项目的项目经理、员工的主管)存储在同一个表中。您如何看待数据库设计,请建议这将如何用于实体模型?
另外,另一方面,您认为我连接项目、任务和员工的方式是否正确?
谢谢。