我的考试答案关键和我的答案(和在线工具的答案)对于典型的“确定关系的最高正常形式”问题是不同的,我想知道为什么。
试题:对于给定的关系 R,其模式 H = {A,B,C,D,E} 和函数依赖关系 F = {{B,C}-& gt;{D,E},{C,D}-& gt;{B},{D}-& gt;{C},{E}-& gt;{B}。
My answer:我已经有 1NF 了。接下来我检查 2NF。
要做到这一点,我需要候选键。“A”不在任何依赖关系中,所以它必须在键中。我也可以添加“D”,并且从 {D}-& gt;{C} 我有 {A,C,D}。然后从 {C,D}-& gt;{B,E} 我有所有的 {A,B,C,D,E},所以 {A,D} 我可以是
2NF 要求“没有非素数属性可以在功能上依赖于任何候选键的任何适当子集;非素数属性不是关系的任何候选键的一部分。”但是我有 {B,C}-{D,E},所以 E(非素数属性)依赖于 {B,C}({A,B,C} 的适当子集),因此它不在 2NF 中。
考试答案:
关系在 3NF 中。此外,检查正常形式的this handy tool告诉我它是 3NF。
我的问题:
这是 1NF 还是 3NF?我唯一的疑问是 {B,C}-& gt;{D,E} 依赖关系。正如我上面写的,E 是非素数,但 {D,E} 作为整体包含 1 个素数和 1 个非素数属性。我在这里犯了一些错误吗?
假设 F 覆盖了 R 的函数依赖关系,假设候选键是AD
,ABC
和ACE
是正确的。因此,所有属性都是素数,没有依赖关系可以违反 3NF,关系在 3NF 中,因此它也在 2NF 中。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(67条)