首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有不同用户角色的数据库设计与EF模型

具有不同用户角色的数据库设计与EF模型
EN

Stack Overflow用户
提问于 2012-07-22 14:35:54
回答 1查看 2.5K关注 0票数 4

我需要一些关于项目管理系统的数据库设计的指导。我的问题主要是如何设计列或表的功能围绕不同的角色。

系统将在一个User表中有多个用户,角色表(公司管理人员、项目经理、主管、候补主管、员工)中有以下角色

涉及的各种实体包括用户、角色、UserRoleMapping、公司、项目

  • 一家公司有许多项目,还有一家公司的管理人员
  • 每个项目都有一个项目经理
  • 每个项目都有几个员工被分配给它
  • 每个员工都有一名主管

我正在寻找一个良好的数据库设计,可以很好地转化为实体框架模型。

这是我想过的方法,并希望得到任何反馈:使用默认的ASP.NET成员资格,它将提供用户、角色、UserRoleMapping功能。

然后,使用成员资格中的基本用户表并创建特定于角色的表来存储各种用户: Employees、CompanyAdmins、Supervisors

更新二:请看下面的新图片。考虑在同一个表中使用表每个层次结构来存储各种经理(公司管理人员负责公司,项目经理负责项目,管理人员用于员工)。作为数据库设计,您对此有何看法,并建议如何为实体模型工作?

另外,你认为我把项目、任务和员工联系起来的方式是正确的吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-22 16:01:13

员工桌能有多大?在他们作为管理员、主管或经理的角色中,所有这些人都是雇员(他们可能有也可能没有主管)。一个员工能被分配到多个项目吗?一个员工能被分配多个项目吗?在我的例子中,一次只能分配给一个项目(或者在某些雇员的情况下,没有)。这允许我修改一个基本的employee对象,如: EmpID Employee info SupervisorID (可以是空的,也可以是employee_id的) AlternateSupervisorID (可以是空的,也可以是employee_id的)|Project_ID(可以是空的)和FK。

只有其他对象是带有project_id PK的项目。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11601158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档