Database 3NF格式的关系

Database 3NF格式的关系,database,database-normalization,functional-dependencies,3nf,Database,Database Normalization,Functional Dependencies,3nf,我在做一些教科书上的问题,包括下面的问题 下列哪种关系是第三范式(3NF) 我觉得这四个选择都是错误的,但我没有答案。有人能帮我吗?R表示关系,FD是函数依赖的短期表示 (免责声明:这不是来自任何学分的测试/家庭作业,我只是想确保我正确理解了这个概念)证明某事物是某种NF形式的方法是尝试打破它。在3NF中很难描述为什么有些东西是而不是不是不是。也就是说,你能告诉我为什么你认为每一个都不能满足3NF,所以我们可以从那里开始工作吗 这就是我发现的: b) 由于候选密钥ABD可以分解为AB,从而确定非

我在做一些教科书上的问题,包括下面的问题

下列哪种关系是第三范式(3NF)

我觉得这四个选择都是错误的,但我没有答案。有人能帮我吗?R表示关系,FD是函数依赖的短期表示


(免责声明:这不是来自任何学分的测试/家庭作业,我只是想确保我正确理解了这个概念)

证明某事物是某种NF形式的方法是尝试打破它。在3NF中很难描述为什么有些东西是而不是不是不是。也就是说,你能告诉我为什么你认为每一个都不能满足3NF,所以我们可以从那里开始工作吗

这就是我发现的: b) 由于候选密钥ABD可以分解为AB,从而确定非素数C,因此中断2NF。 c) 唯一的候选键是AB.AB->c.D通过传递关系ABC->D.f确定。 d) 候选键BA确定C。但A->C,因此这会中断2NF


我找不到a有什么问题,所以这就是我对正确答案的猜测。

让我用简单的话解释一下: 3NF的条件:

非素数属性应仅依赖于超级键

对于方案A

按闭包属性,

AC+=ABCD

因此,A,C是素数属性,B,D是非素数属性

因为所有非素数属性都依赖于超级密钥AC 选项A位于3NF

对于方案B

通过闭包属性

ABD+=ABCD

因此,A、B、D是素数属性,C是非素数属性

因为C,非素数属性依赖于AC,而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

希望有帮助

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