-1

我在一本书中读到:“只有当表包含多个候选键时,才能违反 BCNF。” 考虑以下示例: Sn Rollno Name Game 1 u11co098 Robert Basketball 2 u11ce034 Bob Cricket 3 u11co098 Robert Cricket 4 u11me049 Hogart Volleyball

从上表可以看出这 Sn是一个主键 FDs Rollno -> Name Sn -> Rollno, Name, Game 现在根据上表的陈述是 BCNF 形式,因为它只有一个主键或候选键。FD不Rollno -> Name违反BCNF吗?(因为Rollno不是候选键)

4

1 回答 1

0

首先,您发布的关系is not in 3NF导致存在transitive dependency类似

Sn -> Rollno,名称,游戏

所以sn -> rollnoRollno -> Name

我们需要像下面那样分解模式

R1(Sn, Rollno, Game)

R2(Rollno, Name) 

候选键是唯一确定所有其他字段的键;但是被选为主键的那个变成了PK。

定义:A table is said to be in BCNF if it don't have any overlapping candidate key

现在关系 R1 和 R2 都在 BCNF 中。

于 2014-04-30T02:34:15.690 回答