数据库-范式_标准规范

 范式是关系模式的标准规范,低范式关系模型在使用时可能会造成一些异常,我们可以在构建关系模式的时候逐渐优化,

提高该关系模型的范式,以防在使用出现一些异常。但是要注意有时候反而效率会随着范式的提高而降低。

数据库-范式_第二范式_02

 1NF:如果关系模型中的每个属性都是不可再分的,就是1NF,这个关系模型中的高级职称人数还可以分成教授和副教授,所以他不属于1NF,如果想要调整为1NF,需要将高级职称人数直接分成教授属性和副教授属性,去掉高级职称人数这一属性。

数据库-范式_关系模型_03

 2NF:当该关系模式满足1NF并且,非侯选键对主见完全依赖(没有部分依赖),即依靠主键的一部分不能推出其他某一个副属性,则称他满足第二范式。

如图的关系模式不满足第二范式,因为credit(学分)该属性能够由主键的其中一部分cno来推出,存在数据冗余。所以他不满足2NF,需要再创建一个关系模式,由CNO和credit组成,然后将图中关系模型中的credit属性删除,就可以达成2NF了。

数据库-范式_标准规范_04

 3NF:当关系模型在1nf的基础上中非候选码传递依赖于候选码,则满足于3NF。

图中的SNO可以推出Dno,dno又可以推出dname和location,所以他存在传递依赖,可以将dname丶location从该表中删除,然后和dno一起创建一个新表,就满足于第三范式了。

数据库-范式_第二范式_05

 BCNF:当候选码对其他候选码没有传递依赖就是BCNF范式了