- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8周第2次课—
高级数据处理 主讲人: 许雪峰 Email: 办公地点:C7 二楼 203 计科系 补充: 关系代数(1) 本次课主要内容 关系代数概述 关系代数操作 包上关系操作 关系代数概述 关系代数最初是由Codd提出的,它是元组的集合,即关系,用于基于关系的查询 最初开发基于关系模型的DBMS时 ,其中的查询语言大都以关系代数为工具,随着描述性的查询语言SQL的出现,人们在进行数据库查询时,几乎都是使用SQL来定义查询策略 查询处理流程 DBMS首先解析SQL查询,并将它转化为一个等价的关系代数表达式。该表达式的执行效率通常很低,所以DBMS内的查询优化器会对表达式进行优化处理,并产生一个查询执行计划,最后通过DBMS的中间代码生成器产生可执行的代码 SQL查询 关系代数操作 操作对象是关系,操作结果也是关系 最基本的5个关系代数运算:并、差、笛卡尔积、投影、选择,在此基础上,还定义了其他的一些操作:交、连接、除 关系中的集合操作 交 并 差 都是二元操作 并 定义:设关系R和关系S都有n个属性,且相应的属性取自同一个域,则关系R与关系S并的结果是由属于R或S的元组组成的集合,其结果仍具有n个属性 记作: 要保证两个关系进行并操作后,结果还是一个关系,必须满足如下条件: 两个关系具有相同数目的属性,即属性集相同 两个关系的各个属性的类型(即域)必须匹配 两个关系的属性次序完全相同(不同的,在进行并操作之前,先对列排序) 例子 差 定义:设关系R和关系S都有n个属性,且相应的属性取自同一个域,则关系R与关系S差的结果是由属于R而不属于S的所有元组组成的集合,其结果仍具有n个属性 记作: 交 定义:设关系R和关系S都有n个属性,且相应的属性取自同一个域,则关系R与关系S交的结果是由既属于R又属于S的元组组成的集合,其结果仍具有n个属性 记作: 问题 交、并、差三个关系中的集合操作有什么联系? 笛卡尔积 定义:设关系R和关系S的元组分别具有n列和m列,则关系R和关系S的笛卡尔积是一个n+m列的元组的集合,所得元组的前n列是关系R的一个元组,后m列是关系S的一个元组,若R有k1个元组,S有k2个元组,则它们的笛卡尔积有k1*k2个元组 记作: 投影 定义:关系R上的投影运算就是从R中选择若干属性列形成新的关系,即对关系R进行垂直分割,获取一个可能包含有重复行的表,然后删去重复的元组,形成新的关系,其结果关系是列的子集 记作 例子 选择 定义:关系R上的选择运算就是在关系R中选择满足给定条件的元组,也就是其结果关系是行的子集 记作 连接 定义:连接是从两个关系的笛卡尔积中选取属性值满足一定条件的元组 记作 连接的分类 等值连接 自然连接 二者的区别 在自然连接中,要求同名属性域有相同的值,并去掉重复的属性 在自然连接中,要求去掉重复的行 除 设给定关系模式R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X)。P是R中满足下列条件的元组在X属性列上的投影:元组在X上的分量值x的像集Yx包含S在Y上投影的集合 记作 例子 IT Education Training Date: * 解析器 关系代数表达式 查询优化器 查询执行计划 代码生成器 可执行代码
文档评论(0)