【问题标题】:Database design for employee, department and role hierarchy员工、部门和角色层次结构的数据库设计
【发布时间】:2020-11-14 02:27:42
【问题描述】:

假设我有员工和部门以及员工角色,其中一名员工可以属于具有不同角色的不同部门。

例如,Emp 1 属于具有角色经理的 Dept 1。其中同一员工可以属于具有 service-man 角色的 Dept 2。

每个员工也有一个像 Emp 2 这样的子层次结构,Emp 3 属于具有角色助手的 Dept 1,其父级是 Emp 1。

在这种情况下,设计这个概念的最佳解决方案是什么。请分享您的意见。

考虑实体和属性:

员工: ID, 名字

部门: 部门编号, 部门名称

角色: 角色标识, 角色名称

【问题讨论】:

  • 你自己做过这方面的工作吗?你有起点吗?您的实体有哪些我们应该关注的属性?
  • 只有员工姓名、部门名称、角色和每个员工的父母。

标签: database schema erd


【解决方案1】:

我将尝试按照您概述的方式陈述业务领域,然后将其转化为架构建议。

系统有 0 个或多个员工

系统有0个或多个部门

系统有 0 个或多个角色 > 一个员工属于1个或多个部门,并且在该部门内只有一个角色和一个(a父母是另一名员工)

Employee
------------
Employee_id (pk)
Name

Roles
------
Role_id (pk)
Name

Departments
-----------
Department_id (pk)
Name

Employee_deparment_role
-------------------------
employee_id (pk, fk)
department_id (pk, fk)
role_id (pk, fk)
Parent_id (pk, fk to employees) 

此模型仅捕获一种状态 - 它不允许人们更改部门或角色或“父级”,但您没有将其作为要求提及。

【讨论】:

  • 如果我想将 parent_id 保留在 Employee_deparment_role 表中,您能告诉我问题吗? @内维尔库伊特
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2010-11-19
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
相关资源
最近更新 更多