第4章 关系运算优秀课件.ppt
《第4章 关系运算优秀课件.ppt》由会员分享,可在线阅读,更多相关《第4章 关系运算优秀课件.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 关系运算第1 页,本讲稿共31 页 关系模型有三个重要组成部分:数据结构、数据操纵、数据完整性规则。(1)数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二维表格)的形式。关系模型基本的数据结构是关系。(2)数据操纵:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。(3)数据完整性规则:数据库中数据必须满足实体完整性,参照完整性和用户定义的完整性等三类完整性规则。关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户进行插入、删除、修改等操作。关系查询语言根据其理论基础的不同分成两类:(1)
2、关系代数语言:查询操作是以集合操作为基础的运算。(2)关系演算语言:查询操作是以谓词演算为基础的运算。第2 页,本讲稿共31 页4.1 关系代数 4.1.1 关系代数的五个基本操作 关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操作就可以引入到关系代数中。关系代数中的操作可分为两类:传统的集合操作:并、差、交、笛卡儿积(乘法),笛卡儿积的逆运算(除法)。扩充的关系操作:对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)等。1.并(Union)设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集
3、合,记为R U S。RSttRtS,t是元组变量,R和S的元数相同第3 页,本讲稿共31 页 2.差(Differnece)设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R S。R-SttR tS 3.笛卡儿积 设关系R和S的元数分别为r和s,定义R和S的笛卡儿积是一个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R S R S t|t=R 4.投影 这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。设关系R是k元关系,R在其分量Ai1,Aim上的投影用i1,im(R)表示。它是一个
4、m元的元组的集合 i1,im(R)t|t=R第4 页,本讲稿共31 页 5.选择 选择操作是根据某些条件对关系做水平分割,即选取符合条件的元组.条件可用命题公式F表示。F中有两种成分:运算对象:常数(用引号括起来),元组分量(属性名或列的序号)。运算符:符术比较运算符,逻辑运算符 关系R关于公式F的选择操作用F(R)表示,形式定义如下:F(R)=t|t R F(t)=true 为选择运算符,F(R)表示从R中挑选满足公式F为真的元组所构成的关系。第5 页,本讲稿共31 页4.1.2 关系代数的四个组合操作 1.交(Intersection)关系R和S的交是由属于R又属于S的元组构成的集合,记为
5、RS,要求R和S定义在相同的关系模式上。RSt|tRtS,R和S的元数相同 由于RS=R-(R-S),或RS=S-(S-R),因此交操作不是一个独立的操作。2.连接(Join)连接是从关系R和S的笛卡儿积中选取属性值满足某一操作的元组(P98)3.自然连接(P98)4.除法第6 页,本讲稿共31 页4.1.3 关系代数运算的应用实例 在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的运算结果仍是一个关系。【例4.5】P100第7 页,本讲稿共31 页4.1.4 关系代数的两个扩充操作 1.外连接 在关系R和S做自然连接时,我们选择两个关系在公共属性上值相等的
6、元组构成新关系的元组。此时,关系R中某些元组有可能在S中不存在公共属性上值相等的元组,造成R中这些元组的值在操作时被舍弃。由于同样的原因,S中某些元组也有可能被舍弃。为了在操作时能保存这些将被舍弃的元组,提出“外连接”操作。如果如果R和S做自然连接时,把原该舍弃的元组也保留在新关系中,那么这种操作称为“左外连接”操作。如果R和S做自然连接时,只把S中原该舍弃的元组放到新关系中,那么这种操作称为“右外连接”操作。第8 页,本讲稿共31 页 2.外部并 如果R和S的关系模式不同,构成的新关系的属性由R和S的所有属性组成,新关系的元组由属于R或属于S的元组构成,同时元组在新增加的属性上填上空值,那么
7、这种操作称为“外部并”操作。第9 页,本讲稿共31 页4.2 关系演算 把数理逻辑的谓词演算引入到关系运算中,就可得到以关系演算为基础的运算。关系演算又可分为元组关系深处和域关系演算,前者以元组为变量,后者以属性(域)为变量分别简称为元组演算和域演算。4.2.1 元组关系演算 在元组关系演算中,元组关系深处表达式简称为元组表达式。其中t是元组变时不时,表示一个元数固定的元组;P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。t|P(t)表示满足公式P的所有元组t的集合。1.原子公式和公式的定义 在元组表达式中,公式由原子公式组成。第10 页,本讲稿共31 页 定义4.1 原子公
8、式有三种形式 P103(1)R(S)。其中R是关系名,S是元组变时不时。它表示了这样一个命题:“S是关系R的一个元组”。(2)Siuj。其中S和U是元组变量,是算术比较去处符,Si和uj分别是S的第i个分量和U的第j个分时不时。Siuj表示命题:“元组S的第i个分量和U的第j个分量之间满足关系”。(3)Sia或auj。a是常量。“Sia”表示命题:“元组S的第i个分量值与常量a之间满足关系”。在定义关系深处操作时,要用到“自由”和“约束”变量概念。在一个公式中,如果元组变量未用存在量词或全称量词符号定义,那么称其为自由元组变量,否则称礤为约束元组变量。约束变量类似于程序设计语言中过程内部定义的
9、局部变量,自由变量类似于过程外部定义的外部变量或全局变量。第1 1 页,本讲稿共31 页 定义4.2 公式的递归定义(1)每个原子是一个公式。其中的元组变量是自由变量。(2)如果P1和P2是公式,那么P1、p1 p2、P1 P2和P1=P2。公式中元组的变量的自由约束性质如同在P1和P2中一样,依然是自由的或约束的。(3)如果P1是公式,那么(S)(P1)和(S)(P1)也都是公式。其中S是公式P1中的自由元组变量;在(S)(P1)和(S)(P1)中称为约束元组变量。(4)公式中各种运算符的优先级从高到低依次为:、=。在公式外还可以加括号,以改变上述优先顺序。(5)公式只能由上述四种形式构成,
10、除此之外构成的都不是公式。第12 页,本讲稿共31 页 在元组关系演算的公式中,有下列三个等价的转换规则:(1)P1P2等价于(P1P2);P1P2等价于(P1P2)(2)(S)(3)P1=P2等价于P1P2 2.关系代数表达式到元组表达式的转换 P104第13 页,本讲稿共31 页4.2.2 域关系演算 1.域关系演算表达式 域关系演算类似于元组关系演算,不同之处是用域变量代替元组变量的每个分量,域变量的变化范围是某个值域而不是一个关系。原子公式有两种形式:(1)R(X1,Xk),R是一个k元关系,每个Xi是常量或域变量;(2)XY,其中X、Y是常量或域变量,但至少有一个是域变量,是算术比较
11、符。域关系演算的公式中也可使用、=逻辑运算符,也可以用 形成新的公式,但变量X是域变量,不是元组变量。自由域变量、约束域变量等概念和元组演算中一样。域演算表达式是形为:t1tk|P(t1,tk)的表达式,其中P(t1,tk)是关于自由域变量t1tk的公式。第14 页,本讲稿共31 页 2.元组表达式到域表达式的转换(1)对于k元的元组变量t,可引入k个域变量t1tk,在公式中t用t1tk替换,元组分量ti用ti替换。(2)对于每个量词 或,若U是M元的元组变量,则引入M个新的域变量UUm。在量词的辖域内,U用UUm替换,Ui用Ui替换,用 替换。用 替换。第15 页,本讲稿共31 页4.2.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 关系运算优秀课件 关系 运算 优秀 课件
限制150内