【问题标题】:Doing a Normalization进行规范化
【发布时间】:2016-05-17 04:34:40
【问题描述】:

完整问题图片:

3NF 图像:

2NF 图像:

嘿,我必须将其更改为 3NF 和 2NF。我自己试过了,但我不太确定我是否正确。

【问题讨论】:

  • i.imgur.com/rQSPe4Q.png 这是我的 2nf 的照片,希望允许发布这些链接。
  • 您能否更详细地描述一下具体是什么问题以及您尝试了什么?

标签: normalization


【解决方案1】:

您忘记了原始问题中的 Job_Class。

2nf 将包括 3 个表格。那是因为考虑 CHG_Hours。这取决于 Job_class。可以有一个候选键 Employee_num、Employee name 和 Job_class 和 CHG_Hours 取决于这个候选键的适当子集,即 Job_class。因此,我们需要将其分开。

1) CHG 小时数

CHG HOURS | JOB_CLASS

2) 员工

Employee_num | Employ name | Hours

3) 项目

Project_num | Project name

3nf:

同样,因为每一列都只依赖于主键。主键有下划线。

【讨论】:

  • 3NF 和 2NF 的信息是否相同?
  • 3NF 表示必须没有传递函数依赖,即每一列都必须直接依赖于主键。它不应该间接依赖它......例如考虑表#2中的员工地址,然后employee_address通过employee_name间接依赖于主键“employee_num”。我不认为 Hours 间接依赖于 employee_num。
猜你喜欢
  • 2013-03-08
  • 2010-11-16
  • 2012-05-14
  • 2020-07-31
  • 2018-12-12
  • 2017-09-26
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多