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