B关系代数附加运算、扩展运算.ppt_第1页
B关系代数附加运算、扩展运算.ppt_第2页
B关系代数附加运算、扩展运算.ppt_第3页
B关系代数附加运算、扩展运算.ppt_第4页
B关系代数附加运算、扩展运算.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、2020年10月16日星期五,1,数据库系统概念-关系模型,2.3附加运算,为了书写方便,扩展了若干操作,称为附加运算 附加运算没有实质地扩展关系代数的能力 附加运算的种类 交(rs) 自然连接(r s) 除(rs) 赋值运算(),2020年10月16日星期五,2,数据库系统概念-关系模型,2.3附加运算:,Intersection,交 r s 用-表示 rs=r-(r-s) 示例 1、求既是学生又是老师的人员(pid,name) 2、学了c1和c2的学生学号,2020年10月16日星期五,3,数据库系统概念-关系模型,2.3附加运算:自然连接,定义 r s=RS(r.A1=s.A1 r.An

2、=s.An(rs) 示例,自然连接确定选择条件的原则: 以属性名是否相同为依据 不以语义是否相同为依据 要注意参与自然连接的表中是否有不希望做选择条件的同名属性,2020年10月16日星期五,4,数据库系统概念-关系模型,2.3附加运算:自然连接,可交换,可结合 s sc sc s (s sc) c s (sc c) RS= 时,自然连接的结果 s c = ? 连接,等值连接,2020年10月16日星期五,5,数据库系统概念-关系模型,2.3附加运算:的定义,示例:求学了全部课程的sno sc c 除的定义 trs,当切仅当 tR-S(r) 对任意tss,存在trr,满足: trR-S=t 且

3、 trS=ts 示例:,2020年10月16日星期五,6,数据库系统概念-关系模型,2.3附加运算:定义二,ImageSet,象集(像集): 对R(A,B),“a1”是属性组A上的值(组) “a1”在R 上的象集,记作Ba1 Ba1=tB|tr ,tA=a1 除的定义(二) rs:是象集包含s的分量组集合 通俗地讲: rs就是谁的象集包含s,2020年10月16日星期五,7,数据库系统概念-关系模型,2.3附加运算:,示例,求学了所有课的学生学号: 思考1:使用,有几种写法? 思考2:不使用,如何书写?,2020年10月16日星期五,8,数据库系统概念-关系模型,2.3附加运算:赋值, ,为了

4、简化关系代数表达书的书写,引入赋值运算 示例,不使用,求学了所有课程的学生学号 temp1 sno(s) cno(c) temp2 sno(temp1 sno,cno(sc) sno(s) temp2,2020年10月16日星期五,9,数据库系统概念-关系模型,2.3附加运算:练习,1、求计算机系学生的“DB”成绩(sno,sname,score) 2、使用,求学了s5 所学全部课程的学生 3、不使用,求学了s5 所学全部课程的学生,2020年10月16日星期五,10,数据库系统概念-关系模型,2.5空值,Null,空值的语义 不知道 或 不存在 空值的表现 参与算术运算:结果为Null 参与

5、比较运算:结果为Null 参与逻辑运算: 1、Null or true=ture 2、Null and false=false 3、其它情况结果为null 空值是一种状态,不是一个明确的值,2020年10月16日星期五,11,数据库系统概念-关系模型,2.5关系代数对空值的处理,不是总有道理,更多的时候是定义 (E) 保留使确定地为真的元组 求20岁的学生 求不是20岁的学生 A1,A2(E) 元组表现相同(认为表示的语义相同),则保留一个元组 求各系年龄分布(dept,sage) :与的处理原则一致,2020年10月16日星期五,12,数据库系统概念-关系模型,2.4扩展的关系代数,关系代数

6、扩展的几个运算: 广义投影 聚集、分组聚集 外连接 扩展的关系代数运算: 对关系代数的查询能力进行了一些经常需要的扩展 一般地讲,扩展的运算属于关系代数 严格地说,扩展的运算不属于关系代数运算,2020年10月16日星期五,13,数据库系统概念-关系模型,2.4扩展的关系代数:广义投影,广义投影 F1, F2(E) F1 as A1,F2 as A2(E) Fi是算术表达式 示例: 求明年学生的年龄,2020年10月16日星期五,14,数据库系统概念-关系模型,2.4扩展的关系代数:聚集,聚集运算:GF1(A1),F2(A2)(E) Fi是聚集函数 聚集函数: sum(),count(),ma

7、x(),min(),avg() 聚集函数作用于集合/多重集,返回值 聚集运算作用于关系,返回关系 多重集与集合 聚集函数默认作用于多重集 强制作用于集合,使用“-distinct”,2020年10月16日星期五,15,数据库系统概念-关系模型,2.4扩展的关系代数:分组聚集,分组聚集 写法:A1,A2GF1(B1)(E) A1,A2是分组属性 分组属性上取值相同的元组,划分为一组 分组聚集操作G是关系代数运算 聚集运算支持重命名 A1,A2GF1(B1) as name1,(E),2020年10月16日星期五,16,数据库系统概念-关系模型,2.4扩展的关系代数:G练习,1、求学习了5门以上课

8、程的学生学号及课程门数; 2、求有5门以上优秀课程(90)的学生学号; 3、求每个学生的单科最高成绩及相应课程编号; 4、求最高的学生平均成绩; 5、求高于平均成绩的修课记录; 6、求高于本门课平均成绩的修课记录;,2020年10月16日星期五,17,数据库系统概念-关系模型,2.5 Null:聚集对空值的处理,不是总有道理,更多的时候是定义 聚集函数中的null 1、多重集中忽略null 2、聚集函数作用于空集合: count()=0; 其它聚集函数作用于空集合,结果为null 示例,snoG (sc):,2020年10月16日星期五,18,数据库系统概念-关系模型,2.5关系代数对空值的处

9、理:总结,不是总有道理,更多的时候是定义 (E) 保留使确定地为真的元组 A1,A2(E) 元组表现相同,则保留一个元组 认为含有空值的元组,空值表示的语义相同 :与的处理原则一致 聚集函数中的null 1、多重集中忽略null 2、聚集函数作用于空集合: count()=0; 其它聚集函数作用于空集合,结果为null,2020年10月16日星期五,19,数据库系统概念-关系模型,2.4扩展的关系代数:外连接,Left out-join,左外连接,r s 自然连接左侧失配元组(右侧属性补空值) 思考:学生学习c1课程的情况:如何书写? (sno,sname,cno,score) 没有选课的学生

10、也希望展现; Right out-join ,右外连接,r s 同左外连接反向,2020年10月16日星期五,20,数据库系统概念-关系模型,2.4扩展的关系代数:全外连接,Full out-join,全外连接: 自然连接 左侧失配元组(右侧属性补空值) 右侧失配元组(左侧属性补空值) 求: C1和C2的学习成绩;,2020年10月16日星期五,21,数据库系统概念-关系模型,2.4扩展的关系代数:课外练习,1、求每门课程的修课人数及其平均成绩; 2、求每门课程的课程名及其平均成绩; 3求修课人数最多的课程号(cno)及相应修课人数; 4、求平均成绩高于s2平均成绩的学生学号; 5、求计算机系所有学生的C1课程成绩 要求结果为三元组(sno,sname,c1_score)

温馨提示

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

评论

0/150

提交评论