BCNF最大限度地减少冗余并提高数据完整性
Boyce-Codd Normal Form(BCNF)的目标是通过组织关系数据库的列和表来实现数据库规范化,从而提高数据完整性 。 数据库规范化发生在表之间存在建立关系时以及表具有定义的规则以使数据库更灵活并保留数据时。
数据库规范化的目标是消除冗余数据并确保数据依赖性有意义。
如果相同的数据未存储在多个表中,并且只有相关数据存储在表中,则数据库会被标准化。
博伊斯 - 科德范式的起源
遵循一系列准则确保数据库正常化。 这些准则被称为正常形式,编号从1到5。 如果关系数据库符合前三种形式:1NF,2NF和3NF,则将其描述为标准化。
BCNF是1974年由Raymond Boyce和Edgar Codd作为第三范式或3NF的延伸而创建的。 这些人正在努力创建数据库模式,以减少计算时间为目标来最小化冗余。 除了符合第一个和第二个正常形式的指导原则之外,第三个正常形式删除不依赖于主键的列。 BCNF有时被称为3.5NF,它满足3NF的所有要求,并且要求候选密钥不依赖于表中的其他属性。
BCNF创建时,Boyce是结构化英语查询语言(Structured English Query Language,SQL)的关键开发人员之一,他使用Codd的关系模型改进了数据检索。 在这个模型中,Codd认为可以减少数据库的结构复杂性,这意味着查询可能更加强大和灵活。
利用他的关系数据库见解,Codd定义了1NF,2NF和3NF指导原则。 他与Boyce合作确定BCNF。
候选键和BCNF
候选键是表中的列或列组合,在数据库中形成唯一键。 属性的组合可用于识别数据库记录而不用引用任何其他数据。 每个表可以包含多个候选键,其中任何一个都可以作为主键。 一个表只包含一个主键。
候选键必须是唯一的。
如果每个行列式都是候选关键字,则BCNF中存在关系。 考虑存储员工信息的数据库表,并具有
在此表中,字段
员工ID | 名字 | 姓 | 标题 |
13133 | 艾米莉 | 工匠 | 经理 |
13134 | 吉姆 | 工匠 | 关联 |
13135 | 艾米莉 | 琼斯 | 关联 |
该数据库的候选键是