【发布时间】:2014-12-09 00:55:15
【问题描述】:
对于什么是“重复组”似乎存在误解,就其在第一范式 (1NF) 中的删除而言,任何人都可以清楚地阐明它实际上是什么以及如何识别它吗?
我发现,这里进一步讨论了这个误解:https://stackoverflow.com/a/23202535/4011506。然而,这让我更加困惑。
关于以下视频(4:30 起),https://www.youtube.com/watch?v=HHDH6N_qjm4,
姓名、地址、城镇、邮政编码和性别字段不是重复组吗?
而不是这个视频的作者建议的(最后 5 个字段)?
此外,如果有人能够提供示例来证明重复组的误解,以及实际答案是什么,那也很好。
谢谢
编辑: 我得到的回答让我更加困惑……所以我有另一个例子来帮助查询:
https://hostr.co/file/970/ITiHuyVyCmPr/UNF.png
鉴于未规范化的表,我的文字建议要“删除”重复组,请删除 NULL(通过将适当的数据值添加到 NULL 字段中)。结果是这样的:(请将上面'970'之后的链接替换为:/6QWYWR8FtxFD/1NF.png
因此,本质上,在这种情况下,重复组是什么? (根据我刚刚从回复中读到的内容,不是每个实例/行包含相同数据的字段,即使从字面上看,它们本质上是“重复”,这是正确的吗?不直观...)
根据“删除”重复组的建议,是从字面上删除重复组(如原始帖子的视频中所述)还是“删除”空值(通过向其中添加值) ?还是视情况而定……?
【问题讨论】:
-
“姓名、地址、城镇、邮政编码和性别字段不是重复组吗?” 不,男性每行重复“M”,重复“F” ' 在每一行中,女性并不构成重复组。重复组的概念适用于单行,部分键依赖 (2NF) 的概念、传递依赖 (3NF) 的概念等也是如此。
-
感谢迈克的回复。好的,如果我正确理解您的断言,即使学生可能注册多门课程(因此,他们的姓名、地址、城镇、邮政编码和性别)将被“重复”(在这个意义上),它并不构成重复组?
-
如果您假设 hostr.co/file/970/ITiHuyVyCmPr/UNF.png 显示 4 个元组,则第一个元组 (PROJ_NAME Evergreen) 有一个由 5 个整数 (101,102,103,105,106) 组成的 EMP_NUM 重复组,其他列也类似。如果重复组被删除,如hostr.co/file/970/6QWYWR8FtxFD/1NF.png,则有 21 个元组,每个元组都有一个 EMP_NUM 的整数值。
-
谢谢。因此,您在 hostr.co/file/970/6QWYWR8FtxFD/1NF.png 中提到的重复组的“删除”基本上没有被删除?也就是说,您记为重复组 101、102、103、105、106 的某些 EMP_NUM 值本身并没有从表中删除(或转移到另一个表),而是不再被描述为重复团体?此外,1NF 图像,实际上在 1NF 中了吗?通过创建单独的表来“移动”重复组的字段不是很好的做法吗?请问您是否也可以回答这个问题?感谢您的帮助。
标签: database database-design normalization database-normalization