关系数据库的基本模型.ppt
SABCa1b1c13.3.2专门的关系运算**在连接运算中有两种最常见的连接,一种是等值连接(equijoin),一种是自然连接(Naturaljoin)。自然连接与等值连接的区别是:**自然连接要求两个关系中进行比较的属性或属性组必须同名和相同值域,而等值连接只要求比较属性有相同的值域。自然连接的结果中,同名的属性只保留一个。一般的连接操作是从行的角度进行运算。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。在图3-7中,图(a)是图3-6中的关系R和关系S的外连接,图(b)是左外连接,图(c)是右外连接。如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),那么这种连接就叫做外连接(outerjoin)。如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFTOUTERJION或LEFTJION),如果只把右边关系S中要舍弃的元组保留就叫右外连接(RIGHTOUTERJION或RIGHTJION)。01关系模型的基本概念02关系模型的三类完整性03关系代数的基本运算 04关系演算 05本章小结3.4关系演算**关系演算是以数理逻辑中的谓词演算为基础的,通过谓词形式来表示查询表达式。根据谓词变元的不同,可将关系演算分为元组关系演算和域关系演算。其代表语言分别为Alpha和QBE。元组关系演算语言的典型代表是提出的ALPHA语言,这种语言虽然没有实际实现,但较有名气,INGRES关系数据库上使用的QUEL语言,就是在ALPHA语言的基础上研制的。元组关系演算语言——ALPHA在关系运算中,用谓词公式来表达查询要求的方式称为关系演算。元组关系演算是以元组变量作为谓词变元的基本对象。由于用到谓词公式,必然涉及到谓词变量和谓词合适公式(well-formedformila)的问题。ALPHA语言是以谓词公式来定义查询要求的。在谓词公式中存在客体变元,这里称为元组变量。元组变量是一个变量,其变化范围为某一个命名的关系。ALPHA语言的基本格式是:操作语句工作空间名(表达式):操作条件1.操作符有GET,PUT,HOLD,UPDATE,DELETE,DROP等多种。2.工作空间是指内存空间,可以用一个字母表示,通常用W表示,也可以用别的字母表示。工作空间是用户与系统的通信区。3.目标表用于指定操作(如查询、更新等)出来的结果,它可以是关系名或属性名,一操作语句可以同时对多个关系或多个属性进行操作。4.操作条件是用谓词公式表示的逻辑表达式,只有满足此条件的元组才能进行操作,这是一个可选项,缺省时表示无条件执行操作符规定的操作。除此之外,还可以在基本格式上加上排序要求,定额要求等。下面以教学数据库为例,说明ALPHA语言的使用。数据查询简单查询【例3-14】查询所有学生的数据。GETW(S)【例3-15】查询所有被选修的课程号码。GETW(SC.CNO)**(2)条件查询由冒号后面的逻辑表达式给出查询条件,在表达式中可以使用如下三类运算符:①比较运算符:,≥,,≤,=等于,≠;②逻辑运算符:∧(与),∨(或),┐(非)③表示执行次序的括号:()其中,比较运算符的优先级高于逻辑运算符,可以使用()改变它们的优先级。【例3-16】查询计算机系工资低于1000元的教师的姓名和工资。GETW(T.TN,T.SAL):T.DEPT=‘计算机’∧T.SAL1000目标表为教师关系T中的两个属性SN和SAL组成的属性列表。(3)排序查询【例3-17】查询S3同学所选课程号及成绩,并按成绩降序排列。GETW(SC.CNO,SC.SCORE):SC.SNO=‘S3’DOWNSC.SCOREDOWN表示降序,后面紧跟排序的属性名。升序排列时使用UP。(4)定额查询【例3-18】查询一名男教师的教师号和姓名。GETW(1)(T.TNO,T.TN):T.SEX=‘男’【例3-19】查询一名男教师的教师号和姓名,并使他的年龄最小。GETW(1)(T.TNO,T.TN):T.SEX=‘男’UPT.AGE所谓的元组关系演算就是以元组变量作为谓词变元的基本对象,在关系演算的查询操作时,可以在相应的关系上定义元组变量。元组变量代表关系中的元组,其取值是在所定义的关系范围内变化,所以也称作范围变量RangeVariable,一个关系可以设多个元组变量