关系运算及关系系统培训教案.ppt

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

第3章 关系运算及关系系统 3.1 关系代数 3.2 关系演算 3.3 关系代数、元组演算、 域演算的等价性 3.4 查询优化 3.5 关系系统 习 题 3.1 关系代数 第2.2节已对关系模型的数据结构和完整性约束做了介绍。 本节主要讨论数据操作, 即关系运算。 关系运算分为两种方法: 一种方法基于代数的定义, 称为关系代数; 另一种方法基于逻辑的定义, 称为关系演算。 下面分两节讨论关系运算。 关系代数是一种抽象的查询语言, 是关系数据操纵语言的一种传统表达方式。 关系代数中给出的功能在任何实际语言中应该都能实现。 关系代数是通过关系的运算来表达查询的。 它的运算对象是关系, 运算结果也是关系。 关系代数的运算分为两类: (1) 传统的集合运算: 并、 交、 差和广义笛卡尔乘积。 (2) 专门的关系运算: 选择、 投影、 连接和除。 在集合运算中, 还涉及到两类辅助运算符: (1) 比较运算符: >(大于)、 ≥(大于等于)、 <(小于)、 ≤(小于等于)、 =(等于)、 ≠(不等于)。 (2) 逻辑运算符: {~~}(非)、 ∧(与)、 ∨(或)。 3.1.1 传统的集合运算 传统的集合运算是二目运算(又称二元操作)。 以下运算用到的两个关系R和S均为n 度关系, 且相应的属性取自同一个域。 基本运算如下: 1. 并(Union) 关系R和S的并为: R∪S={t|t∈R∨t∈S} 其结果仍为n目关系。 任取元组t, 当且仅当t属于R或t属于S时, t属于R∪S。 2. 差(Difference) 关系R和S的差为: R-S={t|t∈R∧t(S} 其结果仍为n目关系。 任取元组t, 当且仅当t属于R且t不属于S时, t属于R-S。 3. 交(Intersection) 关系R和S的交为: R∩S={t|t∈R∧t∈S} 其结果仍为n目关系。 任取元组t, 当且仅当t既属于R又属于S时, t属于R∩S。 从集合论的观点分析, 关系的交运算可表示为差运算: R∩S=R-(R-S)。 4. 笛卡尔乘积(Cartesian Product) 设R为m目关系, S为n目关系, 则R和S的广义笛卡尔乘积为: ? R×S={t|t=〈tr, ts〉∧tr∈R∧ts∈S} 其结果为m+n目关系。 元组的前m列是关系R的一个元组, 元组的后n列是关系S的一个元组。 若R有k1个元组, S有k2个元组, 则R×S有k1×k2个元组。 实际运算时, 可从R的第一个元组开始, 依次与S的每一个元组组合, 然后对R的下一个元组进行同样的操作, 直至R的最后一个元组也进行完相同操作为止, 即可得到R×S的全部元组。 【例3.1】 给定两个相容性关系R和S, 计算 R∪S, R-S, R∩S,R×S的结果。 解: 依据四种运算的定义, 可得到如图3.2(a)、 (b)、 (c)、 (d)所示的结果。 3.1.2 专门的关系运算 专门的关系运算包括选择、 投影、 连接和除。 前两个是一元操作, 后两个为二元操作。 1. 选择(Selection) 设R是n目关系, F是命题公式, 其结果为逻辑值, 取“真”或“假” , 则R的选择操作定义为: σF(R)={t|t∈R∧F(t)=true} 即取出满足条件F的所有元组。 其中, F包含下列两类符号: 运算对象(元组分量(属性名或列序号)、 常数); 运算符(>、 ≥、 <、 ≤、 =、 ≠、 {~~}、 ∧、 ∨)。 例

文档评论(0)

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

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

1亿VIP精品文档

相关文档