多值依赖混淆

时间:2014-11-18 18:17:55

标签: database database-normalization unique-key 3nf bcnf

我正在努力解决4NF / Multivalued Dependencies(MVD)的概念 - 现在没有帮助我患有极度窦性压力,但那是另一个故事。

我正在查看我目前正在学习的课程的补充书籍,其中一个例子如下:

本书指出星号表示唯一键或复合属性键。

给定:R(A *,B,C *)和集{(A,B):R,(B,C):R}满足无损分解性质:

多值依赖关系B->> C是否成立? B绝对是一把独特的钥匙吗? R是4NF吗?

我理解无损分解 - 如果您采用上述两组的自然连接 - 您将获得原始数据集,即本例中的A,B,C。

但我无法掌握如何获取给定的信息并证明/确认B-> C>持有或不存在。

任何形式的帮助都会受到赞赏 - 我通过电子邮件向我的教授发送了关于我的困惑的电子邮件,他只是告诉我要查看他的笔记(我显然曾多次做过)并且它让我无处可去。

1 个答案:

答案 0 :(得分:0)

  

多值依赖关系B->> C是否成立?

你被告知有关MVDs的一些事情。其中一个可能是:

  

将R分解为(X,Y)和(X,R-Y)是无损连接   分解当且仅当X - >> Y持有R。

在你的情况下,R是{A,B,C},X是{B},Y是{A},R - Y = {A,B,C} - {A} = {B,C}。因此,当且仅当{B,A} - >>时,将R分解成(B,A)和(B,C)是无损连接分解。在B中保持{B,C}。但是我们给出了将R分解为(B,A)和(B,C)的无损连接分解。所以{B,A} - >> {B,C}在R。

中成立
  

B绝对是一把独特的钥匙吗?

我无法理解这一点。

也许你试图说我们得到{A,C}是R的候选键但是可能有其他候选键而你试图询问分解性是否意味着{B}也必须是R的候选键。让我们寻找一个反例。选择一个最简单的例子。假设R是{(a,b,c1),(a,b,c2)} = {(a,b)} JOIN {(b,c1),(b,c2)}。这与R CK {A,C}& R MVD {B,A} - >> {公元前}。但是b出现c1和c2所以{B}在功能上没有确定所有其他属性,因此{B}不是R的关键。所以CK和MVD不强制{B}是CK。

  

R是否在4NF?

你被告知有关4NF的一些事情。一个可能是:

  

当且仅当对于每个非平凡的表格时,表格在4NF中   多值依赖关系X - >> Y,X是超级钥匙

MVD {B,A} - >> {B,C}恰好是微不足道的。但要显示R必须是否必须是NF或者不能是4NF,或者我们无法告诉你将要解决可能存在于R中的非平凡MVD和R可能具有的密钥。