《元组关系演算(补充2).ppt》由会员分享,可在线阅读,更多相关《元组关系演算(补充2).ppt(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2.5 关 系 演 算2.5.1 元组关系演算2.5.2 域关系演算12/20/202212.4 关系演算 n关系演算以数理逻辑中的谓词演算为基础比较谓词、包含谓词IN存在谓词EXISTS常见的谓词如下表所示 12/20/20222n种类:按谓词变元不同分类1.元组关系演算:以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA2.域关系演算:以域变量作为谓词变元的基本对象 域关系演算语言QBE12/20/20223元组关系演算(1)n 在元组关系演算(Tuple Relational Calculus)中,元组关系演算表达式简称为元组表达式,其一般形式为 t|P(t)(元组成为谓词变元
2、)n 其中,t是元组变量,表示一个元数固定的元组;n P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。n t|P(t)表示满足公式P的所有元组t的集合。12/20/20224元组关系演算(2)n在元组表达式中,公式由原子公式组成。n定义2.4 原子公式(Atoms)有下列三种形式:R(s)siuj sia或auj。(R是关系,s和u是元组,a是常量)n在一个公式中,如果元组变量未用存在量词或全称量词符号定义,那么称为自由元组变量(Free),否则称为约束元组变量(Bound)。12/20/20225元组关系演算(3)n定义2.5 公式(Formulas)的递归定义如下:每个原
3、子是一个公式。其中的元组变量是自由变量。如果P1和P2是公式,那么P1、P1P2、P1P2和 P1P2也都是公式。如果P1是公式,那么(s)(P1)和(s)(P1)也都是公式。公式中各种运算符的优先级从高到低依次为:,和,和,。在公式外还可以加括号,以改变上述优先顺序。公式只能由上述四种形式构成,除此之外构成的都不是公式。12/20/20226元组关系演算(4)n例例2.162.16 图图2.202.20的(的(a a)、()、(b b)是关系是关系R R和和S S,(,(c c)()(g g)分别是下面分别是下面五个元组表达式的值五个元组表达式的值 图2.20 元组关系演算的例子 R1=t|
4、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)12/20/20227元组关系演算(5)n 在元组关系演算的公式中,有下列三个等价的转换规则:P1P2等价于(P1P2);P1P2等价于(P1P2)。(s)(P1(s)等价于(s)(P1(s);(s)(P1(s)等价于(s)(P1(s)。P1P2等价于 P1P2。12/20/20228元组关系演算(6)n关系代数表达式到元组表达式的转换例2.17 RS可用 t|R(t)S(t)表示;R-S可用 t|R(t)S(t)表示;RS可 用
5、 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)。12/20/2022912/20/202210元组关系演算的例子 n例例2.162.16 图图2.202.20的(的(a a)、()、(b b)是关系是关系R R和和S S,(,(c c)()(g g)分别是下面分别是下面五个元组表达式的值五个元组表达式的值 图2.20 元组关系演算的例子
6、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)12/20/202211元组关系演算语言ALPHAn由E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的n语句检索语句GET更新语句PUT,HOLD,UPDATE,DELETE,DROP12/20/202212元组关系演算语言ALPHAn检索操作 GETGET工作空间名(定额)(表达式1):操作条件 DOWN/UP 表达式2n插入操作建立新元组-PUTn修改操作HOLD-修改-UPDATEn删除
7、操作HOLD-DELETE12/20/2022132.4 关 系 演 算n2.4.1 元组关系演算n2.4.2 域关系演算12/20/202214域关系演算n域关系演算的查询表达式为:|(x1,x2,xn),其中x1,x2,xn代表域变量,代表演算公式,是由关系、域变量、常量及运算符组成的公式。n域关系演算的结果是符合给定条件的域变量值序列的集合,也就是一个关系。n域关系演算以元组变量的分量,即域变量,作为谓词变元的基本对象。12/20/202215域关系演算n域关系演算的结果是符合给定条件的域变量值序列的集合,也就是一个关系。n域关系演算以元组变量的分量,即域变量,作为谓词变元的基本对象。12/20/202216域关系演算域演算的原子公式有以下两种形式:R(x1xk),R是k元关系,每个xi是常量或域变量。xy,其中x,y是常量或域变量,但至少有一个是域变量,是算术比较运算符。12/20/202217
限制150内