- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
关系代数单世民
关系代数关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果也是关系,而运算符包括四类。
关系代数
关系代数
关系代数
关系代数
关系代数
关系代数传统集合运算-一般概念与规则一元运算:只对一个关系进行运算二元运算:对两个关系进行运算并交差运算的前提条件:
关系R和关系S具有相同的数目n(都有n个属性),且相应的属性来自同一域。关系运算的结果仍然是一个关系运算的结果不含有重复的元组
关系代数传统集合运算-并
关系R和关系S的并R∪S仍为n目关系,由属于R或属于S的元组组成
R∪S={t|t?R∨t?S}
关系代数传统集合运算-并
例:ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S
关系代数传统集合运算-差
关系R和关系S的差R-S仍为n目关系,由属于R而不属于S的所有元组组成
R-S={t|t?R∧t?S}
关系代数传统集合运算-差
例:ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S
关系代数传统集合运算-交
关系R和关系S的交R∩S仍为n目关系,由既属于R又属于S的元组组成
R∩S={t|t?R∧t?S}
R∩S=R–(R–S)
关系代数传统集合运算-交
例:ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S
关系代数传统集合运算-笛卡尔积
设R为n目关系,k1个元组
S为m目关系,k2个元组
则关系R和关系S的笛卡尔积R×S有:列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1×k2个元组
R×S={trts|tr?R∧ts?S}
关系代数传统集合运算-笛卡尔积
例:ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1
关系代数专门的关系运算-选择
给出满足给定谓词(条件)的元组。
用小写希腊字母?来表示选择运算,而将谓词写作?的下标,并在?后的括号中给出作为参数的关系。
例:
找出成绩大于等于90分的成绩记录
?Grade=90(SC)
关系代数专门的关系运算-选择
通常允许在选择谓词中进行比较,使用的比较运算符是=、≠、、≤、和≥等。另外,还可以用连词and(∧)和or(∨)将多个谓词合并成一个较大的谓词。
例如:
查询成绩大于等于60但小于75分的成绩记录
?Grade=60∧Grade75(SC)
关系代数专门的关系运算-选择
?Grade=90(SC) ?Grade=60∧Grade75(SC)一般形式
?F(R)={t|t?R∧F(t)=真}F:选择条件,是一个逻辑表达式,基本形式为:[?(]X1θY1[)][φ[?(]X2θY2[)]]…θ:比较运算符(>,≥,<,≤,=或)X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;φ:逻辑运算符(∧或∨)[]:表示任选项…:表示上述格式可以重复下去
关系代数查询信息系(IS系)全体学生?Sdept=IS(Student)或?5=IS(Student)查询年龄小于20岁的学生?Sage20(Student)或?420(Student)
关系代数专门的关系运算-投影
投影运算是一元运算,它返回作为参数的那个关系的部分属性构成的新关系。由于关系是一个集合,所以在结果关系中所有重复的行均被去除。
投影运算用希腊字母π表示,所有希望在结果关系中出现的属性作为π的下标,而作为参数的关系跟随在π后的括号中。
关系代数专门的关系运算-投影
例:对于成绩记录sc,假设我们只想列出所有学生的学号和所选课的课程编号,而不关心成绩的具体值,投影运算便可以产生这样的结果。
上述表示为:
πSno,Cno(sc)
关系代数查询学生的姓名和所在系πSname,Sdept(Student)或π2,5(Student)查询学生关系S
文档评论(0)