数据库—03(数据操作、完整性约束)讲述

上传人:最**** 文档编号:116848453 上传时间:2019-11-17 格式:PPT 页数:64 大小:561.50KB
返回 下载 相关 举报
数据库—03(数据操作、完整性约束)讲述_第1页
第1页 / 共64页
数据库—03(数据操作、完整性约束)讲述_第2页
第2页 / 共64页
数据库—03(数据操作、完整性约束)讲述_第3页
第3页 / 共64页
数据库—03(数据操作、完整性约束)讲述_第4页
第4页 / 共64页
数据库—03(数据操作、完整性约束)讲述_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《数据库—03(数据操作、完整性约束)讲述》由会员分享,可在线阅读,更多相关《数据库—03(数据操作、完整性约束)讲述(64页珍藏版)》请在金锄头文库上搜索。

1、关系数据库基础 学习内容 关系代数 查询优化 关系模式设计 函数依赖 关系模式的范式 学习目标 关系代数 查询优化的方法 关系模式的范式 关系代数 传统的集合操作(并、差、交、乘积) 专门的关系操作(选择、投影、连接、除法等) 五种基本操作(并、差、乘积、选择、投影) 其他非基本操作(可用五种操作合成的其他操作) 关系代数是以关系为运算对象的一组高级运 算的集合。 关系代数的符号 集合运算符号:(并),(交),-(差),(笛卡尔集) 关系运算符号: (投影), (选择), (连接) 比较运算符号: ,BRS=F(R S) F 自然连接 一般要求参与运算的两个关系必须有一 个以上的公共属性。 如

2、果没有,则自然连接等于乘积操作。 X Y Z A a 1 a a d 2 b d c 3 c f X Y Z a 1 a b 2 b c 3 c d 4 d A Y a 1 d 2 f 3 c 7 T = R S 自然连接的步骤 乘积,求出参与运算的R和S的 乘积RS; 选择,挑选出在所有公共属性 上相等的值 R.Ai=S.Ai; 投影,去掉重复属性; X R.Y S.Y Z A a 1 1 a a a 1 2 a d a 1 3 a f a 1 7 a c b 2 1 b a b 2 2 b d b 2 3 b f b 2 7 b c c 3 1 c a c 3 2 c d c 3 3 c

3、f c 3 7 c c d 4 1 d a d 4 2 d d d 4 3 d f d 4 7 d c 外部连接 在自然连接的基础上,保留自然连接舍弃 的元组得到的关系。 X Y Z a 1 a b 2 b c 3 c R A Y a 1 d 2 f 5 S X Y Z A a 1 a a d 2 b d c 3 c null null 5 null f 外连接 X Y Z A a 1 a a d 2 b d c 3 c null 左连接 null 5 null f 右连接 外部并 外部并是并的扩充操作。 b 2 b X Y Z a 1 a c 3 c R A Y a 1 d 2 f 5 S

4、X Y Z A a 1 a null d 2 b null c 3 c null null 1 null a 外部并 null 2 null d null 5 null f 查询优化 主要是对关系代数表达式做等价变换,合 理调整关系代数表达式中的操作顺序,减少时 间和空间开销,提高执行效率。 例 子 学号 001 002 100 分数 100 100 100 姓名 张艺 李四 赵六 学号 001 002 003 100 姓名 张艺 李四 王五 赵六 分数 100 100 80 100 学号 001 002 100 分数 100 100 100 学号 001 002 003 100 姓名 张艺

5、李四 王五 赵六 学号 001 002 003 100 分数 100 100 80 100 求出获满分的学 生的姓名和学号 查询优化的原则 1)尽可能早执行选择操作; 2)把乘积和随后的选择合并成连接操作; 3)一连串的选择和一连串的投影应同时运算; 4)若在表达式中多次出现某个子表达式,应 预先将该表达式算出结果并且保存; 5)适当地对关系文件进行预处理。 尽可能减少扫描文件的次数! 关系模式设计 姓名 S1 S1 S1 S2 S2 S3 S3 寝室 R201 R201 R201 R304 R304 R206 R206 课程 C1 C3 C4 C1 C2 C2 C3 学分 4 3 4 4 3

6、 3 3 成绩 86 91 83 75 79 96 86 1)数据冗余 2)更新异常 3)插入异常 4)删除异常 关系模式设计 姓名 S1 S2 S3 寝室 R201 R304 R206 学生关系 课程 C1 C2 C3 C4 学分 4 3 3 4 课程关系 姓名 S1 S1 S1 S2 S2 S3 S3 寝室 R201 R201 R201 R304 R304 R206 R206 课程 C1 C3 C4 C1 C2 C2 C3 学分 4 3 4 4 3 3 3 成绩 86 91 83 75 79 96 86 关系模式设计 姓名 S1 S1 S1 S2 S2 S3 S3 课程 C1 C3 C4

7、C1 C2 C2 C3 成绩 86 91 83 75 79 96 86 学生修课成绩关系 姓名 S1 S1 S1 S2 S2 S3 S3 寝室 R201 R201 R201 R304 R304 R206 R206 课程 C1 C3 C4 C1 C2 C2 C3 学分 4 3 4 4 3 3 3 成绩 86 91 83 75 79 96 86 关系模式的范式 l函数依赖 l范式与规范化 几个概念 主属性:候选关键字的某个属性 非主属性:不属于候选关键字的属性 函数依赖 设U=A1,A2,An是属性集合,R(U) 是 U上的一个关系。X,Y是U的子集。若对于R(U)下 任何一个可能的关系,均有X的

