寻找关于数据模型的反馈

问题描述 投票:0回答:1

我正在参加名为“高级数据建模”的 Coursera 课程,并练习创建概念模型和逻辑 ER 图。提示给了我以下字段,并说要使用它们创建数据模型:

  • 订单号
  • 客户名称
  • 客户地址
  • 订购日期
  • 交货状态
  • 交货日期
  • 联系
  • 号码邮箱
  • 商品名称
  • 商品价格
  • 总费用

下面是我的回答和Coursera的区别。我不太关心 Coursera 添加的属性,我也没有。我的主要问题是:

  1. 对于概念模型,Coursera 用“地点”代替我的“客户信息”,但联系信息同样重要。如何确定两个表之间的最佳关系?
  2. 对于Logical ER Diagram,为什么要分开Delivery Status交货日期如果它直接绑定到订单?
  3. 对于逻辑 ER 图,我创建了一个 Order Detail 表,因为 我的想法是你想按所有项目分开每个订单 订单内。似乎 Coursera 的答案没有考虑到 考虑到客户可能会在同一订单中订购多件商品 命令。我的理解是这违背了 2NF 并且 如果客户订购了不止一件商品,则会导致冗余数据。能 有人确认我在这里是否遗漏了什么?

我的答案

Coursera 的回答

sql relational-database data-modeling datamodel conceptual-model
1个回答
0
投票

如果我没理解错:

  1. 联系人可以更改他们的联系信息,但您仍然会保存历史联系信息,所以

    1 contact to n contact-info

  2. 一个订单可以有多个交付,因为“交付”可能会因某些邮政错误而返回。家里没人?另一个交货,另一个交货状态和交货日期。你也可以为此准备另一张桌子,

    1 order n deliveries
    .

  3. 我会使用 1 和 2 的相同原则,所以对我来说,你的答案更有效。

© www.soinside.com 2019 - 2024. All rights reserved.