文档介绍:第五章关系数据理论
它借助近代代数工具,提出了一整套严密的理论和实用算法,把抽象的数学理论和具体的实际问题结合起来
关系数据库设计的核心:关系模式设计(按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式。)
解决如何设计好一个关系数据模式的问题
是关系数据库设计的指南
1
第五章关系数据理论
关系模式的设计问题
数据依赖
函数依赖
范式
函数依赖的推理规则
模式分解
作业 P196
1、2、9、12
2
关系模式的设计问题
示例
考虑为管理职工的工资信息而设计一个关系模式
3
关系模式的设计问题
信息的不可表示问题
插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入
删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了
信息的冗余问题
数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次
更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改
4
关系模式的设计问题
解决之道:分解! 分解!! 再分解!!!
哇,原来生活可以如此简单
不良的数据依赖
职工
级别
工资
职工
级别
赵明
4
钱广
5
孙志
6
李开
5
周祥
6
级别
工资
4
500
5
600
6
700
5
关系模式的设计问题
有关学生的关系模式S(S# , SN , SD , DEAN , C# , G)
快速热身1:它存在哪些问题?
6
数据依赖
1、关系模式中的数据依赖
1) 关系=关系模式+关系实例
2) 关系是属性的笛卡尔积的一个子集
3) 描述关系模式的五元组R(U,D,DOM,F)
4) F:属性间数据的依赖关系集合
5) 描述关系模式的简化三元组R(U,F)
6)关系数据库模式:一个数据库中所有关系模式的集合
7
数据依赖
2、数据依赖的概念
1) 什么是数据依赖
(1) 通过一个关系中属性间值的相等与否体现出来的数据间的相互关系
(2) 是现实世界属性间相互联系的抽象
(3) 是数据内在的性质,是语义的体现
2) 有哪些数据依赖
(1) 函数依赖(Functional Dependency)
(2) 多值依赖(MultiValued Dependency)
(3) ……
8
数据依赖
2、数据依赖的概念
3) 怎么个函数依赖
(1) 学生关系Student(学号Sno,姓名Sn,所在系Dn)
(2) 一旦学号确定,姓名和所在系也就唯一地确定下来了
(3) 属性间的这种依赖关系类似于数学中的函数
(4) 记作Sno→Sn,Sno→Dn
4) R(U,F)的实例☆
(1) U={Sno,Dn,,G}
(2) F={Sno→Dn,Dn→Dm,()→G}
9
数据依赖
关系的规范化理论就是用于改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
G
SNO
CN
DN
DM
10