【发布时间】:2015-10-13 01:51:21
【问题描述】:
我正在尝试了解数据库规范化。我看到了这个不是 3 范式的 2 范式的例子
Tournament Year Winner Winner_Date_of_Birth
Indiana Invitational 1998 Al Fredrickson 21 July 1975
Cleveland Open 1999 Bob Albertson 28 September 1968
Des Moines Masters 1999 Al Fredrickson 21 July 1975
Indiana Invitational 1999 Chip Masterson 14 March 1977
这里的主键是锦标赛,年份。所以没有非主键属性在功能上依赖于主键的子集,它在 2NF 中。
如何,根据维基百科,它不在 3 NF 中,因为
Touranment, Year -> Winner and
Winner -> Winner_Date_Of_Birth
所以键之间存在函数依赖的传递属性。我理解这部分,但我想知道的是,因为我们的关键
(Tournament,Year)只能有一个唯一的winner_date_of_birth,不使用上面的传递属性是否可以说(Touranment, Year) -> Winner_Date_Of_Birth?
【问题讨论】:
标签: normalization