我正在做一些包含以下内容的教科书问题。
以下哪种关系属于第三范式(3NF)?
a) R(ABCD) FD's: ABD → C ; CD → A ; AC → B ; AC → D
b) R(ABCD) FD's: ABD → C ; A → B ; AB → C ; B → A
c) R(ABCD) FD's: AB → C ; ABD → C ; ABC → D ; AC → D
d) R(ABCD) FD's: AD → C ; D → A ; A → C ; ABC → D
我觉得所有四种选择都是错的,但我没有答案。有人可以帮帮我吗? R表示关系,FD是功能依赖的短期。
(免责声明:这不是来自测试/家庭作业,它给予任何信任,我只是想确保我理解正确的概念)
答案 0 :(得分:0)
证明某种东西的某种形式是通过试图打破它。很难描述为什么是而不是3NF。话虽如此,你能否告诉我为什么你认为每个人都不满足3NF所以我们可以从那里工作?
这是我所知道的: b)断开2NF,因为候选密钥ABD可以分解为AB,这决定了非素数C. c)只有候选密钥是AB。 AB - > C.D通过传递关系ABC确定 - > D.打破3NF。 d)候选键BA确定C.但是A - > C,因此打破2NF。
我找不到任何错误,所以这是我对正确答案的猜测。
答案 1 :(得分:0)
让我用简单的话来解释: 3NF的条件:
非素数属性应仅依赖于超级键
对于选项A,
通过关闭属性
<强> AC + = ABCD 强>
因此,A,C是主要属性,B,D是非主要属性
由于所有非素数属性都依赖于超级密钥AC 选项A 位于 3NF
中
对于选项B,
通过闭包属性,
<强> ABD + = ABCD 强>
因此,A,B,D是主要属性,C是非主要属性
由于C,非素数属性取决于不是超级键的AC,
选项 B 不在 3NF
中
对于选项C,
通过闭包属性,
<强> AB + = ABCD 强>
因此,A,B是主要属性,C,D是非主要属性
由于D非主要属性取决于不是超级密钥的AC
选项 C 不在3NF
中
对于选项D,
通过闭包属性,
<强> AB + = ABCD 强>
因此,A,B是主要属性,C,D是非主要属性
由于C,非素数属性取决于不是超级键的AD,
选项 D 不在 3NF
中
希望,它有所帮助!!