关系代数和关系演算重点课件

上传人:嘀嘀 文档编号:262654914 上传时间:2022-03-07 格式:PPT 页数:101 大小:760.50KB
返回 下载 相关 举报
关系代数和关系演算重点课件_第1页
第1页 / 共101页
关系代数和关系演算重点课件_第2页
第2页 / 共101页
关系代数和关系演算重点课件_第3页
第3页 / 共101页
关系代数和关系演算重点课件_第4页
第4页 / 共101页
关系代数和关系演算重点课件_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《关系代数和关系演算重点课件》由会员分享,可在线阅读,更多相关《关系代数和关系演算重点课件(101页珍藏版)》请在金锄头文库上搜索。

1、单击此处编辑母版标题样式单击此处编辑母版副标题样式*1第三章关系代数和关系演算关系模型的形式定义 数据结构关系 数据操作关系运算与关系演算 完整性规则关系运算与关系演算 DML分成查询语句(描述用户的各类检索要求)和更新语句(描述用户的增删改等操作) Nonprocedurallanguage 关系查询语言根据理论基础的不同分关系代数语言:集合操作,一种抽象的非过程高级查询语言,用对关系的运算来表达查询,非过程性较弱(需指明操作的前后顺序)关系演算语言:谓词演算,非过程性强,操作顺序仅限于量词顺序3.1 关系代数1. 关系代数运算的三个要素2. 关系代数运算的分类3. 表示记号关系代数运算的三

2、个要素 运算对象:关系 运算结果:关系 运算符:四类关系代数运算的操作符u集合运算符(并、差、交)将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行u专门的关系运算符( 笛卡尔积、投影、选择、联接、除)不仅涉及行而且涉及列u算术比较符辅助专门的关系运算符进行操作u逻辑运算符(与、或、非)辅助专门的关系运算符进行操作集合运算符-并差交比较运算符 大于大于等于小于小于等于等于不等于运算符含义运算符含义表2.4关系代数运算符专门的关系运算符 广义笛卡尔积选择投影联接除逻辑运算符 非与或运算符含义运算符含义表2.4关系代数运算符(续)3 表示记号(1)R,tR,tAi设关系模式为R(A1,

3、A2,An)它的一个关系设为R。tR表示t是R的一个元组tAi则表示元组t中相应于属性Ai的一个分量n 学生(学号,姓名,年龄,政治面貌)R记录(2004A0020306,张晓曦,18,党员)t张晓曦tAi3 表示记号(2)A,tA, A若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。3 表示记号(3)tr ts R为n目关系,S为m目关系。trR,tsS,trts称为元组的联接。它是一个n+m

4、列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。3 表示记号4)像集Zx 给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的像集(Images Set)为:Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。3.1 关系代数u概述u传统的集合运算u专门的关系运算3.1.1 传统的集合运算u并u差u交1. 并(Union)uR和S具有相同的目n(即两个关系都有n个属性,且次序相同,但属性名可以不同)相应的属性取自同一个域uRS仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S 并(续)ABCa1b1c1a1b2c2

5、a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS2. 差(Difference)uR和S具有相同的关系模式,相同的目n相应的属性取自同一个域uR - S仍为n目关系,由属于R而不属于S的所有元组组成R -S=t|tRtS差(续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S3. 交(Intersection)uR和S具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S 非基本运算,可由其它运算合成 RS=R(

6、R-S)交 (续)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S3.1 关系代数u概述u传统的集合运算u专门的关系运算3.1.2 专门的关系运算u广义笛卡尔积u选择u投影u联接u除广义笛卡尔积Extended Cartesian ProductuRn目关系,k1个元组uSm目关系,k2个元组uRS列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组行:k1k2个元组 RS=trts|trRtsS广义笛卡尔积 (续)ABCa1 b1 c1a1 b2 c2a2 b2 c1ABCa1b1c

7、1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1 b2 c2a1 b3 c2a2 b2 c1RSR SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1选择(Selection) 1)选择又称为限制(Restriction)2)选择运算符的含义n 在关系R中选择满足给定条件的诸元组F(R)=t|tRF(t)=真n F:选择条件,是一个逻辑表达式,基本形式为:(X1Y1) ( X2Y2)u:比较运算符(,或)uX1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代

8、替;u:逻辑运算符(或)u:表示任选项u:表示上述格式可以重复下去选择(续)3)选择运算是从行的角度进行的运算,根据某些条件对关系作水平分割4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。选择(续)学号Sno姓名Sname性别Ssex年龄Sage系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS(a)StudentE1E2E3E4选择(续)(b)Course课程号课程名先行课学分CnoCnameCpnoCcredit1数据库542数学23信息系统144操作系统635数据结构746数据处理

