文件的逻辑结构总结

来源:互联网 发布:opta数据查询 编辑:程序博客网 时间:2024/06/07 06:16

文件的逻辑结构总结

@(OS)

逻辑结构:从用户观点出发看到的文件的组织形式,是用户可以直接处理的数据及其结构。独立于文件的物理特性。也称为文件组织。
物理结构:从实现的角度出发,OS看到的文件的存储结构。是文件在外存上的存储组织形式。不仅与存储介质的存储性能有关,也与所采用的外存分配方式有关。

无论是文件的逻辑结构还是物理结构都会影响文件的检索速度。

这里首先关注逻辑结构:实际上讲的就是在文件的内部,逻辑上数据是如何被组织起来的。
根据逻辑结构,文件可以分为两个大类:无结构文件有结构文件

无结构文件

最简单的文件组织形式。将数据按照顺序组织成记录(记录指的是一组相关数据项的集合)并积累保存,是有序相关信息项的集合。以字节为单位。对记录的搜索只能是穷举搜索。适用于存储源代码,目标代码等。

有结构文件

也可称之为记录式文件。分为顺序文件和索引文件。记录可以定长也可以变长。可以顺序存储也可以链表离散存储。

顺序文件

通常是定长记录,但也可以是变长记录

这个类别下也分为两个子类。串结构和顺序结构。
串结构:记录之间的顺序与关键字(选取的特别的数据项标识记录)无关。通常由时间决定。
顺序结构:文件中的所有记录按照关键字顺序排列
对记录进行批量操作时,即每次需要读or写一大批记录,对顺序文件的效率最高。

索引文件

主要是针对变长记录的文件。为什么呢。首先,如果记录式定长的,则可以通过:
Ai=i×L,iLAi

这种计算本身并不耗时,因此,不必特别加以索引。那么就该问,变长的记录为何要用索引呢?
答案是,变长的记录无法通过上面的计算推导。只能顺序查找,所以系统开销极大。

所以建立索引表就势在必行了。
索引表本身是定长记录的文件。
每一个索引项指明了该记录的长度。

索引顺序文件

顺序和索引两种组织的结合。即:用索引的方式索引顺序文件。 这是被我忽略了的。可以这么理解:顺序文件通常是定长记录,索引针对的是变长记录。如果结合起来会有什么好处呢?
具体实施是:并非为每个记录建立一个索引,这样太浪费了,而是为一组记录中的第一个记录设置一个表项。

索引文件由逻辑文件和索引表组成。

分析:文件的逻辑结构和物理结构都有索引的概念。逻辑索引的目的是加快文件数据的定位,从用户角度出发。物理索引的主要目的是为了管理不连续的物理块,从系统管理的角度出发。

对索引文件存取,必须查找索引表。索引表项包含每个记录的长度和在逻辑文件中的起始位置。每个记录都有一个索引项,提高了存储的代价。

文件由N个记录,则顺序文件下平均查找N2次,索引顺序文件下最好的平均查找次数是N次。

分析:顺序文件自然不必说,就是求一个期望,严格来说是N+12, 索引文件对索引项也是顺序查找,对分组的记录也是顺序查找。为什么一组记录数是N最好,这就要根据2aba2+b2,当且仅当a=b时取得极值。这里也是一样。共N组,平均查找N2次,找到组后,再平均查找次数是N2,共N次。

20161223 update :

简单来说索引文件就是对基本的每个逻辑记录添加索引项,像目录一样,可以查找目录进行随机访问。虽然不同于顺序存储的方式,但本质都是可以通过数学计算得到。顺序文件很常见,就是按照顺序分配存储即可。而索引顺序文件呢是对用索引的方式操作顺序文件,对每一组进行索引。

一般说顺序文件,在定长记录时才能够随机访问,索引不受这个限制。
也说明了,顺序文件可以存储非定长记录。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机设置蜜码小孩都能破解该怎么办 拍到了上海车牌不想买车了怎么办 买车4s店不给临时车牌怎么办 百度云谣绑定的邮箱被绑定了怎么办 百度网盘分享的视频打不开怎么办 在赶集网登录时忘记验证码该怎么办 支付宝绑定的手机号是空号了怎么办 微信聊天后电话号码重复是怎么办 老婆在外省工作不回到我身边怎么办 知道扣扣号怎样盗取他的密码怎么办 喜欢养猫又怕猫破坏家里怎么办 约她她每次都找借口怎么办? 遇到总是找借口不还钱的人怎么办 装修好了业主找借口不给钱怎么办 荒野行动手机换了帐号登不上怎么办 换新手机后微信头像都没有了怎么办 苹果系统维护换不了微信头像怎么办 系统通知栏不显示qq图标怎么办 快递号码写错了而且发货了怎么办 包裹遗忘在郑州东站安检口了怎么办 锁书包的锁头钥匙全掉了怎么办 平板电脑恢复出厂设置变英语怎么办 给国外银行汇款账号写错账号怎么办 顺丰快递暴力运输产品坏了怎么办 亚航订机票名字少写一个字母怎么办 如果淘宝付款七天内不发货怎么办 浪琴手表调了一下日期不走了怎么办 收件人号码写错快递柜已签收怎么办 医院名字写错了怎么办保险报销 电脑在使用中出现了英文字慕怎么办 下雨天了怎么办我好想你是什么歌 安卓手机不支持微信运动怎么办 装系统时无法跳过密匙怎么办 在msdn里下的系统没有网怎么办 w7电脑更新后系统没法激活怎么办 手机使用加速器后网速变卡怎么办 奥特曼ol分解了迪迦石像怎么办 左右棋牌游戏兑换总说系统护怎么办 四季海棠扦插以后黄叶卷叶怎么办 竹节海棠浇水多了叶子蔫了怎么办 社保停缴了里面的钱怎么办