网站大量收购独家精品文档,联系QQ:2885784924

ch032%20关系数据库及其操作语言.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch032关系数据库及其操作语言

第三章 关系数据库及其操作语言(下) 3.3 关系演算 元组关系演算 域关系演算 3.4 查询优化 把数理逻辑的谓词演算引入到关系运算中,就得到以关系演算为基础的运算。 关系演算分为元组关系演算、域关系演算。 元组演算;元组关系演算以元组为变量。 域演算: 以属性(域)为变量。 3.3.1 元组关系演算 元组关系演算表达式的形式一般如下: {t | P (t) } 其中,t是元组变量,表示一个元数固定的元组,P是公式,{t | P (t) }表示满足公式P的所有元组t的集合。 t是元组变量,t[i]表示元组t的第i个分量。 t ? R 表示元组t在关系r中。 P 是与谓词演算相似的公式。 谓词演算公式 1.属性和常量集合。 2.比较运算符集合 (e.g., ?, ?, ?, ?, ?, ?) 3.连接符集合。?, v? ? 4.蕴含。? x ? y,如果x为真,则y为真。 x ? y ???x v y 5.量词集合。 ??t ??R(t) ??关系R中“存在”着元组t,使得谓词R(t)为真。 ?t ??R(t) ??关系R中的所有元组t都使R为真。 (1)原子公式的定义 有三种形式: (1)、R(s):R是关系名,s是元组变量。表示命题“s是关系R的一个元组”。 (2)、s[i]θu[j]:s和u是元组变量,θ是算术比较运算符, s[i]和u[j]分别是s的第i个分量和u的第j个分量。表示命题“元组s的第i个分量与元组u的第j个分量之间满足θ关系”。 (1)原子公式的定义 (1)原子公式的定义 在一个公式中,如果元组变量未用到存在量词?和全称量词??符号定义,则称为自由元组变量,否则称为约束元组变量。 约束变量:类似于程序设计语言过程内部定义的局部变量。 自由变量:类似于过程外部定义的外部变量或全局变量。 公式的定义 (1)每个原子公式是一个公式。其中的元组变量是自由变量。 公式的定义 公式的定义 公式的定义 (5)在公式中各种运算符的优先级从高到低依次为:θ;?和?;?;?和v;? 在公式外可以加括号,以改变上述优先顺序。 (6)公式只能由以上五种形式组成,除此之外的都不是公式。 元组关系演算的例子: 元组关系演算的例子: R2={t|R(t)? ? S(t)} 元组关系演算的例子: 元组关系演算的例子: 元组关系演算的例子: 元组关系演算中的等价规则: 五个基本操作的元组演算表示 (1) R∪S可用{t|R(t) v S(t)} (2) R-S可用{t|R(t) ? ? S(t)} (3) R × S可用 {t|(?u)(?v)(R(u)?S(v)?t[1]=u[1] ?t[2]=u[2]?t[3]=u[3]?t[4]=v[1] ?t[5]=v[2]?t[6]=v[3])} (4)设投影操作是π2,3(R),那么元组表达式可写成 {t|(?u)(R(u)?t[1]=u[2]?t[2]=u[3]} (5) σF(R)可用{t|R(t) ?F’}表示,F’是F的等价表示形式。 σ2=‘d’ ( R )可写成{t|R(t) ? t[2]=‘d’} 关系代数表达式到元组表达式的转换 设有关系R(A,B,C)和S(C,D,E),把关系代数表达式转换为元组表达式。 关系代数表达式到元组表达式的转换 设R和S都是二元关系,把Π1,4(σ2=3(R×S))转换成元组表达式的过程为(从里往外)。 关系代数表达式到元组表达式的转换 设有关系R(A,B,C)和S(C,D,E),把关系代数表达式转换为元组表达式。 方法小结: 把用到的关系加入公式中。 除了结果元组外的元组都加量词限制。 R(u)?S(v)相当于作笛卡尔积的准备,再根据题目加上限制条件(自然连接条件、条件连接条件、笛卡尔积条件)。 构成结果元组。 查询示例 1、检索学习课程号为C2的学生学号与成绩。 查询示例 查询示例 ΠS#,SNAME(σCNAME=‘MATHS’(C SC S)) 查询示例 ΠS#(σc#=’C2’ ? C#=’C4’(SC)) 查询示例 查询示例 查询示例 练习: 练习: 练习: 练习: 练习: 3.3.2 域关系演算 非过程化查询语言,与元组关系演算等效。 查询的表达形式如下: { ? x1, x2, …, xn ? | P(x1, x2, …, xn)} x1, x2, …, xn 表示域变量,用域变量代替元组变量的每一个分量,变量在某个值域内变化。 P 表示与谓词演算相似的公式。 3.3.2 域关系演算 原子公式的形式: 1、R(X1…XK):R是一个k元关系,每个xi是常量或域变量。 2、x θy:x、y是常量或域变量,但至少有一个是域变量。 举例:

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档