Boyce-Codd正常形式的目标是增加数据的完整性通过组织关系数据库的列和表,以实现数据库的规范化。数据库规范化当表格之间建立的关系以及表格有定义的规则时,发生在使数据库更加灵活并且保留数据的关系时发生。
数据库规范化的目标是消除冗余数据并确保数据依赖有意义。当相同的数据没有存储在多个表中或仅存储在多个表中时,数据库就被规范化了相关数据存储在表中。
博伊斯-科德范式的起源
遵循一系列指导方针确保数据库规范化。这些指导方针被称为正常的形式从1到5。一个关系数据库被描述为标准化如果满足前三种形式:1NF, 2NF和3NF。
BCNF是Raymond Boyce和Edgar Codd在1974年创建的第三范式(3NF)的扩展。他们致力于创建数据库模式,以最小化冗余,减少计算时间。第三种标准形式除去不依赖于主键的列,并满足第一和第二种标准形式中的准则。BCNF有时被称为3.5NF,它满足3NF的所有要求,并且要求候选键不依赖于表中的其他属性。
在创建BCNF时,Boyce是结构化英语查询语言(后来标准化为SQL)的主要开发人员之一,这种语言通过使用Codd的关系模型改进了数据检索。在这个模型中,Codd假设可以降低数据库的结构复杂性,这意味着查询可以更加强大和灵活。
Codd使用他的关系数据库洞察力定义了1NF、2NF和3NF准则。他与博伊斯一起定义了BCNF。
候选钥匙和BCNF
一个候选关键字在数据库中形成唯一键的表中的列或列的组合。属性的组合标识一个数据库记录,而不引用任何其他数据。每个表可以包含多个候选键,其中任何一个都可以作为主键。一个表只包含一个主键。
候选钥匙必须是唯一的。
如果每个决定因素是候选密钥,则关系在BCNF中。考虑一个存储员工信息并具有属性的数据库表< Employee_Id>
在此表中,字段< Employee_Id >确定first_name和姓.同样,元组(
雇员Id | 名 | 姓 | 标题 |
13133 | 艾米丽 | 史密斯 | 经理 |
13134 | 吉姆 | 史密斯 | 联系 |
13135 | 艾米丽 | 琼斯 | 联系 |
候选人键数据库是个< Employee_Id >因为它是唯一不能被其他行使用的值。