【发布时间】:2016-10-10 22:04:32
【问题描述】:
我在理解候选键方面有点困惑。我们是否只检查第一范式表中的候选键?
众所周知,候选键仅由一列或一组列组成,它们可以代替主键。如果有多个,则任何一个都可以作为主键。
因此,在第一范式中也可以有一个表格,即我们可以制作一个大表格并用值填充整个表格以删除重复组,因此我们在第一范式中制作与一张大表格相关的候选键。
那么第二范式呢?或第三范式。我们是在这些表格中找到表格的候选键还是在第一范式中仅一次找到?
如果是,那么在第 2 和第 3 范式中添加新的候选键之前,如果在第 1 范式表中找到的先前的候选键没有被删除,这意味着什么?
【问题讨论】:
-
我已经编辑了您的问题以改进语言。我真的不确定你在第三段中的意思。你能把它编辑清楚吗?
-
我想说的是,在第一范式中,我们可以建立许多关系来删除重复组,或者我们也可以只使用一个表并填充所有值以删除重复组。因此,我们在第一范式中制作与一张大表相关的候选键
-
要删除一个重复组,其中该组不能包含任何元素,您必须添加一个新关系。此外,如果每个候选键都有一个重复组。请参阅下面的 PS。
标签: forms primary-key normalization database-normalization candidate-key