【问题标题】:First Normal Form第一范式
【发布时间】:2015-04-22 17:20:26
【问题描述】:

我是做数据库设计的新手,只是想问一个问题,看看我是否走在正确的轨道上。有一个需要分解为第一、第二和第三范式的示例表,并为每个范式绘制依赖关系图。但在此之前只是想检查我是否正确地使用了第一个正常形式

【问题讨论】:

  • 2nf 看起来还不错。诸如教育、工作、部门、员工之类的东西应该移到它们自己的关系中,即移除 3nf 的传递依赖。

标签: database-design database-schema database-normalization


【解决方案1】:

您的解决方案实际上是第二范式,因为您将教育数据移到了单独的表中。如果您只想成为第一范式,您可以将教育数据保留在员工表中,但在具有不同教育的行上重复所有员工信息,例如

1003    Willaker    HS  High School     1982    MKTG    Marketing   23  Sales Agent
1003    Willaker    BBA Bachelor (Bus)  1988    MKTG    Marketing   23  Sales Agent
1003    Willaker    MBA Masters (Bus)   1993    MKTG    Marketing   23  Sales Agent

第一范式不是很有趣,因为所有这些重复;当我们标准化时,我们几乎总是从第二范式开始,就像你做的那样。

第三范式将删除教育表中同时包含教育代码和教育描述以及员工表中的部门代码和部门名称的冗余。由于特定部门代码的部门名称始终相同,因此您应该有一个包含此关系 (MKTG => Marketing) 的部门表,并将代码(或 ID)放入 Employee 表中。

【讨论】:

  • 感谢您的回答。我确实按照您最初的方式完成了它,但是在进行了一些研究之后,似乎人们会获取数据,当然会将其放入单独的表格中。很高兴有一个可靠的答案。再次感谢您
猜你喜欢
  • 2015-04-28
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 2014-09-21
  • 2011-09-02
  • 2013-12-13
  • 1970-01-01
  • 2019-08-03
相关资源
最近更新 更多