8、一个值对应于Y的 唯一具体值,称Y单值函数依赖于X。记作 XY; 进而若YX,则X与Y互相依赖,记作XY。 学号 姓名 学号 001 002 003 姓名 张三 王四 李五 性别 女 男 女 完全函数依赖 R(学号,课程,成绩) 学号,课程成绩 设R(U)是U上的一个关系。X,Y是U的子 集。X是X的真子集。若对于R(U)下任何 一个可能的关系,均有 XY,但!XY ,则称Y完全函数依赖于X,记作 F X Y 部分函数依赖 若XY,且XY,则称Y部分依赖于X, 记作: P X Y R(学号,姓名,总成绩) 学号,姓名总成绩 学号总成绩 传递函数依赖 XY,但!YX,若YZ,则XZ, 记作: t

9、 X Z R(工号 , 姓名, 职务, 工作量, 系, 系主任) 工号 系主任 系 范式与规范化 满足某些特定条件的关系模式称为范式 NF,Normal Form 一般情况下,第一,第二范式存在许多 缺点,实际的关系数据库一般使用第三 范式。 第一范式 如果关系R的所有属性都是不可再分的数 据项,则称该关系属于第一范式( R1NF ) 。这是任何规范关系都要遵守的的最低要求。 姓名 S1 S1 S1 S2 S2 S3 S3 寝室 R201 R201 R201 R304 R304 R206 R206 课程 C1 C3 C4 C1 C2 C2 C3 学分 4 3 4 4 3 3 3 成绩 86 9

10、1 83 75 79 96 86 第二范式 如果R1NF,并且R中的每一个非主 属性都完全依赖于R的主键,则称该关系属 于第二范式( R2NF )。 第二范式 R(S,C,G,TN,TS) F(S,C)G,CTN,TNTS) 因为TN,TS部分依赖于关键字 (S,C),R不属于第二范式。 第三范式 如果R2NF,并且R中的每一个非主 属性都不传递依赖于R的主键,则称该关系 属于第三范式( R3NF )。 课程 C1 C2 C3 C4 教师 T1 T2 T3 T4 专长 Z1 Z2 Z3 Z4 课程 C1 C2 C3 C4 教师 T1 T2 T3 T4 第三范式 教师 T1 T2 T3 T4 专

11、长 Z1 Z2 Z3 Z4 Boyce-Codd范式(BCNF) 如果R1NF,并且R中的每一个函数 依赖XY( ! Y X),必有X是R的超键, 则称该关系属于Boyce-Codd范式 ( RBCNF )。 BCNF 所有非主属性对键是完全函数依赖 所有主属性对不包含它的键是完全 函数依赖 没有属性完全函数依赖于非键的任 何属性组合 BCNF 判断关系式是否属于BCNF 设有关系式 R=学生学号S,课程号C,教师T 每门课有若干个教师,每个教师只教 一门课程,学生选定课程就对应一个 固定的教师。 (S,C)T (S,T)C TC R BCNF 规范关系的步骤 非规范表 使每个属性都不再可分

12、1NF 消除非主属性部分依赖 2NF 消除非主属性传递依赖 3NF BCNF 消除主属性对键的部分依赖和传递依赖 规范关系应考虑的问题 1)确定所有的侯选关键字 2)确定关系的主属性和非主属性 3)选定主键 4)找出属性间的函数依赖 5)根据应用特点,确定规范到几范式 6)分解必须是无损的 7)分解后的关系必须是独立的 练习题 lR(A,B,C,E,F,G,H) lF(ABCH),(BG), (CE),(EF) lR1(A,B,C,H) lR2(C,E,F) lR3(A,B,C,G,H) lR1,R2,R3分别属于什么范式 关系模式的分解 l如果不分解关系模式,对数据操作会出现 异常情况。 l

13、分解就是运用关系代数的投影运算把一个 关系模式分解为几个关系模式,就是用几 个小表代替原来的一个大表,使数据结构 更合理。 l要求:通过自然连接运算可以把分解后的 几个表还原成原来的大表,还原信息不能 多也不能少。 分解前的准备 -函数依赖的推理规则 l自反律 如果Y X U,则XY l增广律 如果XY,且Z U,则XZYZ l传递律 如果XY,YZ,则XZ 分解前的准备 -函数依赖的推理规则 l合并律 如果XY,XZ,则XYZ l伪传递律 如果XY,YWZ,则XWZ l分解律 如果XY,Z Y,则XZ 分解关系的基本原则 分解方法: 工号 101 102 103 104 工种 车工 车工 钳

14、工 铣工 定额 80 80 80 70 W W1(工号,工种) W2(工种,定额) W W1(工号,工种) W2(工号,定额) W W1(工号,定额) W2(工种,定额) 分解关系的基本原则 工号 101 102 103 104 定额 80 80 80 70 工种 车工 钳工 铣工 定额 80 80 70 W W1(工号,定额) W2(工种,定额) 当定额有相 同值的时候,不 清楚工号和工种 之间的关系,信 息丢失。此方案 不妥。 分解关系的基本原则 当工号为103的 工人定额由70变成 80,此时不清楚其 工种变换的情况。 更新异常,此方案 不妥。 W W1(工号,工种) W2(工号,定额) 工号 101 102 103 104 工种 车工 车工 钳工 铣工 工号 101 102 103 104 定额 80 80 80 70 分解关系的基本原则 通过自然连接 可恢复信息。没有 操作异常。 W W1(工号,工种) W2(工种,定额) 工号 101 102 103 104 工种 车工 车工 钳工 铣工 工种 车工 钳工 铣工 定额 80 80 70 分解原则 v分解必须是无损的 v分解是否保持函数依赖 W W1(工号,工种) W2(工种,定额) W W1(工号,工种) W2(工号,定额) W W1(工号,定额)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号