- 1、本文档共178页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本概念 文件是命名的性质相同的记录的集合,它被置于外存,数据量往往很大 数据库中所研究的文件是带有结构性质的记录集合,每个记录可由若干数据项组成。记录是文件中存取的基本单元,数据项是文件可使用的最小单位。 一般的,在记录中有一个可以唯一标识记录的数据项,它的值称为关键字。其它不唯一标志一个记录的称为次关键字或属性 基本概念(续) 记录的物理结构是数据在外存储器上的存储方式,是数据物理表示和组织。记录的逻辑结构是面向用户的表示和存取方式。下图示意了逻辑结构和物理结构之间的关系 基本概念(续) 用户读写记录是指逻辑记录。记录的逻辑结构关系和物理结构关系一般是不一致的,查找对应的物理记录是操作系统的职能。通常一个物理记录可以包括若干个逻辑记录,这个物理记录称为一个数据块。它所包括的那几个逻辑记录具有同一块地址,称为逻辑结构的物理地址 对文件的操作(运算)可分为检索和修改两大类。检索是指按记录的逻辑号或关键字值查找某个记录。修改包括对记录的插入、删除和对记录某些数据项的更新 文件的结构 对文件进行组织和存储,可以选择不同的数据结构。习惯上,对于用不同的结构所实现的文件给予不同的称呼 顺序文件 索引文件 倒排文件 直接文件、相对文件、字节流文件等 顺序文件 如果文件记录的逻辑次序是按关键码递增(或递减)的次序定义的,并且在外存储器上是按同样的次序排列的,则这种文件叫做顺序文件。由于顺序文件中记录的物理次序与逻辑次序是一致的,所以适宜于顺序存取(即存取一个记录之后紧接着存取其后继记录)和成批处理。顺序文件的随机存取(即按随机给出的关键码存取一个记录)效率很低 索引文件 这种结构为文件建立一个索引表。索引表的每一项是由一个关键码和一个指针构成的二元组(k,p)。每个索引项可以对应文件的一个逻辑记录,这叫密集索引。索引表也是一种文件,有些人把这种索引表称作索引文件,而把原有的文件称作主文件。索引文件适用于随机存取。主文件如按关键字顺序排列则也适应于顺序存取 倒排文件 在实际应用中,常常需要按某些属性字段(即非关键码字段)的值来查找记录。为此,可以按属性字段来建立索引。这种索引叫做倒排索引或副索引。带有倒排索引的文件叫做倒排索引文件,简称倒排文件 倒排文件 1.倒排文件的组织方式和特点??? 倒排文件和多重表文件不同。在次关键字索引中,具有相同次关键字的记录之间不进行链接,而是列出具有该次关键字记录的物理地址。??? 倒排文件中的次关键字索引称做倒排表。倒排表和主文件一起就构成了倒排文件。?? 【例】将上表所示的多重表文件去掉两个链接字段后作为主文件所建立的职务倒排表和工资级别倒排表,如下图所示。 ???? ???? 【例】要找出所有工资级别小于13的硬件人员,则只需将工资级别倒排表中的次关键字为10,11和12的物理地址集合先做“并”运算,然后与职务倒排表中的硬件人员的物理地址集合做“交”运算: {108}∩{102,106}∩{101})∩{101,102,107,110}={101,102}即符合条件的记录,其物理地址是101和102。 倒排文件与一般文件组织的区别 在一般的文件组织中,是先找记录,然后再找到该记录所含的各次关键字;而倒排文件中,是先给定次关键字,然后查找含有该次关键字的各个记录,这种文件的查找次序正好与一般文件的查找次序相反,因此称之为倒排。 文件的操作 检索:在文件中查找满足一定条件的记录,最常见的是查找关键码为一指定值的记录,此时,成功的检索只能找出唯一的记录。更一般地,可以根据一组字段的值进行检索,即查找这组字段的值符合某个条件表达式的全部记录 插入:在文件中增加一个新记录 删除:删去文件中的一个记录。这种操作常常需要通过检索先找到被删记录的位置,而后再进行删除操作 文件的操作(续) 修改:把记录中某些字段的值改为新值 排序:按照一组指定字段的值把文件的全部记录在外存上重新进行排列,使记录的外存地址随这组字段值从小到大(或从大到小)的次序排列。这种排序叫做外排序 文件的操作(续) 以上所有的操作都是基于两种更基本的操作:读和写。这两种操作与机器有关,一般来说由操作系统实现,可以直接调用。另外,这五种操作又都是涉及文件内部结构的基本操作,它们可以构成一些更复杂的操作。例如:修改全部满足某种条件的记录等。从文件的外部看,管理着许多文件的系统程序(主要指操作系统),还实现了文件的建立、打开、关闭、撤消、复制、改名等许多面向用户的操作 练习题 算法、数据结构和程序有什么关系? 什么是算法,它所包含的两要素是什么? 算法的控制结构有哪些形式? 算法的表述有几种方式? 什么是数据结构,它所研究的内容包括几方面? 线性数据结构和非线性数据结构有主要区别是什么,它们各包括哪些数据结构
文档评论(0)