第二范式; 2NF;为什么不在 2NF 中

Second Normal Form; 2NF; why is not in 2NF

我有以下问题。

我需要确定的是第二范式中的以下赋值,我在理解什么是第二范式以及如何确定它时遇到了一些问题。

我有这个例子 learning/practicing。

R = ({A, B, C, D, E, F};{AB->ACD, BC->DE})

主键是 ABF。

解中写到table不是第二范式,因为不是每个NKA(非关键属性)都依赖于KA(关键属性),也写成

example: AB->C

我不知道如何得到这个解决方案,或者 AB->C 与任何东西有什么关系(因为它不在评估中)。

谁能给我解释一下。

谢谢!!!

首先让我们定义2NF:

R 是具有函数依赖集 F 的关系模式。设 X 为 R 的一组属性 A 非主要属性 不在 X 中。则 R 在 2NF 中,如果每当 X->A 在 F+ 中,则 X 不是任何键的真子集。

现在查看您的问题。这里 R 是你的关系 R(A,B,C,D,E,F),F 是 {AB->ACD, BC->DE}。主键是ABF,因此A、B、F是主属性,C、D、E是非主属性。

现在让我们找到 F+ (F-closure) ,即所有可从 F 导出的依赖项的集合。

我们得到 F+ 作为 {AB->A, AB->C, AB->D, BC->D ,BC->E, ...}

现在我们上面的定义说 对于 F+ 中的任何 X->A,X 不应该是密钥的适当子集。

这里 F+ 中的依赖项之一是 AB->C 。这里 C 是非素数属性,AB 是键 ABF 的真子集。因此它违反了第二范式。

首先让我们定义2NF: 首先我们应该检查表格是否在 1NF 中。如果不是,则将其设为 1NF,因为这是必要的。

其次,令 R 为具有函数依赖集 F 的关系模式。令 X 为 R 的一组属性。A 是不在 X 中的非素数属性。那么 R 在 2NF 中,如果每当 X- >A 在 F+ 中,则 X 不是任何键的真子集。

现在让我们看看您的问题并寻找解决方案。这里 R 是你的关系 R(A,B,C,D,E,F),F 是 {AB->ACD, BC->DE}。主键是ABF,因此A、B、F是主属性,C、D、E是非主属性。

现在让我们找到 F+ (F-closure) ,即所有可从 F 导出的依赖项的集合。

我们得到 F+ 为 {AB->A, AB->C, AB->D, BC->D ,BC->E, ...}

现在上面的声明说对于 F+ 中的任何 X->A,X 不应该是密钥的适当子集。

这里 F+ 中的依赖项之一是 AB->C 。这里 C 是非素数属性,AB 是键 ABF 的真子集。因此它不是第二范式。