《数据库的学校课件元组关系演算.ppt》由会员分享,可在线阅读,更多相关《数据库的学校课件元组关系演算.ppt(20页珍藏版)》请在三一办公上搜索。
1、2023/9/11,An Introduction to Database Systenm,1,数据库原理及应用,熊才权 主讲,湖北工业大学计算机学院,2023/9/11,An Introduction to Database Systenm,2,2.5 关 系 演 算,2.5.1 元组关系演算2.5.2 域关系演算,2023/9/11,An Introduction to Database Systenm,3,2.4 关系演算,关系演算以数理逻辑中的谓词演算为基础,常见的谓词如下表所示,2023/9/11,An Introduction to Database Systenm,4,种类:按谓
2、词变元不同分类1.元组关系演算:以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA2.域关系演算:以域变量作为谓词变元的基本对象 域关系演算语言QBE,2023/9/11,An Introduction to Database Systenm,5,元组关系演算(1),在元组关系演算(Tuple Relational Calculus)中,元组关系演算表达式简称为元组表达式,其一般形式为 t|P(t)(元组成为谓词变元)其中,t是元组变量,表示一个元数固定的元组;P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。t|P(t)表示满足公式P的所有元组t的集合。,2023/
3、9/11,An Introduction to Database Systenm,6,元组关系演算(2),在元组表达式中,公式由原子公式组成。定义2.4 原子公式(Atoms)有下列三种形式:R(s)siuj sia或auj。(R是关系,s和u是元组,a是常量)在一个公式中,如果元组变量未用存在量词或全称量词符号定义,那么称为自由元组变量(Free),否则称为约束元组变量(Bound)。,2023/9/11,An Introduction to Database Systenm,7,元组关系演算(3),定义2.5 公式(Formulas)的递归定义如下:每个原子是一个公式。其中的元组变量是自由
4、变量。如果P1和P2是公式,那么P1、P1P2、P1P2和 P1P2也都是公式。如果P1是公式,那么(s)(P1)和(s)(P1)也都是公式。公式中各种运算符的优先级从高到低依次为:,和,和,。在公式外还可以加括号,以改变上述优先顺序。公式只能由上述四种形式构成,除此之外构成的都不是公式。,2023/9/11,An Introduction to Database Systenm,8,元组关系演算(4),例2.16 图2.20的(a)、(b)是关系R和S,(c)(g)分别是下面五个元组表达式的值,图2.20 元组关系演算的例子,R1=t|S(t)t12 R2=t|R(t)S(t)R3=t|(u
5、)(S(t)R(u)t3u1),R5=t|(u)(v)(R(u)S(v)u1v2t1=u2t2=v3t3=u1),2023/9/11,An Introduction to Database Systenm,9,元组关系演算(5),在元组关系演算的公式中,有下列三个等价的转换规则:P1P2等价于(P1P2);P1P2等价于(P1P2)。(s)(P1(s)等价于(s)(P1(s);(s)(P1(s)等价于(s)(P1(s)。P1P2等价于 P1P2。,2023/9/11,An Introduction to Database Systenm,10,元组关系演算(6),关系代数表达式到元组表达式的转
6、换例2.17 RS可用 t|R(t)S(t)表示;R-S可用 t|R(t)S(t)表示;RS可用 t|(u)(v)(R(u)S(V)t1=u1 t2=u2t3=u3t4=v1 t5=v2 t6=v3)表示。设投影操作是2,3(R),那么元组表达式可写成:t|(u)(R(u)tl=u2t2=u3)F(R)可用 t|R(t)F表示,F是F的等价表示形式。譬如 2=d(R)可写成 t|(R(t)t2=d)。,2023/9/11,An Introduction to Database Systenm,11,元组关系演算的例子,例2.16 图2.20的(a)、(b)是关系R和S,(c)(g)分别是下面五
7、个元组表达式的值,图2.20 元组关系演算的例子,R1=t|S(t)t12 R2=t|R(t)S(t)R3=t|(u)(S(t)R(u)t3u1),R5=t|(u)(v)(R(u)S(v)u1v2t1=u2t2=v3t3=u1),2023/9/11,An Introduction to Database Systenm,12,元组关系演算语言ALPHA,由提出INGRES所用的QUEL语言是参照ALPHA语言研制的语句检索语句GET更新语句PUT,HOLD,UPDATE,DELETE,DROP,2023/9/11,An Introduction to Database Systenm,13,元
8、组关系演算语言ALPHA,检索操作 GETGET工作空间名(定额)(表达式1):操作条件 DOWN/UP 表达式2插入操作建立新元组-PUT修改操作HOLD-修改-UPDATE删除操作HOLD-DELETE,2023/9/11,An Introduction to Database Systenm,14,2.4 关 系 演 算,2.4.1 元组关系演算2.4.2 域关系演算,2023/9/11,An Introduction to Database Systenm,15,域关系演算,域关系演算的查询表达式为:|(x1,x2,xn),其中x1,x2,xn代表域变量,代表演算公式,是由关系、域变量
9、、常量及运算符组成的公式。域关系演算的结果是符合给定条件的域变量值序列的集合,也就是一个关系。域关系演算以元组变量的分量,即域变量,作为谓词变元的基本对象。,2023/9/11,An Introduction to Database Systenm,16,域关系演算,域关系演算的结果是符合给定条件的域变量值序列的集合,也就是一个关系。域关系演算以元组变量的分量,即域变量,作为谓词变元的基本对象。,2023/9/11,An Introduction to Database Systenm,17,域关系演算,域演算的原子公式有以下两种形式:R(x1xk),R是k元关系,每个xi是常量或域变量。xy
10、,其中x,y是常量或域变量,但至少有一个是域变量,是算术比较运算符。,2023/9/11,An Introduction to Database Systenm,18,2.4.2 域关系演算,一种典型的域关系演算语言由提出1978年在IBM370上得以实现QBE也指此关系数据库管理系统l QBE:Query By Example 基于屏幕表格的查询语言查询要求:以填写表格的方式构造查询用示例元素(域变量)来表示查询结果可能的情况查询结果:以表格形式显示,2023/9/11,An Introduction to Database Systenm,19,小结,关系模型的数据结构关系的完整性关系操作关系代数元组关系演算域关系演算,2023/9/11,An Introduction to Database Systenm,20,谢谢,