【问题标题】:Normalization of a database数据库的规范化
【发布时间】:2016-02-18 16:04:20
【问题描述】:

我正在尝试将数据库/表转换为 3NF。我不确定这是否正确,有人可以给我一些指示吗?

链接可以在这里找到:https://docs.google.com/spreadsheets/d/1f0xujrX2TjEYDcma3lqAN0yyZ4Q4QhIIfvUdeT9ed5U/edit#gid=0

【问题讨论】:

  • 电子表格似乎在 3NF 中丢失了数据。例如,缺少订单的总成本。
  • @joshp 可以计算总成本,因为他将当前商品价格与订单本身保持一致。
  • @AnilKumar 有道理,但实际上最好在练习中说出来,尤其是在学校时。总是计算成本的假设会给你一个正确的答案吗? 3NF 是否禁止存储聚合?多行聚合是函数依赖吗?
  • @joshp 你是对的“3NF 不禁止存储聚合”。并且多行聚合不能总是说是微不足道的函数依赖,因此如果它不是为了学校(就像我假设的那样),那么还应该存储成本总计。

标签: database database-design normalization database-normalization


【解决方案1】:

3°范式:最后三个表格应该是

客户编号,客户

账号、地址

订单号、日期、帐号

【讨论】:

  • “项目”呢?它们不应该作为单独的表格包含在 3NF 中吗?还有,在 SQL 中如何实现?
  • 您可以从 2nf 使用的物品。
猜你喜欢
  • 2012-10-08
  • 2012-06-21
  • 2016-07-23
相关资源
最近更新 更多