一. 首先介绍几个概念:
1. 完全函数依赖:在属性集U上的关系模式R(U)中,如果X->Y,并且对于X的任何一个真子集X’,都有X’≠>Y,则Y对X完全函数依赖。
2. 传递函数依赖:在R(U)中,如果X->Y,Y->Z,则称Z对X的传递函数依赖。
二. 范式
关系型数据库有6种范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴德斯科范式(BCNF),第四范式(4NF),第五范式(5NF)。各种范式之间的联系:5NF∈4NF∈BCNF∈3NF∈2NF∈1NF
1. 第一范式(1NF):
数据库表中的字段都是单一属性的,不可再分。第一范式满足最低要求。
2. 第二范式(2NF)
对于R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。
3. 第三范式(3NF)
每一个非主属性既不依赖于码也不传递依赖于码,则R属于第三范式。
4.BCNF
除本NF外的码,不存在其他决定因素,即无回路。
关系模式的规范化过程:
总结:在开发程序时,设计的数据库最大的程度的遵循三范式,三范式在查询的时候会join很多表,导致查询效率降低,以至于有时候为了提高查询的效率可以适度的冗余,适度的反范式。
时间: 2024-10-25 21:08:54