数据库系统教程(第3版)施伯乐(学生自学札记).docVIP

数据库系统教程(第3版)施伯乐(学生自学札记).doc

  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文档。上传文档
查看更多

自学札记DATE\@M/d/yyyy10/28/2003

自学札记

数据库系统的一个目标是使用户能简单、方便、容易地存取数据库中的数据。用户访问数据库,不必关心数据库的存储结构和具体实现方式。但是,用户如能了解数据库的存储结构,那么对于数据库就会用一个比较完整的了解,进而拓宽知识面。本文主要讨论DB在磁盘中的文件组织结构、索引、散列技术和多键访问。

一、DB在磁盘中的文件组织结构:

一个文件中可能有成千上万个记录,这些记录如何安排,对于记录的查找、插入和删除等操作的速度和效率的影响非同小可。DB在磁盘中的文件组织结构,可分为以下四种:堆文件组织(heapfile)、顺序文件组织(sequentialfile)、散列文件组织(hashingfile)、聚类文件组织(clusteringfile)。表1概括了以上四种文件组织:

方式

定义

插入操作

删除操作

主要优点

主要缺点

堆文件组织

记录放在文件的任何位置上,存储顺序与关键码没有直接的联系

新输入记录总是在文件尾

只是在记录上加一个删除标志

插入新记录的效率很高

查找记录是一个代价昂贵的过程

顺序文件

组织

按查找键值升序或降序的顺序储存,并用指针链接

首先定位找到插入的位置,再在该位置插入新记录(可以加入指针链或溢出块)

通过修改指针实现,被删记录连接成一自由空间,供插入使用

读取记录的效率很高(可用二分查找技术搜索)

用过一段时间后,需对文件重新组织,使物理顺序和查找键值的顺序一致,以提高查找速度

散列文件组织

据记录的某个属性值通过散列函数求得的值作为记录的存储的地址

先用散列函数h(K)求出所要插入的地址,再插入

先用散列函数h(K)求出所要插入的地址,再插入

不必通过索引就能访问数据,大大加快存取记录的速度

在系统实现时必须选择恰当的散列函数,并且不像索引结构那样随着数据量的变化容易变动

聚类文件组织

一个文件可以存储多个关系的记录,不同关系中有联系的记录存储在同一块内

按关键码查找并插入

按关键码查找并删除

将相关的信息存储在同一个文件里,可同时访问多个同类型的文件

文件之间是分离的,没有联系

表1四种文件组织

二、索引技术:

当文件中记录的数目和数据量很大时,若使用堆文件形式存储,查找时只能用线性搜索,则搜索效率极低,因为搜索一个符合要求的对象平均需要顺序搜索几乎一半的对象;若采用顺序文件形式存储,查找时可以用快速的二分查找,但时间开销也很可观。索引技术也就是在这种形势下应运而生了。索引是在文件记录数目和数据量比较大时引用的一种基于记录中的某些属性,用于有效地提高查找、搜索速度的技术。常用的索引机制有两类:

有序索引:即根据记录中某种排序的顺序建立的索引。

散列索引:即根据记录中某个属性值,通过散列函数得到的函数,作为存储空间的桶号。

对于每一种技术,实现索引又有很多方法,有的可以根据属性值查找记录,有的可以根据属性值的范围查找记录。对于不同的索引方法,其查找、插入和删除记录的时间以及索引的空间消耗方面大相径庭。

索引可有多种分类方法:

根据是否按记录中的某种排序顺序建立可分为有序索引和散列索引;

根据有序索引查找键值的顺序是否与主文件的顺序一致可分为主索引和辅助索引;

根据主文件中每一个查找键值是否都对应一个索引记录可分为稠密索引和稀疏索引。

索引散列索引

索引

散列索引

有序索引

辅助索引

主索引

稀疏索引

稠密索引

图1索引的分类

现分别考察稠密索引、稀疏索引,多级索引和辅助索引。

稠密索引和稀疏索引的特点和主要优缺点如表2所示:

方式

特点

主要优点

主要缺点

稠密索引

对主文件中每个查找键值建立一个索引记录

查找速度比较快

由于查找键值与索引一一对应,较耗空间

稀疏索引

对若干个查找键的值才建立一个索引记录

占用空间少,插入、删除操作时指针的维护量相对较少

查找速度比较慢

表2稠密索引和稀疏索引

我们知道,虽然可以采用稀疏索引有效地减少索引所耗的空间,但可能建成的索引还是很大,以至于查询效率仍然不高。这时,我们可以采取一种对主索引再建立一级稀疏索引的方法解决这个问题。即先在外层索引中用二分法查找,找到一小于或等于给出的查找键值的最大的一个键值;然后再到内层索引块中查找;在内层索引块也可以利用二分法查找相应的索引记录,最后再到主文件中查找。如果再增加一层稀疏索引,也就构成了“多级索引”,当数据量很大时,用它来查找,速度将是很快的。

在主索引中,具有相同查找键值的记录在同一块中或相邻的快中,因而查找速度较快。而在辅助索引中,具有相同查找键值的记录分散在文件

文档评论(0)

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

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

1亿VIP精品文档

相关文档