1.数据库模型转换

当使用关系数据库时,物理数据模型(PDM)即为关系模型。CDM/LDM到PDM的转换其实就是E-R模型到关系模型的转换,基本转换原理:

(1)将每个实体转换成一个关系表,实体的属性转换为表的列,实体的标识符转换为表的主键。

(2)将实体间的关系转化为表间的参照完整性约束,即通过设置外键来参照主键。根据关系的不同类型,通过外键参照主键的方式有所不同。

 

2.数据库表规范化设计

(1)规范化数据库表设计

         1)减少数据库中的冗余数据,尽量使同一数据在数据库中仅保存一份,有效降低维护数据一致性的工作量。

         2)设计合理的表间依赖关系和约束关系,便于实现数据完整性和一致性。

         3)设计合理的数据库结构,便于系统对数据高效访问处理。

 

3.函数依赖

函数依赖是数据依赖的一种形式,它反映属性或属性组之间相互依存、互相制约的关系,即反映现实世界的数据约束关系。

在数据库设计中,函数依赖是指一个关系表中属性之间的依赖关系。

函数依赖类型:

(1)完全函数依赖与部分函数依赖:

         定义:设X、Y是某关系的不同属性集,如X->Y,且不存在X'属于X,使X‘->Y,则Y称完全函数依赖,否则称Y部分函数依赖。

          X->Y称为Y函数依赖于X,即已知X,可以通过X推出Y。

          对于关系R( A , B , C , D , E),其中( A , B )为复合主键,若其他属性C,D,E都完整依赖于该复合主键,则称关系R为完全函数依赖,反之,其他属性C,D,E只依赖于A,或者只依赖于B,则称R为部分函数依赖。

(2)属性传递依赖:

->X,Y->Z,则称Z对X存在函数传递依赖。

         对于关系R(, B , C , D )其中X为主键,若属性B依赖于A,而A不依赖于B,属性C依赖于B,则属性C函数传递依赖于A。

(3)多值函数依赖:设U是关系模式R的属性集,X和Y是U的子集,Z=U-X-Y,xyz表示属性集XYZ的值。对于R的关系r,在r中存在元组(x,y1,z1)和(x,y2,z2)时,也存在元组(x,y1,z2)和(x,y2,z1),那么在模式R上存在多值函数依赖。

        即是在关系R(A,B,C,D,E)中对于复合主键(A,B)给定值(a1,b1)对应值既有(a1,b1,c1,d1,e1)也有(a1,b1,c2,d1,e1)即为多值函数依赖。

 

3. 关系规范化范式

关系规范化是把一个有访问异常的关系分解成更小的、结构良好的关系的过程,使得这些关系有最小的冗余或没有冗余。

规范化范式(Normal Forma,NF)是指关系表的规范化程度状态。

(1)第一范式(1NF):如果关系中的属性不可再细分,该关系满足第一范式

(2)第二范式(2NF):如果关系满足第一范式,并消除了关系中的属性部分函数依赖,该关系满足第2范式。

(3)第三范式(3NF):如果关系满足第二范式,并切断了关系中的属性传递函数依赖,则该关系满足第三范式。

(4)BCNF范式:在关系中,所有函数依赖的决定因子都是候选键,该关系满足BCNF范式【复合主键中不存在函数依赖关系】

(5)第四范式(4NF):如果关系满足BCNF范式,并消除了多值函数依赖,则关系满足第四范式。

(6)反规范化处理:适当降低规范化范式约束,不再要求一个关系表必须达到高规范化程度,而是允许适当的数据冗余性,以获取数据访问性能。

         反规范化处理方法:

                      1)增加冗余列或派生列

                      2)表的合并和分割