成果第3章关系运算.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 关系运算及关系系统 3.1 关系代数 3.2 关系演算 3.3 关系代数、元组演算、 域演算的等价性3.4 查询优化 3.5 关系系统 习 题3.1关系代数 关系数据库操作--关系运算。 关系运算分为两种方法: 基于代数定义的称为关系代数; 基于逻辑定义的称为关系演算。SQL:具有关系代数和关系演算双重特点的语言 。关系代数的运算对象是关系,运算结果也是关系。关系代数运算分为两类: (1) 传统的集合运算: 并、 交、 差和广义笛卡尔乘积。 (2) 专门的关系运算: 选择、 投影、 连接和除。 关系代数运算涉及到两类辅助运算符: (1) 比较运算符: >、 ≥、 <、 ≤、 =、 ≠。 (2) 逻辑运算符: {~~}(非)、 ∧(与)、 ∨(或)。 3.1.1 传统的集合运算 传统的集合运算是二目运算。 设两个关系R和S均为n 元关系, 且相应的属性取自同一个域(R和S为同类型关系:属性集相同、次序相同) 1. 并( ∪ ) 关系R和S的并为: R∪S={t|t∈R∨t∈S} 其结果仍为n目关系。 任取元组t, 当且仅当t属于R或t属于S时, t属于R∪S。(一个元素在并集中只出现一次) 2. 差( - ) 关系R和S的差为: R-S={t|t∈R∧t(S} 其结果仍为n目关系。 任取元组t, 当且仅当t属于R且t不属于S时, t属于R-S。 3. 交( ∩ ) 关系R和S的交为: R∩S={t|t∈R∧t∈S} 其结果仍为n目关系。 任取元组t, 当且仅当t既属于R又属于S时, t属于R∩S。 关系的交运算可表示为差运算?R∩S=R-(R-S) 4.广义笛卡尔乘积( × ) 设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 传统集合运算举例 3.1.2 专门的关系运算 专门的关系运算包括选择、 投影、 连接和除。 1. 选择( σ ) 设R是n目关系, F是条件, 其结果为 “真”或“假” , 则R的选择操作定义为: σF(R)={t|t∈R∧F(t)=true} 即取出满足条件F的所有元组。F包含下列两类符号: 运算对象(元组分量、 常数); 运算符(>、 ≥、 …..{~~}、 ∧、 ∨)。 例如: σ学号>′11018′(student),取出学号大于11018的元组, σ性别=′男′∧[6]≥′600′(student)。 取出入学成绩大于等于600的男性。 F中的常量需用单引号括起。 选择操作从行的角度进行运算。 2. 投影( π ) 设R是n目关系, R在其分量 )上的投影操作定义为: 即取出所有元组在特定分量 上的值。 例如, 对图3.1可写出: πA, C(S), ACa1a2c2c1图3.3 投影说明举例 π[1],[ 4], [6](student)。 投影操作从列的角度进行运算, 可以改变关系中列的顺序。 投影操作消去部分列后, 可能会出现重复元组, 根据关系特性, 应将重复元组删去。 AθBtr ts 3. 连接( ) θ连接,含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = { | tr ? R∧ts ?S∧tr[A]θts[B] } ==σAθB(R×S)A和B:分别为R和S上度数相等且可比的属性组θ:比较运算符? 从R和S的广义笛卡尔积R×S中选取在A属性组(R关系)上的值与在B属性组(S关系)上值满足比较关系的元组。 tr ts两类常用的连接运算等值连接θ为“=”的连接运算称为等值连接 等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = { | tr ?R∧ts ?S∧tr[A] = ts[B] } A=Btr ts自然连接特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义 R和S具有相同的属性组B R S = { | tr ?R∧ts ?S∧tr[B] = ts[B] } 自然连接和等值连接的区别是: ①

文档评论(0)

136****1820 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档