第二章数据库的存储结构.docVIP

  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文档。上传文档
查看更多
第2章 数据库的存储结构 本章学习目标 本章主要介绍了基本的文件组织方式及各自的特点,并在此基础上介绍了DBMS系统所采用的倒排表、索引链接文件与多重链表文件索引、B+树等快速文件查找处理方法。通过本章学习,读者应该掌握以下内容: ????????? 顺序文件、链表文件、随机存取文件、索引组织文件等文件组织方式的特点 ????????? 倒排表的操作 ????????? B+树的组织结构与基本操作 ? 在数据库系统设计时必须考虑如何在机器上实现的问题,要求能将各种数据存储在机器内,而且要能反映各种数据之间的联系;要求存储、维护尽可能方便高效;要求检索 、使用数据操作简单,运行效率高。为此要讨论各种存储组织结构和各类索引结构。 数据库是利用文件系统来完成数据的存取的,数据及相关联系可在一个文件中存放,也可分别存放;文件有顺序文件,随机文件等不同类型;顺序文件又有按某个码排序的文件及按记录录入先后次序存放的文件等不同。 2.1基本文件组织 2.1.1顺序文件组织 在顺序文件中,记录被物理地按地址次序排列,排列顺序为按某一码值的升或降序,也可为记录录入的先后次序。 按码值排序时,其顺序还与存储方式有关。有按二进制数和ASCII码存储两种形式,如按前者,根据码值数值大小排序。如按后者,可视为字符串,对二个字符串比较时,从左边第一个字符起进行比较,直到对应字符不相同为止,此时该二字符的ASCII码值较大者对应的字符串较大。。例如“ABCDEF”和“ABZ”二个串,第三个字符对应不相同,其左边各字符对应都相同,则因“ABZ”的第三个字符的ASCII码值较大,这个串的值也就较大。采用这类排序文件,优点是在查找时可利用二分法,插值算法和分区算法等方法加快查找速度,缺点是在进行数据录入,修改、删除时要花费大量时间用于排序,非常耗时。而且,对于数据库数据的检索要求将是多方面的,例如按姓名查找某个人,或者按专业来查找一批人,或者按姓名与专业来查找一批人等,不可能按每一种检索要求生成一个排序文件,因为那样做占据空间太多,维护也无法进行。因此一般维护工作量大或检索内容较多的系统,都采取按记录录入先后次序安排记录的方式顺序存放数据。再利用索引文件加快查找速度。VFP数据表文件就采用顺序文件组织方式,同时提供多种索引方式以利于数据查找和使用。 2.1.2 链表结构文件组织 链表结构组织的文件的基本特点是数据在物理上可以任意存放,利用指针表现数据间的逻辑关系。指针又分为单链表,环链表,双向链表等不同形式。在数据库中,这种结构的优点是记录的增删容易实现,其主要问题在于只能按指针顺序检索,速度较慢。 IMS数据库中记录不等长,采用链表结构组织数据,检索时一般从根片段值开始,根据根片段值的关键字大小进行查找。利用顺序文件和其他结构文件相结合进行存储,例如采用顺序文件ISAM和溢出顺序文件OSAM或顺序文件ISAM和虚拟存储文件VSAM两个文件来存放数据,将所有记录开始部分划分成等长的一段,在ISAM中按顺序方式存放;每条记录剩余部分按先后次序存放于第二个文件中,第一个文件中数据通过指针与第二个文件相联系。由于在第一个文件中每个记录取出部分均等长,因此可较容易计算欲检索内容的大致存放位置,从而大大加快检索速度。例如图1.4 数据存储结构如图2.1所示。 ? ? 这类结构可以实现从头开始循链表查询上述问题,这是层次数据库组织数据的方法之一。 在关系数据库VFP中,设计有备注字段(M)和通用字段(G)两种数据类型,前者用于存放如履历、文件内容、使用说明等这样一些数据。后者用于存放如相片、图片、数值文件等内容,各条记录中这类数据内容可有可无,长度相差甚远,如用等长方式存储,则占用存储空间太多,许多是空的,不便管理也影响效率。在VFP中采用DBF、 FPT、 TBK三种文件分别存放一般数据、备份字段数据、通用字段数据,在DBF文件中,相应的备注(M)型和通用(G)型数据单元中只存放指针,指向相应在FPT和TBK文件中的内容。 在DBTG网状数据库中,“系”结构采用了双向链表和环链表结构两种指针结构。使用单向链表从系主查找成员比较方便,但要查找每个结点的前趋结点则困难。使用双向链表,每条记录有一个指针指向按顺序它的下一个结点,同时又有一个指针指向其前趋结点,这样就可解决上述二个问题,删除操作也将变得容易。环链表是一个首尾相接的线性表,查找时可以从任意一个单元开始直至遍历整个环,也易于从一个环进入到另一个环。 DBTG网状数据库还采用了指针阵列,指向系主记录的物主指针等结构。 2.1.3随机存取文件组织(Hash文件组织) 这类文件组织利用散列(Hash)函数Y=F(X)把码值映射成记录存储地址,直接存取。其中X为码值,y为地址。知道码值立即可算出地址,一般说来查找效率

文档评论(0)

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

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

版权声明书
用户编号:7060131150000004

1亿VIP精品文档

相关文档