0

根据 Boyce-Codd 范式定义,

如果对于 F+ 中的所有 X -> A -A 是 X 的子集(称为平凡 FD),或者 -X 是 R 的超键,则具有 FD F 的 Reln R 在 BCNF 中。

 “R is in BCNF if the only non-trivial FDs over R are key constraints.”

 If R in BCNF, then every field of every tuple records information that 
 cannot be inferred using FDs alone.

我不明白的是上面关于范式的两个陈述,

有人可以给我一个例子吗?

谢谢!

4

1 回答 1

0

在我尝试解释之前的一些先决条件:

非关键属性:不属于任何候选关键的属性称为非关键/非主要属性。

Superkey:表中的一组属性,其值可用于唯一标识一个元组。候选键是识别元组所必需的最小属性集;这也称为最小超级密钥。

现在,BCNF 是 3NF 的高级版本,比 3NF 更严格。

如果每个函数依赖 X → Y,则表在 BCNF 中,X是表的超键

Consider a relation : R(A,B,C,D)

The dependencies are:

A->BCD

BC->AD

D->B

So, Candidate keys(or minimal super keys) are A and BC.

But in dependency: D->B, D is not a superkey.

Hence it violates BCNF form.

We can break this relation into R1 and R2 as:
R1(A,D,C) and R2(D,B) to get BCNF.
于 2019-06-12T09:23:35.700 回答