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

Database 第二范式;2NF;为什么不在2NF中,database,database-normalization,functional-dependencies,Database,Database Normalization,Functional Dependencies,我有以下问题 我需要确定第二范式中的下列情况,我在理解第二范式是什么以及如何确定它时遇到了一些问题 我有这个学习/实践的例子 R = ({A, B, C, D, E, F};{AB->ACD, BC->DE}) 主键是ABF 在解决方案中,由于不是每个NKA(非键属性)都依赖于KA(键属性),因此写入的表不是第二范式 example: AB->C 我不知道如何得到这个解决方案,或者AB->C与任何东西有什么关系(因为它不在助理中) 谁能给我解释一下吗 谢谢 首先让我们定义2

我有以下问题

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

我有这个学习/实践的例子

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

在解决方案中,由于不是每个NKA(非键属性)都依赖于KA(键属性),因此写入的表不是第二范式

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

谁能给我解释一下吗


谢谢

首先让我们定义2NF:

R是一个具有函数依赖集F的关系模式。设X是R的一组属性A非素数属性不在X中。如果无论何时X->A在F+中,那么R在2NF中,那么X不是任何键的适当子集。

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

现在让我们找到F+(F-闭包),也就是从F派生的所有依赖项的集合

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

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


这里F+中的一个依赖项是
AB->C
。这里C是非素数属性,AB是键ABF的适当子集。因此它违反了第二个标准形式。

首先让我们定义2NF:

R是一个具有函数依赖集F的关系模式。设X是R的一组属性A非素数属性不在X中。如果无论何时X->A在F+中,那么R在2NF中,那么X不是任何键的适当子集。

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

现在让我们找到F+(F-闭包),也就是从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-闭包),也就是从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-闭包),也就是从F派生的所有依赖项的集合

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

现在上面的语句表示,对于F+中的任何X->A,X不应该是键的适当子集

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

你的“我有这些FD”没有意义。“这些都是持有的FD”?——不可能。“这些都是持有的非平凡FD”?——不可能。“这是一些持有的FD”?——这个问题无法回答。了解什么是封面&应用特定定义/规则/算法的确切条件是什么。为了确定CKs和NFs,我们必须获得构成封面的FD。有时是最小/不可约覆盖。必须给出所有属性的集合。你的“我有这些FD”没有意义。“这些都是持有的FD”?——不可能。“这些都是持有的非平凡FD”?——不可能。“这是一些持有的FD”?——这个问题无法回答。了解什么是封面&应用特定定义/规则/算法的确切条件是什么。为了确定CKs和NFs,我们必须获得构成封面的FD。有时是最小/不可约覆盖。必须给出所有属性的集合。