数据库管理系统第二章 PPT课件_第1页
数据库管理系统第二章 PPT课件_第2页
数据库管理系统第二章 PPT课件_第3页
数据库管理系统第二章 PPT课件_第4页
数据库管理系统第二章 PPT课件_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论AnIntroductiontoDatabaseSystem第二章关系代数 关系代数 概述传统的集合运算专门的关系运算 概述 1 关系代数一种抽象的查询语言用对关系的运算来表达查询 概述 续 2 关系代数运算的三个要素运算对象 关系运算结果 关系运算符 四类 概述 续 集合运算符将关系看成元组的集合运算是从关系的 水平 方向即行的角度来进行专门的关系运算符不仅涉及行而且涉及列算术比较符辅助专门的关系运算符进行操作逻辑运算符辅助专门的关系运算符进行操作 表2 4关系代数运算符 概述 表2 4关系代数运算符 续 概述 续 关系代数 概述传统的集合运算专门的关系运算 1 并 Union R和S具有相同的目n 即两个关系都有n个属性 相应的属性取自同一个域R S仍为n目关系 由属于R或属于S的元组组成R S t t R t S 并 续 2 差 Difference R和S具有相同的目n相应的属性取自同一个域R S仍为n目关系 由属于R而不属于S的所有元组组成R S t t R t S 差 续 3 交 Intersection R和S具有相同的目n相应的属性取自同一个域R S仍为n目关系 由既属于R又属于S的元组组成R S t t R t S R S R R S 交 续 4 笛卡尔积 CartesianProduct 严格地讲应该是广义的笛卡尔积 ExtendedCartesianProduct R n目关系 k1个元组S m目关系 k2个元组R S列 n m 列元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行 k1 k2个元组R S trts tr R ts S 交 续 2 4 2专门的关系运算 先引入几个记号 1 R t R t Ai 设关系模式为R A1 A2 An 它的一个关系设为Rt R表示t是R的一个元组t Ai 则表示元组t中相应于属性Ai的一个分量 专门的关系运算 续 2 A t A A若A Ai1 Ai2 Aik 其中Ai1 Ai2 Aik是A1 A2 An中的一部分 则A称为属性列或属性组 t A t Ai1 t Ai2 t Aik 表示元组t在属性列A上诸分量的集合 A则表示 A1 A2 An 中去掉 Ai1 Ai2 Aik 后剩余的属性组 专门的关系运算 续 3 trtsR为n目关系 S为m目关系 tr R ts S trts称为元组的连接 trts是一个n m列的元组 前n个分量为R中的一个n元组 后m个分量为S中的一个m元组 专门的关系运算 续 4 象集Zx给定一个关系R X Z X和Z为属性组 当t X x时 x在R中的象集 ImagesSet 为 Zx t Z t R t X x 它表示R中属性组X上值为x的诸元组在Z上分量的集合 专门的关系运算 续 x1在R中的象集Zx1 Z1 Z2 Z3 x2在R中的象集Zx2 Z2 Z3 x3在R中的象集Zx3 Z1 Z3 象集举例 专门的关系运算 续 选择投影连接除 专门的关系运算 续 a Student 4 学生 课程数据库 学生关系Student 课程关系Course和选修关系SC 专门的关系运算 续 Course b 专门的关系运算 续 c SC 1 选择 Selection 1 选择又称为限制 Restriction 2 选择运算符的含义在关系R中选择满足给定条件的诸元组 F R t t R F t 真 F 选择条件 是一个逻辑表达式 基本形式为 X1 Y1 选择 续 3 选择运算是从关系R中选取使逻辑表达式F为真的元组 是从行的角度进行的运算 选择 续 例1 查询信息系 IS系 全体学生 Sdept IS Student 或 5 IS Student 结果 选择 续 例2 查询年龄小于20岁的学生 Sage 20 Student 或 4 20 Student 结果 2 投影 Projection 1 投影运算符的含义从R中选择出若干属性列组成新的关系 A R t A t R A R中的属性列 2 投影 Projection 2 投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列 而且还可能取消某些元组 避免重复行 投影 续 例3 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影 Sname Sdept Student 或 2 5 Student 结果 投影 续 投影 续 例4 查询学生关系Student中都有哪些系 Sdept Student 结果 作业 R S R SR SR S A C R A B R 3 连接 Join 1 连接也称为 连接2 连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组RS tr R ts S tr A ts B A和B 分别为R和S上度数相等且可比的属性组 比较运算符连接运算从R和S的广义笛卡尔积R S中选取 R关系 在A属性组上的值与 S关系 在B属性组上值满足比较关系 的元组 连接 续 3 两类常用连接运算等值连接 equijoin 什么是等值连接 为 的连接运算称为等值连接等值连接的含义从关系R与S的广义笛卡尔积中选取A B属性值相等的那些元组 即等值连接为 RS tr R ts S tr A ts B A B 连接 续 自然连接 Naturaljoin 自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R和S具有相同的属性组BRS tr R ts S tr B ts B 连接 续 4 一般的连接操作是从行的角度进行运算 自然连接还需要取消重复列 所以是同时从行和列的角度进行运算 连接 续 例5 关系R和关系S如下所示 连接 续 一般连接RS的结果如下 C E 连接 续 等值连接RS的结果如下 连接 续 自然连接RS的结果如下 连接 续 外连接如果把舍弃的元组也保存在结果关系中 而在其他属性上填空值 Null 这种连接就叫做外连接 OUTERJOIN 左外连接如果只把左边关系R中要舍弃的元组保留就叫做左外连接 LEFTOUTERJOIN或LEFTJOIN 右外连接如果只把右边关系S中要舍弃的元组保留就叫做右外连接 RIGHTOUTERJOIN或RIGHTJOIN 连接 续 下图是例5中关系R和关系S的外连接 连接 续 图 b 是例5中关系R和关系S的左外连接 图 c 是右外连接 4 除 Division 给定关系R X Y 和S Y Z 其中X Y Z为属性组 R中的Y与S中的Y可以有不同的属性名 但必须出自相同的域集 R与S的除运算得到一个新的关系P X P是R中满足下列条件的元组在X属性列上的投影 元组在X上分量值x的象集Yx包含S在Y上投影的集合 记作 R S tr X tr R Y S Yx Yx x在R中的象集 x tr X 除 续 2 除操作是同时从行和列角度进行运算 除 续 例6 设关系R S分别为下图的 a 和 b R S的结果为图 c 分析 在关系R中 A可以取四个值 a1 a2 a3 a4 a1的象集为 b1 c2 b2 c3 b2 c1 a2的象集为 b3 c7 b2 c3 a3的象集为 b4 c6 a4的象集为 b6 c6 S在 B C 上的投影为 b1 c2 b2 c1 b2 c3 只有a1的象集包含了S在 B C 属性组上的投影所以R S a1 5 综合举例 以学生 课程数据库为例 P56 例7 查询至少选修1号课程和3号课程的学生号码首先建立一个临时关系K 然后求 Sno Cno SC K 综合举例 续 例7续 Sno Cno SC 200215121象集 1 2 3 200215122象集 2 3 K 1 3 于是 Sno Cno SC K 200215121 综合举例 续 例8 查询选修了2号课程的学生的学号 Sno Cno 2 SC 200215121 200215122 综合举例 续 例9 查询至少选修了一门其直接先行课为5号课程的的学生姓名 Sname Cpno 5 CourseSCStudent 或 Sname Cpno 5 Course SC Sno Sname Student 或 Sname Sno Cpno 5 Course SC Sno Sname Student 综合举例 续 例10 查询选修了全部课程的学生号码和姓名 Sno Cno SC Cno Course Sno Sname Student 练习 1 写出R S R S R S 2 有关系A B1 B2和B3 请分别计算A B1 A B2及A B3 练习 分析 在关系中 sno可以取四个值 s1 s2 s3 s4 s1的象集为 p1 p2 p3 p4 s2的象集为 p1 p2 s3的象集为 p2 s4的象集为 p2 p4 练习 3 已知关系r s w如图所示 计算T r s w S r关系s关系w关系 练习 r关系s关系w关系 解 T 练习 T r s w S 1 找1号学生所选修的课程号 Cno Sno 200215121 SC 2 求选修了1号或2号课程的学生号方案1 Sno Cno 1 Cno 2 SC 方案2 Sno Cno 1 SC Sno Cno 2 SC 练习 练习 3 求选修了001号而没有选002号课程的学生号 Sno Cno 001 SC Sno Cno 002 SC 4 求同时选修了001号和002号课程的学生号错误的写法 Sno Cno 001 Cno 002 SC 正确的写法 Sno Cno 001 SC Sno Cno 002 SC 练习 4 求同时选修了001和002号课程的学生号 续 方案1 S C SC C 001 C 002 C 方案2 S SC C 001 C 002 C 哪一个正确 练习 选修了全部课程并且成绩都相同的学生 选修了全部课程的学生 5 求未选修001号课程的学生号方案1 S S S C 001 SC 方案2 S C 001 SC 哪一个正确 练习 练习 6 求仅选修了C01号课程的学生号 选修C01号课程的学生 选C01号课程之外的学生 S C C01 SC S SC C C01 SC 综合举例 例 数据库中有三个关系 S S SNAME AGE SEX SC S C GRADE C C CNAME TEACHER 试用关系代数表达式表达每个查询语句 1 检索学习课程号为C3的学生学号与成绩2 检索选修课程名为Maths的学生学号与姓名 S GRADE C C3 SC S SNAME CNAME Maths SSCC 综合举例 3 检索选修课程号为C1或C4的学生学号4 检索至少选修课程号为C2和C4的学生学号5 检索没有学C2课程的学生姓名与年龄6 检索学习全部课程的学生姓名7 检索所学课程包含学生S3所学课程的学生学号 S C C1 C C4 SC 1 1 4 2 C2 5 C4 SC SC SNAME AGE S SNAME AGE C C2 SSC SNAME S S C SC C C S C SC C S S3 SC 思考题 供应商关系S S SNAME Status City 零件关系P P PNAME Color Weight 工程项目关系J J JNAME City 供应关系SPJ S P J City 1 求供应工程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论