9、27PASCAL语言64选择(续)(c)SC学号课程号成绩SnoCnoGrade9500119295001285950013889500229095002380例7例8选择(续)例1查询信息系(IS系)全体学生Sdept=IS(Student)或5=IS(Student)结果:SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS选择(续)例2查询年龄小于20岁的学生Sage20(Student)或42ABC456789R2=t|R(t)S(t)转换 可以把关系代数表达式等价的转换成元组表达式。由于所有关系代数表达式都能用5种基本操作组合而成,因此只要把5个

10、基本操作用元组演算表达就行域关系演算 类似于元组关系演算,不同之外是用域变量代替元组变量的每一个分量,域变量的变化范围是某个值域而不是一个关系。可以像元组演算一样定义域演算的原子公式和公式 域演算表达式是形为t1. .tk |P(t1. ,.,tk )的表达式example ABC123456789ABC123346569ABC456RSR1=xyz|R(xyz)x3ABC123456789346R2= xyz|R(xyz)v(S(xyz)y=4)3.2.3 关系演算语言u关系代数ISBLu元组演算QUELu域演算QBE域关系演算语言QBE l一种典型的域关系演算语言由M.M.Zloof提出1

11、978年在IBM370上得以实现QBE也指此关系数据库管理系统lQBE:QueryByExample基于屏幕表格的查询语言查询要求:以填写表格的方式构造查询用示例元素(域变量)来表示查询结果可能的情况查询结果:以表格形式显示QBE操作框架关系名属性名操作命令元组属性值或查询条件或操作命令一、检索操作(1)用户提出要求;(2)屏幕显示空白表格;(3)用户在最左边一栏输入要查询的关系名,例如Student;Student检索操作(续)(4)系统显示该关系的属性名(5)用户在上面构造查询要求StudentSnoSnameSsexSageSdeptP.T19StudentSnoSnameSsexSag

12、eSdept检索操作(续)(6)屏幕显示查询结果StudentSnoSnameSsexSageSdept李勇张立构造查询的几个要素u示例元素即域变量一定要加下划线示例元素是这个域中可能的一个值,它不必是查询结果中的元素u打印操作符P.指定查询结果所含属性列u查询条件不用加下划线可使用比较运算符,和其中可以省略u排序要求1. 简单查询例1查询全体学生的全部数据。StudentSnoSnameSsexSageSdeptP.95001P.李勇P.男P.20P.CS简单查询(续) 显示全部数据也可以简单地把P.操作符作用在关系名上。StudentSnoSnameSsexSageSdeptP.2. 条件

13、查询(1)简单条件例2求信息系全体学生的姓名。StudentSnoSnameSsexSageSdeptP.李勇IS条件查询(续)例3求年龄大于19岁的学生的学号。StudentSnoSnameSsexSageSdeptP.9500119条件查询(与条件)例4 求计算机科学系年龄大于19岁的学生的学号。方法(1):把两个条件写在同一行上StudentSnoSnameSsexSageSdeptP.9500119CS条件查询(续)方法(2):把两个条件写在不同行上,但使用相同的示例元素值StudentSnoSnameSsexSageSdeptP.95001P.9500119CS条件查询(续)例6查询

14、计算机科学系或者年龄大于19岁的学生的学号。StudentSnoSnameSsexSageSdeptP.95001P.9500219CS3.2.4 关系运算的安全性和等价性u安全性是否产生无限关系,是否需要无穷验证关系代数操作都是安全的限定的关系演算也是安全的 关系演算只对表达式中公式涉及到的关系值范围进行u等价性关系代数,安全的元组关系演算,安全的域关系演算在关系的表达和操作能力上等价各类关系查询语言是等价的,包括SQL关系运算的安全性 关系代数的基本操作(不含补运算)都是安全的 关系演算由于存在取反,量词等限制,可能会出现无限关系和无穷验证问题 安全定义:在数据库技术中,不产生无限关系和无

15、穷验证的运算成为安全运算,相应的表达式成为安全表达式,所采取的措施称为安全约束 在关系演算中,必须有安全演算的措施,关系演算才是安全的关系运算的等价性 并、差、笛卡尔积、投影和选择是关系代数最基本的操作,并构成了关系代数运算的最小完备集。 已经证明,在这个基础上,关系代数、安全的元组关系演算以及安全的域关系演算在关系的表达和操作能力上是完全等价的 关系代数的典型语言是ISBL(InformationSystemBaseLanguage),元组关系演算语言是QUEL(querylanguage),域演算语言代表是QBE.SQL是介于关系代数和元组演算之间的一种关系查询语言。关系逻辑 除了关系代数、关系演算两种关系运算,还有第三种关系运算,成为关系逻辑 关系逻辑是用一阶谓词表达关系的操作。由于基于逻辑,因此是一种推理功能更强的关系运算。 关系逻辑的文法以Prolog为模型,因此有时也称为Datalog(数据逻辑) 基本概念:谓词、原子、规则、查询(一个或多个规则的聚集) 关系逻辑由于引进了基于逻辑的规则概念,比关系代数在模拟现实世界能力方面更强。一般用在知识库的知识表达中。 下课了。复习、预习。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号