规范化:
一个低级范式,通过模式分解可以转化为若干个高级范式的关系模式,即为规范化。
范式:
目前关系数据库有六种范式,咱们最常用的是第一到第三范式。各范式呈递次规范,越高的范式数据冗余越小。
第一范式:(不再分)
范式的基础,所有范式都必须满足第一范式,其他范式都以第一范式为基础。
第二范式:
第一范式基础上消除局部依赖,要求实体的属性完全依赖于主键。
若存在局部依赖,需将这个属性和候选键的那一部分分离出来形成新的实体。
例
(学号,姓名,系别,住址,课程,成绩);
存在(学号,课程)――>(姓名,系别,住址,成绩);
需分解为:
学号,课程)――>(成绩)
(学号)――>(姓名,系别,住址)
第三范式:
第二范式基础上消除传递依赖。
例
(学号)――>(姓名,系别,住址)
若存在同一系别住址相同,即地址依赖于系别,则该函数依赖不符合第三范式。
需分解为:
(学号)――>(姓名,系别)
(系别)――>(住址)
几个范式,递次下来,就会消除冗余,异常 ,即消除了关系模式设计的常见问题......