困惑于如何从2NF到3NF

问题描述 投票:0回答:1

正如标题所述。我已经阅读了很多文章试图围绕这个问题,但我仍然不确定我是否做得对。我想我已经掌握了它,但想要得到更多的意见,以防我需要纠正我正在做的事情。示例如下。谢谢!

1NF Employee_ID,姓氏,名字,街道,城市,邮编,D.O.B。,年龄,需要学位

2NF Employee_ID,姓氏,名字,D.O.B,年龄,学位收到位置_ID,街道,城市,邮编

3NF Employee_ID,姓氏,名字,年龄出生日期,D.O.B。 Location_ID Street邮政编码,城市

database-normalization 3nf
1个回答
0
投票

总结:2NF是每个非键属性取决于整个主键的时间。所以想象一张CD。 CD有一个ID号,这是主键。艺术家的姓名,艺术家和性别取决于主键。所以这是正确的:

Table_CD:
CD_ID:    Name:    Artist:    Artist_Gender: 
1         CD1      Artist1    Male
2         CD2      Artist1    Male
3         CD3      Artist2    Female

这对于2NF是正确的,因为艺术家依赖于键(CD_ID)。我们不检查传递依赖性。

在3NF中,您只是说不能依赖于不是关键的东西。艺术家的性别取决于艺术家。不在CD_ID上,这是关键。因此它不是3NF。

要使其成为3NF,您必须将传递依赖性分开。因此,艺术家的性别。从而:

Table_CD:
CD_ID:    Name:    Artist:
1         CD1      Artist1 
2         CD2      Artist1 
3         CD3      Artist2 

Table_Artist:
Name:          Gender:
Artist1        Male
Artist2        Female
© www.soinside.com 2019 - 2024. All rights reserved.