第二范式; 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 的真子集。因此它不是第二范式。
我有以下问题。
我需要确定的是第二范式中的以下赋值,我在理解什么是第二范式以及如何确定它时遇到了一些问题。
我有这个例子 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 的真子集。因此它不是第二范式。