1

我对理解候选键有点困惑。我们是否只检查第一范式表中的候选键?

众所周知,候选键仅由可以代替主键的一列或一组列组成。如果有多个,则任何一个都可以作为主键。

因此,在第一范式中也可以有一个表格,即我们可以制作一个大表格并用值填充整个表格以删除重复组,因此我们在第一范式中制作与一张大表格相关的候选键。

那么第二范式呢?或第三范式。我们是在这些表格中找到表格的候选键还是在第一范式中 只找到一次?

如果是,那么如果在第 2 和第 3 范式中添加新的候选键之前,在第 1 范式表中找到的先前的候选键没有被删除,这意味着什么?

4

1 回答 1

2

当我们规范化到更高的范式时,我们用连接回该关系的其他关系替换一个关系。每个新关系的属性都比它所来自的属性少。并且每个可能满足较少的功能依赖关系,这就是我们确定其候选键的方式。由于每个关系都有自己的属性和满足的功能依赖关系,它可能有不同的候选键。

我们分解的关系的候选键不再重要,因为我们不再使用它。我们不会“删除”候选键。关系的候选键取决于它的属性和它满足的功能依赖关系。

PS有时,非关系表“规范化”为多个 1NF 关系。有时,通过将属性替换为在某种意义上“更简单”的属性来“规范化”与 1NF 的关系会产生多重关系。

PPS规范化不一定涉及移动多个范式。

于 2016-06-10T05:15:52.317 回答