范式

来源:互联网 发布:js获取div的value值 编辑:程序博客网 时间:2024/05/17 05:56

1.范式:衡量关系模式好坏的标准。 

2.数据库设计中最常用的是3NF和BCNF。  

3.第一范式(1NF):如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式。满足1NF的关系称为规范化的关系,否则称为非规范化的关系。1NF是关系模式应具备的最起码的条件。  

4.局部依赖和完全依赖:对于FD  W→A,如果存在XW有X→A成立,那么称W→A是局部依赖(A局部依赖于W);否则称W→A是完全依赖。 

5.主属性和非主属性:如果A是关系模式R的候选键中的属性,那么称A是R的主属性;否则称A是R的非主属性。  

6.第二范式(2NF):如果关系模式是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。 

7.分解成2NF模式集的算法:  设关系模式R(U),主键是W,R上还存在FD X→Z,并且Z是非主属性和X W,那么W→Z就是一个局部依赖。此时应把R分解成两个模式: R1(XZ),主键是X;  R2(Y),其中Y=U-Z,主键仍是W,外键是X(参照R1)。  如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是2NF为止。  

8.如果X→Y,Y→A,且Y→X和AY,那么称X→A是传递依赖(A传递依赖于X)。  

9.第三范式(3NF):如果关系模式R是2NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式。 

10.分解成3NF模式集的算法:设关系模式R(U),主键是W,R上还存在FD  X→Z。并且Z是非主属性,ZX,X不是候选键,这样W→Z就是一个传递依赖。此时应把R分解成两个模式:  R1(XZ),主键是X;  R2(Y),其中Y=U-Z,主键仍是W,外键是X(参照R1)。  如果R1和R2还不是3NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是3NF为止。  

11.如果R是3NF模式,那么R也是2NF模式。如果R是2NF模式,那么R也是1NF模式。 

12.BC范式(BCNF):如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。  

13.如果R是BCNF模式,那么R也是3NF模式。  

14.分解成BCNF模式集的算法能保持无损分解,但不一定能保持FD集。而分解成3NF模式集的算法既能保持无损分解,又能保持FD集。  

15.关系模式由1NF分解为2NF,消除了非主属性对键的局部函数依赖;由2NF分解为3NF,消除了非主属性对键的传递函数依赖;而BCNF则消除了每一属性对键的传递函数依赖。  

16.关系模式设计理论主要用于数据库的逻辑设计过程中。

0 0
原创粉丝点击