【问题标题】:Database design according to the organization chart根据组织结构图设计数据库
【发布时间】:2021-04-12 07:25:46
【问题描述】:

我正在尝试将组织结构图转换为实体所在的数据库模型(部门、员工和项目) 有条件:

  1. 一个员工只在一个部门工作,而一个部门可能有许多员工在其中工作。
  2. 一个部门可能只有一名经理,但一名经理可以管理多个部门。
  3. 一个部分可以有多个项目,一个项目可以分配给一个或多个部分。

我创建了以下 ERD:

在我的模型中,我将经理和员工包含在一个表中(因为所有人都必须登录仪表板)但这会产生问题,我需要专家指导来处理员工、经理和部门的关系。

是否应该为经理提供单独的表格?

【问题讨论】:

  • 但它会产生问题什么问题?在这一点上我建议的更改是: 1. 添加一个自引用层次结构表来为组织层次结构建模。这是一个只有列u_idparent_u_id 的表,并引用自身来对组织层次结构进行建模。此外,我不喜欢在表中的每一列前面加上一个特殊的标识符。这没有任何意义。如果每个用户只能在一个部分中,那么用户表中应该有一个部分 id。如果要项目的部分是多对多的,那么您需要在中间放置一个桥接表。所以据我所知,你需要两张新桌子

标签: mysql database-design erd


【解决方案1】:

不,因为管理员是用户。让苹果车感到不安的一件事是,在一个/多个项目期间,您如何适应经理的变化?这种设计假设人员变动没有流动性,我认为这是一个有缺陷的假设。您可能应该考虑某种与节相关的缓慢变化的维度表 - 它表示允许您在某个时间点获取节头的 section_heads。 (现实世界变得一团糟……)祝你好运。

【讨论】:

    猜你喜欢
    • 2014-06-22
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2013-02-17
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多