Database design 第一范式

Database design 第一范式,database-design,database-schema,database-normalization,Database Design,Database Schema,Database Normalization,我是做数据库设计的新手,只是想问一个问题,看看我的思路是否正确。有一个需要分解为第一、第二和第三范式的示例表,并为每个表绘制依赖关系图。但在这之前,我只是想看看我做第一个标准形式是否正确 您的解决方案实际上是第二范式,因为您将教育数据移动到了一个单独的表中。如果您只想成为第一个正常人,您可以在employee表中保留教育数据,但在具有不同教育程度的行中重复所有员工信息,例如 1003 Willaker HS High School 1982 MKTG Marke

我是做数据库设计的新手,只是想问一个问题,看看我的思路是否正确。有一个需要分解为第一、第二和第三范式的示例表,并为每个表绘制依赖关系图。但在这之前,我只是想看看我做第一个标准形式是否正确


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

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表中即可。

使用2nf看起来很不错。诸如教育、工作、部门、员工等应该转移到他们自己的关系中,即删除3nf的可传递依赖项。谢谢您的回答。我确实像你最初做的那样做了,但在做了一些研究之后,人们似乎会把数据放在一个单独的表格中。很高兴有一个可靠的答案。再次感谢你