【问题标题】:Database design with ER diagrams [closed]使用 ER 图进行数据库设计
【发布时间】:2021-02-02 03:26:15
【问题描述】:

我现在开始在一家初创公司工作了一周,并被分配到数据库方面。我以前没有数据库方面的经验,我正在尽可能多地研究它们。我们使用 Airtable 作为我们的关系数据库。 一周后,经过一些研究,我意识到他们认为他们正在使用 Airtable 作为数据库,但它基本上只是一个电子表格,因为它不遵守任何关系数据库规则(没有主键,没有正确链接的数据重复记录 ecc.)。 但是,在尝试为我们的真实数据库绘制 ER 图时,我遇到了困难,因为 CARDINALITY 让我感到困惑。

  • 我们应该有一个营销团队来吸引客户,并跟踪每个营销人员吸引了多少客户。
  • 将为每位客户提供三项服务:分享他的书籍、租借和阅读书籍,或者在我们的数据库中没有书籍的情况下请求书籍。

这只是其中的一部分,但理解这小部分可能会帮助我扩展这个图表。

这是我目前想出的ER Diagram

【问题讨论】:

  • 我不确定你的问题是什么?
  • 如果我的“问题”不清楚,我很抱歉。我只是想从我在问题中列出的两个要点了解创建一个好的 ER 图的过程。

标签: sql database database-design er-diagrams airtable


【解决方案1】:

请考虑以下几点:

  1. 您的营销团队符合客户的模式,他们本质上是一个“人”实体 - 您在不必要地复制信息。
  2. 每个“人”都可以有角色,例如客户或营销团队。 Entity 和 Role 之间的关系是一对多。因此,营销团队成员有可能自己成为客户。 2B)这将建议人员和角色的映射表,例如Person_Roles。
  3. 我建议您有一个服务表,其中列出了您的服务。
  4. 您可能会发现您需要一个类似于 Person_Services 的表,其中列出了一个人请求的服务 - 带有时间戳详细信息。因此,一个人可以请求一项或多项服务 - 您可以跟踪它们。此表将包含一个字段,例如 MarketingTeam_PersonId,其中将列出协助该人员处理其服务请求的内部人员的人员 ID。

随着您更好地了解现实以及拼图时未传达给您的内容,此模型将发生变化。

祝你好运。

【讨论】:

    猜你喜欢
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 2017-01-30
    相关资源
    最近更新 更多