- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 数据库文件存储技术
第五章 数据库文件存储技术 主要内容 5.1 文件组织 5.2 索引技术 5.3 哈希技术 5.1文件组织 在外部存储设备中,数据库以文件形式组织,而文件有记录组成。 从文件的组织形式看,分为逻辑结构和物理结构两种。 逻辑结构文件组织有两种方式,一种是把文件看成无结构的流式文件,另一种是把文件看成有结构的记录式文件 文件中记录的组织方式有堆文件、顺序文件、聚集文件和哈希文件四种。 (1)堆文件 在堆文件中,记录可以放在文件的任何位置上,一般以输入顺序为序。 (2)顺序文件 在顺序文件中,记录按查找某个关键码值的大小顺序组织存储的。 (3)聚集文件 在聚集文件中,一个文件可以存储多个关系记录,不同的关系中有联系的记录存储在同一块内,可以提高查找速度和I/O速度。 (4)哈希文件 把根据记录的某个属性值通过哈希函数求得值作为记录的存储地址(即“块号”),这种技术通常与索引技术连用。 5.1.1文件组织形式 本节讨论逻辑文件中的记录在物理文件中将如何实现 记录式结构分为定长记录和变长记录两种 1.定长记录 一般在文件中的记录有固定长度,这种长度一般都是一由文件记录确定。 例如:对于关系模式 SC(Snum,Cnum,Score)可以设计一个文件,其中各数据项定义如下: Snum:CHAR (8); Cnum:CHAR (9); Score:SMALLINT; 如上图每条记录包含姓名、学号、班级三条信息,在每条记录中对应的信息占相同的字节数,所以每条记录的长度一定,构成一个含有四条记录的定长记录文件。 在系统运行时存在两个问题: (1)删除:删除后是在其位置补充一个记录还是忽略这个位置。 (2)长度:若物理上每个块的大小不等于每个记录的长度倍数,则必然在读这样的记录时要访问两个块。 ⑴ 删除方法 在定长记录文件中删除一个记录,可采用下面三种方法之一实现: l) 把被删记录后的记录依次移上来。这是一种传统方法,实现思想简单。根据概率,删除一个记录平均要移动文件中的一半记录。 2) 把文件中最后一个记录填补到被删记录位置。相对上一种方法,这种方式移动量较少。 3) 把被删结点用指针链接起来。在每个记录中增加一个指针,在文件中增设一个文件首部。文件首部中包括文件中有关信息,其中有一个指针指向第一个被删记录位置,所有被删结点用指针链接,构成一个栈结构的空闲记录链表。譬如在图 5.1 中删除记录 2 、 5 、7、9文件如图5.2 ⑵ 插入方法 删除方式影响插入方法。删除时如果采用把被删记录链接起来的方法,那么插入操作可采用下列方法:在空闲记录链表的第一个空闲记录中,填上插入记录的值,同时使首部指针指向下一个空闲记录;如果空闲记录链表为空,那么,只能把新记录插到文件尾。删除时如果采用前两种方式,由于文件中间不存在空闲,所以插入只能在文件尾进行。定长记录文件的插入操作比较简单,因为插人记录的长度与被删记录的长度是相等的。在变长记录文件中操作就复杂多了。 2. 变长记录 两种形式:①变长记录的字节串表示形式; ②变长记录的定长表示形式。 ⑴ 变长记录的字节串表示形式 ① 尾标志法 这种形式是把每个记录看成连续的字节串,然后在每个记录的尾部附加“记录尾标志符”(∧), 表明记录结束。图 5.1的定长记录文件可以用图 5.3 的格式表示。 ② 记录长度法 字节串表示形式的另一种方式是在记录的开始加一个记录长度的字段来实现,读取数据时以此作为记录结束与否的标志。 字节串表示形式实现算法简单,但有两个主要缺点; 其一,由于各记录的长度不一,因此被删记录的位置难于重新使用; 其二,如果文件中的记录要加长,则很难实现,必须把记录移到它处才能实现,移动的代价是很大的 往往使用的是一种改进的字节串表示形式,称为“分槽式页”(SlottedStructure) ,如图 5.4 所示。 ⑵ 变长记录的定长表示形式 1) 预留空间技术 预留空间技术是取所有变长记录中最长的一个记录的长度作为存储空间的记录长度,来存储变长记录。如果变长记录短于存储记录长度,那么在多余空间处填上某个特定的空值或记录尾标志符。例如图 5.3 的字节串表示形式可以用图 5.5的预留空间技术实现。该方法一般在大多数记录的长度接近最大长度时才使用,否则使用时空间浪费很大。 2) 指针技术 记录长度相差太大时,预留空间的方法会导致空间浪费较大,此时最为有效的形式就是指针技术。譬如图 5
您可能关注的文档
最近下载
- 猪主要传染性腹泻病的流行情况与防控对策.docx
- 机电工程投标方案.docx VIP
- 人教PEP版小学英语五年级 下册(1-6单元)思维导图.pdf
- 国际金融附微课杜玉兰习题答案.docx VIP
- 2023年大连大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 2023年大连大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 知识产权法智慧树知到期末考试答案章节答案2024年同济大学.docx VIP
- 临床医学教学模式创新与课堂互动设计.pptx
- 生猪屠宰兽医卫生检验人员理论考试题库资料及答案.pdf VIP
- 天津市静海区2024-2025学年高一下学期6月学生学业能力调研试题 地理试卷含答案.docx VIP
文档评论(0)