BCNF的候选关键决定因素是否足够好?

时间:2014-11-08 19:54:02

标签: mysql database relational-database database-normalization bcnf

我的作业中出现的问题如下:

  • 如果决定因素是候选键的一部分,对BCNF来说是否足够好?

我不这么认为,因为如果所有非关键属性都依赖于整个主键,那么关系就在BCNF中,而没有别的。这表示决定因素是候选键的 part ,这是否意味着部分功能依赖?

然而,我开始猜测自己,因为候选键有可能是超级密钥,但看起来并非如此。

您怎么看?

1 个答案:

答案 0 :(得分:1)

“部分”是什么意思?一些但不是全部?部分或全部?你是什​​么意思?

部分功能依赖的定义使用“部分”来表示一些但不是全部。

检查BCNF的定义。要求没有非素数属性在某种程度上功能上依赖于任何键的那个也需要除了你写的其他东西。所以你的“如果”是不正确的。但是,如果赋值问题的“部分”意味着“部分但不是全部”,如“部分依赖”,那么通过BCNF的相关定义,该关系不在BCNF中。

所有候选键都是超级键。但候选键是不包含任何较小超级键的超级键。超级密钥涉及BCNF定义的不同形式。但是,如果根据一个定义和你所知道的内容违反了BCNF,那么另一个定义就不可能允许它。