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