Database 2NF(规范化)中的一些混淆

Database 2NF(规范化)中的一些混淆,database,normalization,functional-dependencies,Database,Normalization,Functional Dependencies,在2NF中进行规范化时,我有些困惑 考虑FD的集合 FD1 ABD->C FD2 BC->D FD3 CD->E 这里的钥匙是ABD,ABC 素属性-A、B、C、D 非素属性-E 2NF对于要在2NF中的关系,非素数属性应该完全依赖于键 FD3会违反2NF吗?CD是键的正确子集吗?还有一件事我想问,当它违反2NF时,我们如何决定将哪个FD放在单独的关系中?请帮助CD不是键的正确子集,但BC是。在FD3中,我们已经给出了CD->E,其中E是非素数属性,CD是素数键的

在2NF中进行规范化时,我有些困惑

考虑FD的集合

FD1   ABD->C
FD2   BC->D
FD3   CD->E
这里的钥匙是ABD,ABC

素属性-A、B、C、D

非素属性-E

2NF对于要在2NF中的关系,非素数属性应该完全依赖于键


FD3会违反2NF吗?CD是键的正确子集吗?还有一件事我想问,当它违反2NF时,我们如何决定将哪个FD放在单独的关系中?请帮助CD不是键的正确子集,但BC是。

在FD3中,我们已经给出了CD->E,其中E是非素数属性,CD是素数键的子集,因为C和D都是主键的一部分,我们将不接受2NF中的子集,而这两个子集中的其余部分(即FD1和FD2)则在2NF中,因为RHS具有素数属性,而在2NF中可以接受。 所以FD3不违反2NF。 CD是适当的子集