- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理第二章:关系数据库 授课教师:王哲 本次课学习内容 关系代数 关系运算(选择、投影、连接,除运算) * 关系演算是以数理逻辑中的谓词演算为基础的。可分为: 元组关系演算语言(get,put等6条语句) 域关系演算语言QBE 一、关系代数 1、除运算 2、除运算示例 3、除运算练习 1、除运算÷(Division,亦称商) 用途:除法运算同时从行和列的角度进行运算,在表达某些查询时有用,适合于包含“全部”之类的短语的查询,例如“查询已注册选修了所有课程的学生名字”。 定义:给定关系 R(X,Y),S(Y,Z),X,Y,Z为属性列,关系R和关系S中的Y出自相同域集,则: R÷S={tr[X]|tr∈R∧Πy(S)?Yx} 其中,Yx为x在R中的象集,x= tr[X]。 象集Zx 给定一个X和关系R(X,Z), Z为属性组。 当t[X]=x时,x在R中的象集(Images Set)为: Zx={t[Z]|t ?R,t[X]=x} 它表示R中属性组X上值为x的诸元组在Z上分量的集合 2、除运算示例 分析 在关系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} 写出R÷S= 例4:查询至少选修1号课程和3号课程的学生号码 解题思路:首先建立一个临时关系K, 然后求πSno,Cno(SC)÷K 200215121象集{1,2,3} 200215122象集{2,3} K={1,3} 于是:πSno,Cno(SC)÷K={200215121} 关系除法运算的步骤: 将被除关系属性分为象集属性和结果属性 对象集属性进行投影—目标数据集 将被除关系分组:结果属性值一样的元组分为一组 找出结果集 3、除运算练习 1、已知关系r、s、w如图所示,计算T= (r ∪s)÷w) S 2、检索学习全部课程的学生学号 3、检索学习全部课程的学生学号和姓名 4、检索所学课程包含学生S3所学课程的学生学号 关系代数小结 传统的集合运算 并、差、交、笛卡尔积 专门的关系运算 选择、投影、连接、除 5种基本运算 并、差、笛卡尔积、投影、选择 二、关系演算 关系演算是以数理逻辑中的谓词演算为基础的,通过谓词形式来表示查询表达式。 根据谓词变元的不同,可将关系演算分为元组关系演算和域关系演算。前者以元组为变量,简称元组演算;后者以域为变量,简称域演算。 元组关系演算 Tuple Relational Calculus ,简称TRC 元组关系演算语言ALPHA 元组关系表达式 域关系运算 Domain Relational Calculus ,简称DRC 域关系演算语言QUE 1、元组关系演算 元组关系演算是以元组变量作为谓词变元的基本对象。 元组关系演算语言的典型代表是E.F.Codd提出的ALPHA语言,这种语言虽然没有实际实现,但较有名气,INGRES关系数据库上使用的QUEL语言,就是在ALPHA语言的基础上研制的。 这里主要介绍ALPHA语言。 ALPHA语言 基本格式是:操作符 工作空间名 (目标表)[:操作条件] 操作符有GET、PUT、HOLD、UPDATE、DELETE,DROP等6条语句。 工作空间是指内存空间,通常用W表示,也可以用别的字母表示。工作空间是用户与系统的通信区。 目标表用于指定操作(如查询、更新等)出来的结果,它可以是关系名或属性名,一条语句可以同时对多个关系或多个属性进行操作。 只有满足操作条件的元组才能进行,操作操作条件可以为空。 除此之外,还可以在基本格式上加上排序要求,定额要求等。 1)简单查询 下面以学生课程数据库(P56)为例,说明ALPHA语言的使用。 例1:查询所有学生的数据 GET W (Student) GET语句的作用是把数据库中的数据读入内存空间W,目标表为学生关系S,代表查询出来的结果,即所有的学生。 冒号后面的操作条件缺省,表示无条件查询。 例2:查询所有被选修的课程号码。 GET W (SC.Cno) 目标表为选课关系SC中的属性CNO,代表所有被选修的课程号码,查询结果自动消去重复行。? 2)条件查询 由冒号后面的逻辑表达式给出查询条件,在表达式中可以使用如下三类运算符: ① 比较运算符:,≥,,≤,=等于,≠;
文档评论(0)