数据库第二章第四次.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三、 关系演算(简介) 关系演算是以数理逻辑中的谓词演算为基础的,通过谓词形式来表示查询表达式。 根据谓词变元的不同,可将关系演算分为 元组关系演算 域关系演算。 1 元组关系演算语言 元组关系演算是以元组变量作为谓词变元的基本对象。 元组关系演算语言的典型代表是E.F.Codd提出的ALPHA语言,这种语言虽然没有实际实现,但较有名气,INGRES关系数据库上使用的QUEL语言,就是在ALPHA语言的基础上研制的。 这里简要介绍ALPHA语言和QUEL语言 1.1 ALPHA语言 ALPHA语言是以谓词公式来定义查询要求的。在谓词公式中存在客体变元,这里称为元组变量。 元组变量是一个变量,其变化范围为某一个命名的关系。 ALPHA语言的基本格式是: 操作符 工作空间名 (目标表)[:操作条件] 操作符有GET,PUT,HOLD,UPDATE,DELETE,DROP等到种。 工作空间:是指内存空间,可以用一个字母表示,通常用W表示,也可以用别的字母表示。工作空间是用户与系统的通信区。 目标表:用于指定操作(如查询、更新等)出来的结果,它可以是关系名或属性名,操作语句可以同时对多个关系或多个属性进行操作。 操作条件:是用谓词公式表示的逻辑表达式,只有满足此条件的元组才能进行操作,这是一个可选项,缺省时表示无条件执行操作符规定的操作。除此之外,还可以在基本格式上加上排序要求,定额要求等。 下面以前一讲中的教学数据库为例,说明ALPHA语言的使用。 1. 数据查询 (1)简单查询 例 查询所有学生的数据。 GET W (S) GET语句的作用是把数据库中的数据读入内存空间W,目标表为学生关系S,代表查询出来的结果,即所有的学生。 冒号后面的操作条件缺省,表示无条件查询 例 查询所有被选修的课程号码。 GET W (SC.CNO) 目标表为选课关系SC中的属性CNO,代表所有被选修的课程号码,查询结果自动消去重复行。 (2)条件查询 由冒号后面的逻辑表达式给出查询条件,在表达式中可以使用如下三类运算符: ① 比较运算符:,≥,,≤,=等于,≠; ② 逻辑运算符:∧(与),∨(或),┐(非) ③ 表示执行次序的括号:() 其中,比较运算符的优先级高于逻辑运算符,可以使用()改变它们的优先级。 例 查询计算机系工资高于1000元的教师的姓名和工资。 GET W (T.TN,T.SAL):T.DEPT=’计算机’∧T.SAL1000 目标表为教师关系T中的两个属性SN和SAL组成的属性列表。 (3)排序查询 例 查询S3同学所选课程号及成绩,并按成绩降序排列。 GET W (SC.CNO,SC.SCORE) :SC.SNO=’S3’ DOWN SC.SCORE DOWN表示降序,后面紧跟排序的属性名。 升序排列时使用UP。 (4)定额查询 例2.15 查询一名男教师的教师号和姓名。 GET W (1) (T.TNO,T.TN):T.SEX=’男’ 所谓的定额查询就是通过在W后面的括号中加上定额数量,限定查询出元组的个数。 这里(1)表示查询结果中男教师的个数,取出教师表中第一个男教师的教师号和姓名。 排序和定额查询可以一起使用。 例2.16 查询一名男教师的教师号和姓名,并使他的年龄最小。 GET W (1) (T.TNO,T.TN):T.SEX=’男’ UP T.AGE 此语句的执行过程为:先查询所有男教师的教师号和姓名,再按照年龄由小到大排序,然后找出第一位,也就是年龄最小的男教师。 (5)带元组变量的查询 所谓的元组关系演算就是以元组变量作为谓词变元的基本对象,在关系演算的查询操作时,可以在相应的关系上定义元组变量。 元组变量代表关系中的元组,其取值是在所定义的关系范围内变化,所以也称作范围变量Range Variable,一个关系可以设多个元组变量。 例2.17 查询S3同学所选课程号。 RANGE SC X GET W (X.CNO): X.SNO=’S3’ 使用RANGE来说明元组变量,X为关系SC上的元组变量。 如果关系的名字很长,使用起来不方便,这时可以设一个名字较短的元组变量来代替关系名,简化关系名,使操作更加方便。 (6)带存在量词的查询 例2.18 查询S3同学所选课程名。 RANGE SC X GET W (C.CN): ?X(C.CNO=X.CNO∧X.SNO=’S3’) 注意:操作条件中使用量词时必须用元组变量。 例2.19 查询至少选修一门其课时数为80的课程的学生的姓名。 RANGE C CX SC SCX GET W (

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档