关系模型满足的确定约束条件称为范式.
范式由低到高分为 1NF(第一范式)、 2NF(第二范式)、 3NF(第三范式)、 BCNF(BC 范式)、 4NF(第四范式)等。
关系模型分解必须遵守两个准则。
(1)无损连接性:信息不失真(不增减信息)。
(2)函数依赖保持性:不破坏属性间存在的依赖关系。
第一范式
1NF 是最低的规范化要求。如果关系 R 中所有属性的值域都是简单域,其元素(即属
性)不可再分,是属性项而不是属性组,那么关系模型 R 是第一范式的,记作 RÎ1NF。
第二范式
如果一个关系 R 属于 1NF,且所有的非主属性都完全依赖于主属性,则称之为第二范式,记作 RÎ2NF。
第三范式
如果一个关系 R 属于 2NF,且每个非主属性不传递依赖于主属性,这种关系是 3NF,记作 RÎ3NF。
BC范式
BC 范式的定义:如果关系模型 R∈1NF,且 R 中每一个函数依赖关系中的决定因素都
包含码,则 R 是满足 BC 范式的关系,记作 RÎBCNF
综合 1NF、 2NF 和 3NF、 BCNF 的内涵可概括如下:
(1)非主属性完全函数依赖于码(2NF 的要求);
(2)非主属性不传递依赖于任何一个候选码(3NF 的要求);
(3)主属性对不含它的码完全函数依赖(BCNF 的要求);
(4)没有属性完全函数依赖于一组非主属性(BCNF 的要求)。
反规范化
常见的反规范化技术包括:
(1)增加冗余列
(2)增加派生列
(3)重新组表
(4)分割表
水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。水平分割通常在下
面的情况下使用
垂直分割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。