1 第6章 关系模式的规范化理论 关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合
规范化设计理论对关系数据库结构的设计起着重要的作用
关系模型有严格的数学理论基础,因此人们就以关系模型为作为讨论对象,形成了数据库逻辑设计的一个有力工具――关系数据库的规范化理论
本章内容 ( 1)关系模式的冗余和异常问题
( 2) FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依赖集
( 3)无损分解的定义、性质、测试;保持依赖集的分解
( 4)关系模式的范式:1NF, 2NF, 3NF, BCNF
分解成2NF、 3NF模式集的算法
( 5) MVD、 4NF、 5NF的定义
一,关系模式设计中的问题 1
什么是好的数据库 构建好的,合适的数据库模式,是数据库设计的基本问题 a) 体现客观世界的信息 b) 无过度的冗余 c) 无插入异常 d) 无删除异常 e) 无更新复杂 如书上的S_C_G关系
假设需要设计一个学生学习情况数据库Stu DB
下面我们以模式S_C_G(Sno,Sname,Dname,Age,Cno,Cname,Score,Pre_cno)为例来说明该模式存在的问题
下表是其一个实例
2 3 冗余度大:每选一门课,他本人信息和有关课程信息都要重复一次
4 插入异常:插入一门课,若没学生选修,则不能把该课程插入表中
5 删除异常:如S11号学生的删除,有一门只有他选,会造成课程的丢失
6 更新复杂:更新一个人的信息,则要同时更新很多条记录
还有更新选修课时也存在这样的情况
异常的原因: 数据信赖的约束 3
解决方法: 数据库设计的规范化:分解,每个相对的独立,依赖关系比较单纯,如分解为3NF 我们采用分解的方法,将上述S_C_G分解