在BCNF算法中,我们采用了BCNF中没有的功能依赖性。
假设Relation R = {A,B,C,D}
和F= {{C->A}, {D} -> {B} , {C} -> B}}
,其中{C,D}
是密钥。
在我们的算法中
R'
将是R' = {A,B,C,D}
功能依赖项C->A
违反了BCNF的规则,因为C
不是此处的关键。因此,我们将执行分解。
在这里,子方案R2由以下规则构成:R2:= α ∪ β
考虑到我们的功能依赖性R2
导致R2={{C,A}}
成为A->C
。作为此关系的关键,我们选择C
,因为C
决定了A
的功能依赖关系。现在创建的关系R2
在BCNF中。是否有示例说明在此步骤中创建的关系不在BCNF中?如果不是为什么?