【问题标题】:Am I Properly Normalizing this Table我是否正确规范了这张表
【发布时间】:2018-11-05 07:25:20
【问题描述】:

以下问题来自:https://cs.senecac.on.ca/~dbs201/pages/Normalization_Practice.htm(练习3)

未规范化的表格如下所示:

为了遵守第一范式,必须处理所有重复组。在这种情况下,多个产品可能会出现在一个订单上,因此必须为其提供自己的实体并关联回原始表:

这些表也属于第二范式,因为在所有表中,每个非键属性都依赖于其表中的主键。

最后,要将其带入第三范式,必须为客户提供自己的实体并与原始订单实体相关联:

我是否将原始表格正确规范化为第三范式?如果没有,请提供反馈,解释我做错了什么。

【问题讨论】:

  • 嗨。您关于标准化的 cmets 与对它的理解不一致。规范化不涉及实体;它涉及FD,您没有提到。请提供您的教科书并展示您如何遵循它。阅读并根据热门搜索“stackexchange 作业”采取行动。请use text, not images/links, for text (including code, tables & ERDs)。使用图像仅是为了方便补充文本和/或文本中无法提供的内容。永远不要给出没有图例/键的图表。
  • 将问题陈述文本放在您的问题中,而不是在链接中。对于设计和there is no standard definition for "1NF",没有“非规范化表”的标准概念,因此请告诉我们您的教科书和/或这些对这项作业的确切含义。而且您没有提及 FD,因此您似乎不知道自己在做什么,因此答案必须重写您的教科书并为您完成工作——这是一个题外话问题。我们也不能批评你所做的,因为给出一些不合理的里程碑是不允许的。

标签: database database-design database-normalization third-normal-form


【解决方案1】:

将一些客户的主要详细信息存储在 订单表 中,这些信息可在 Bill 上找到,因为一旦更改了客户详细信息,Bill 就会与原始数据不同。

对于产品,在 Product_Order 表中存储产品价格也是如此,因为一旦产品价格改变,账单就会改变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    相关资源
    最近更新 更多