gpt4 book ai didi

database - 规范化和主键

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:55 25 4
gpt4 key购买 nike

在给定的表中,如果没有主键,甚至不可能创建复合主键,那么该表的正常形式是什么?

如果它的零(0NF)添加一个新列并使其成为主键会将此表转换为 1NF?

最佳答案

范式适用于作为数学结构的关系。表格可以用来表示关系,但这需要一些规则来确保表格包含的信息不会多于或少于对应的关系。

为了让表表示关系:

  • 所有行和列必须是唯一的
  • 他们的顺序无关紧要
  • 所有重要信息都必须在单元格中表示为值(即字体、突出显示等都无关紧要)
  • 每个单元格必须包含一个值(无论该值多么简单或复杂)

此外,关系模型关心的是候选键,而不是主键。一个关系可以有多个候选键。主键只是选定的候选键,供某些学科(例如实体关系模型)或某些数据库管理系统(例如用于物理记录排序)使用。

综上所述,我现在可以回答您的问题了。如果您的表遵循规则,特别是行都是唯一的,那么在最坏的情况下,所有列上至少会有一个候选键。如果您的表的行不是唯一的,则该表不代表关系,并且正常形式不适用。可以添加代理键(如自动递增列)以唯一标识行,但这本身不足以使表表示关系 (1NF)。

顺便说一句,我建议您避免使用“0NF”或“UNF”。非关系表没有规范化级别,因此将任何类型的“NF”附加到它们都是误导。

关于database - 规范化和主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com