关系数据库系统而言,需要从两个方面讨课件.pptVIP

关系数据库系统而言,需要从两个方面讨课件.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关系数据库系统而言,需要从两个方面讨课件

第11章 关系代数操作的实现算法 有效地处理用高级查询语言编写的用户查询是数据库管理系 统的主要任务。对关系数据库系统而言,需要从两个方面讨 论查询处理:第一方面是各种关系代数操作的算法及其复杂 性分析;第二方面是产生逻辑优化的关系代数表达式或其它 形式的查询计划。本章讨论第一个方面的工作;下一章讨论 第二个方面的工作。 第一节 查询的处理过程 第二节 选择操作的实现算法 第三节 笛卡儿乘积的实现算法 第五节 投影操作的实现算法 第六节 集合的并交差实现算法.;第一节 查询的处理过程 查询是由高级查询语言(如SQL)表示的对数据库的 一系列操作。下边是查询处理的基本流程:;以下假设: 每个关系储存在一个文件中。 每个文件仅储存一个关系。 下边的参数是本章经常使用的: TR 关系R的元组数 BR 磁盘块数 IR 每个元组的字节数 M 主存缓冲区的块数 b 每个磁盘块字节数;第二节 选择操作的实现算法 选择操作是在关系R中抽取满足条件C的元组, 其SQL表示形式为:; ?具有简单条件(条件中仅包含关系的一个属性)的选择算法 1.线性有哪些信誉好的足球投注网站:按原始顺序扫描关系,取出满足条件的元组。 2.二分有哪些信誉好的足球投注网站:要求关系已排序,并且选择条件是排序域上的 等值比较。N元组的关系,其有哪些信誉好的足球投注网站时间复杂性是O(log2N)。 3.主索引或HASH有哪些信誉好的足球投注网站: 要求选择条件是主索引属性或HASH属性上的等值比较。 4.用主索引查找多个元组: 若条件是主属性上的非等值比较, 则用等值比较可找出所有满足非等值比较条件的元组。 5.使用聚集索引按等值比较条件寻找多个元组。 6.使用B+树索引有哪些信誉好的足球投注网站。 ?具有合取条件(一组简单条件用and连接而成)的选择算法 7.合取选择算法:先按一个简单条件用前述方法选择, 然后检查是否满足其它条件。 8.复合索引算法:若合取条件都是等值比较, 可考虑使用有关属性上的复合索引。 9.指针交集算法:若合取条件是等值比较,可用各索引域的 辅助索引得到元组指针集合,然后取这些集合的交集。; 第三节 笛卡儿乘积的实现算法 设:关系R和S的元组字节数分别是IR和IS, 元组数目分别是TR和TS, 则笛卡儿乘积R?S的元组的字节数是IR+IS, 元组数目是TRTS,空间字节数是TRTS(IR+IS), 占用磁盘块数是BR?S=TRTS(IR+IS)/b, 其中b是磁盘块的容量。 因此,笛卡儿乘积是一个非常耗时的操作。 以下介绍笛卡儿乘积的四种实现算法。 在选择算法时, 要分析各种算法在访问磁盘时的复杂性和对内存缓冲区的要求。;1 笛卡儿乘积的简单算法 这种算法仅要求主存提供能容纳两个磁盘块数据的缓冲区。 关系R和S各读一块到主存缓冲区,参加笛卡儿乘积运算。 通过嵌套循环完成R?S。算法定义为:;2 笛卡儿乘积的主存算法 这种算法假设内存缓冲区有足够的容量,能一次性地把关系 R和S都读入主存,完成笛卡儿乘积运算。整个过程,两个关 系各读了一遍。这种算法的磁盘存取量为BR+BS+BR?S,其中 BR?S=TRTS(IR+IS)/b是写盘块数。算法的形式定义为:;3 笛卡儿乘积的半主存算法 这种算法假定内存缓冲区比较大。把关系S一次性读入主存,而 R则每次仅读一块到主存参加笛卡儿乘积运算。跟主存算法相同, 整个过程,两个关系各读了一遍。磁盘的存取量为BR+BS+BR?S, 其中BR?S=TRTS(IR+IS)/b是写盘块数。算法的形式定义为:;4 笛卡儿乘积的大关系算法 设主存缓冲区的容量是M(即能容纳M个磁盘块的数据)。 如果 2 M min(BR,BS) ,那么, 一方面,由于缓冲区容量的限制,我们无法采用主存算法 和半主存算法降低磁盘访问复杂性; 另方面,可以发挥 M2的资源优势,采用比简单算法效率 更高的算法。 大关系算法分配给R和S的主存空间分别是1和M-1.算法如下:;由于两个关系的连接操作实际上是笛卡儿乘积后再按?条件选择 元组,故连接操作的实现算法可在笛卡儿乘积算法基础上略加修 改而成。由于选择操作和两个元组的

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档