【问题标题】:ERD - relationships between 4 entities convert into assocaitive EntityERD - 4 个实体之间的关系转换为关联实体
【发布时间】:2018-07-29 01:02:42
【问题描述】:

这是我正在构建的项目管理软件的 ER 图。

它包含这些实体:

  • 项目 - 软件项目
  • 任务 - 可以分解为多个任务的软件项目
  • 员工 - 属于此软件的员工

完成项目:

  • 项目必须分成子任务
  • 项目可以有 1 个或多个任务
  • 任务仅属于 1 个项目。

  • 为项目分配员工
  • 项目可以分配 1 名或多名员工
  • 选定的员工恰好被分配到一个或多个项目

让我们以项目 A

  • 项目 A 有这些任务 - 任务 a1、任务 a2、任务 a3
  • 项目 A 已分配这些员工 - emp aa1、emp aa2、emp aa3

从项目 A 分配的员工(emp aa1,emp aa2,emp aa3)中,您可以选择一名员工,然后您可以向该员工分配选定的项目 A 任务(任务 a1,任务 a2,任务 a3)。


员工可以将每天花费的时间提交给特定的分配任务。它可以是多个条目。因为完成一项任务可能要花费数天

如果他将这些数据提交给系统

  1. 分配到特定项目(项目 B)的员工完成了属于项目 B 的少量任务(任务 b1、任务 b2)。

使用系统选择任务 b1,然后可以查看员工每天如何花费时间来完成该任务


我有以下问题

  1. 这个 ER 图正确吗?

  2. 我可以将关系(菱形)转换为关联实体吗?

  3. 如何标记基数?

【问题讨论】:

    标签: database relational-database relationship entity-relationship erd


    【解决方案1】:

    这个ER图正确吗?

    您的图表似乎与给定的文本不对应。由于每个Task 都属于单个Project(即Task 确定Project),因此没有理由将TaskProject 一起与其他实体集建立关系。同样,AssignmentProject 不会在与其他实体集的关系中一起出现。总的来说,未命名的中心关系是没有意义的。

    我可以将关系(菱形)转换为关联实体吗?

    为什么?在 ER 模型中,当一个关系需要成为另一个关系的主体时,使用关联实体集。

    如何标记基数?

    在从关系到实体集的每一行旁边,如果对于其余角色的任意组合,在关系中的该角色中只能出现一个实体,则写“1”。如果对于其余角色的任意组合,该角色中可以出现多个实体,则写一个可变字母(“M”、“N”等)。不要在每个关系中多次使用相同的可变字母。

    例如,假设您有一家公司在不同地区分销多种产品,并且每个地区的每种产品都只有一名销售人员。这将是一个三元关系,其中SalespersonProductRegion 的组合决定。对于ProductSalesperson 的任意组合,可能会记录多个区域(我没有说Salespersons 仅限于单个Region)并且对于RegionSalesperson 的任意组合,可能会记录多个@ 987654339@ 可能会发生(Salesperson 可能会在同一地区销售多个产品)。所以基数是 M (Products) 到 N (Regions) 到 1 (Salesperson)。

    【讨论】:

    • Task 和 Project 有关系,因为 ????让我们采取项目 A project A has these tasks - task a1, task a2, task a3 project A has assigned these employees - emp aa1, emp aa2, emp aa3 如果不是在关系中同时使用 Task 和 Project 从那些项目 A 分配的员工(emp aa1,emp aa2,emp aa3)可以分配任何任务(属于项目 A 和其他项目)
    • 我希望看到任务和项目之间的二元关系。但是,由于 Task 确定 Project,我不希望 3 路或 4 路关系同时涉及 Task 和 Project 以及其他实体集。这样的安排会在逻辑模型中产生冗余的传递函数依赖。
    • 有不同的方法来表示基数(特别是在这里查看和查看),因此您必须参考告诉您使用的变体 ER 方法。此外,任何关系都可以具体化为关联实体——如果您的方法允许的话。所以再次给出你要使用的方法的参考。
    • 但是要将关系转换为关联实体,参与实体类型的所有关系都是此处提到的 M:N 关系,stackoverflow.com/questions/28905166/… 是真的
    • @Susantha7 实体关系模型(由 Chen 定义)不需要关联实体来表示多对多二元或三元及更高级别的关系(我的回答中提到的除外)。由于这些模型的表达能力有限,这是二进制数据模型中需要的一个想法。
    猜你喜欢
    • 2015-03-14
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多