ch05数库的存储结构.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.2 关系数据库中表的典型存储机制-簇集 簇集有两种实现方法 索引簇集(Indexed Cluster) 对簇表在簇集键上再建索引,每个簇集键值有一个索引项。(缺省) [例]:建立索引簇集personnel: CREATE CLUSTER personnel (department_number INT) INDEX ; 散列簇集(Hash Cluster) 对簇表的行在簇集键列上运用Hash函数进行散列,以决定相应数据块的物理地址。这样,具有同一散列值的行将存储在一起。 [例]:建立散列簇集personnel: CREATE CLUSTER personnel(department_number INT) HASH IS department_number HASHKEYS 100 ; * 5.2 关系数据库中表的典型存储机制-簇集 利弊 利 可改进簇表间在簇集键列上连接运算的性能。 ——因为减少了磁盘I/O次数。 节省存储空间。 ——因为簇表中每个簇集键值只存储一次,不管这个/些表中有多少行包含此簇集键值。 弊 降低了簇表上更新运算(INSERT, UPDATE, DELETE)的性能。 ——因为增加了系统维护开销。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.2 关系数据库中表的典型存储机制一索引 [例3] 为例1中的顺序数据文件再建立一个非稠密索引。由于该数据文件共占用105个磁盘块,因此非稠密索引文件中有105个索引项,需要占用: 103个磁盘块(约4MB) 利用该非稠密索引进行记录定位需要的磁盘I/O次数为: log2103 + 1 ≈ 9.97 + 1 ≈ 11 * 5.2 关系数据库中表的典型存储机制一索引 稠密索引与稀疏索引的区别 索引文件的定义不同 非稠密索引只能用于顺序文件上的索引组织。 稠密索引中的每个索引项对应数据文件中的一条记录,而非稠密索引中的每个索引项则对应数据文件中的一个物理块。 需要的磁盘空间大小不同 在记录的查找定位功能上存在差别: 稠密索引:可以直接回答是否存在键值为K的记录。 非稠密索引:需要额外的磁盘I/O操作,即需要将相应的数据文件中的磁盘块读入内存后才能判别该记录是否存在。 * 5.2 关系数据库中表的典型存储机制一索引 多级索引 索引文件本身也可能占据多个存储块,为了能够快速找到这些索引块在磁盘中的存储位置,需要引入新的索引结构,即在索引文件上再建立索引,从而构成了多级索引。 由于索引文件本身是顺序文件,因此索引文件上的索引结构采用的是非稠密索引。 将直接建立在数据文件上的索引(例2、例3中建立的索引)称为第一级索引,根据第一级索引文件建立的索引称为第二级索引,依此类推,从而可以建立一个多级索引结构。 在多级索引组织结构中,第一级索引可以是稠密索引,也可以是非稠密索引。从第二级索引开始建立的都是非稠密索引。 * 5.2 关系数据库中表的典型存储机制一索引 数据文件(顺序文件) 第1级 稠密索引 第2级 非稠密索引 * 5.2 关系数据库中表的典型存储机制一索引 数据文件(堆文件) 第1级 稠密索引 第2级 非稠密索引 * 5.2 关系数据库中表的典型存储机制一索引 数据文件(顺序文件) 第1级 非稠密索引 第2级 非稠密索引 * 5.2 关系数据库中表的典型存储机制一索引 [例4] 在例2中建立的稠密索引文件上再建立一个非稠密索引。由于例2中的稠密索引文件共占用104个磁盘块,因此新建立的非稠密索引文件中有104个索引项,需要占用 100个物理块(约400KB) [例5] 在例3中建立的非稠密索引文件上也可以再建立一个非稠密索引。由于例3中的非稠密索引文件共占用103个磁盘块,因此新建立的非稠密索引文件中有103个索引项,只需要占用: 10个物理块(约40KB) * 5.2 关系数据库中表的典型存储机制一索引 考虑在例4和例5中所建立的第二级索引文件,由于它们只分别占用400KB和40KB的存储空间,这样的索引文件完全可以全部放在内存中。 因此,在这样的索引文件上进行搜索定位不需要索引文件上的磁盘I/O操作,我们只要根据在二级索引中查找到的索引项到第一级索引文件中直接读取相应的索引磁盘块,并根据在该物理块中所找到的索引项到数据文件中直接读取相应的数据文件物理块或记录。因此,根据这样的两级索引结构进行记录的查找定位只需要2次磁盘I/O操作,大大低于我们在例2和例3中所需的磁盘I/O次数(见下表)。 * 5.2 关系数据库

文档评论(0)

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

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

1亿VIP精品文档

相关文档