文档章节

数据结构-文件

如比如比
 如比如比
发布于 2018/09/07 06:57
字数 1873
阅读 11
收藏 0

数据结构-文件

 

在数据处理方面,特别是事务型的软件编制工作中,都涉及到有关文件的知识。有效地组织数据,提供方便而又高效地利用数据信息的方法,是文件这一章所要讨论的内容。尽管数据管理技术早已从文件系统发展到数据库系统,但因为文件系统是数据库系统的基础,从专用、高效和系统软件研制角度看,文件系统仍有其不可取代的地位。正如高级语言出现后,汇编语言仍是软件研制的重要工具一样。

 

文件概念

1.文件概念

文件(File)是性质相同的记录的集合。

注意:

①文件的数据量通常很大,被放置在外存上。

②数据结构中讨论的文件主要是数据库意义上的文件,不是操作系统意义上的文件。

③操作系统中研究的文件是一种的复杂结构连续字符序列,记录性质可能不相同。数据库中所研究的文件基本上是单一结构的记录集合,每个记录可由若干个数据项构成。

 

记录是文件中存取的基本单位,数据项是文件可使用的最小单位。数据项有时也称为字段(Field),或者称为属性(Attribute)

 

其值能惟一标识一个记录的数据项或数据项的组合称为主关键字项。其它不能惟一标识一个记录的数据项则称为次关键字项。主关键字项(或次关键字项)的值称为主关键字(或次关键字)。

 

为讨论方便起见,一般不严格区分关键字项和关键字。即在不易混淆时,将主(或次)关键字项简称为主(或次)关键字,并且假定主关键字项只含一个数据项。

 

【例】下表是一个简单的职工文件。每个职工情况是一个记录,它由7个数据项组成。其中"职工号"可作为主关键字项,它能惟一标识一个记录,即它的值对任意两个记录都是不同的。姓名、性别等数据只能作为次关键字项,因为它们的值对不同的记录可以是相同的。

 

 

2.文件分类

(1)单关键字文件和多关键字文件

文件可以按照记录中关键字的多少,分成单关键字文件和多关键字文件。

① 单关键字文件

文件中的记录只有一个惟一标识记录的主关键字。

② 多关键字文件

文件中的记录除了含有一个主关键字外,还含有若干个次关键字的文件。

 

(2)定长文件和不定长文件

① 由定长记录组成的文件称做定长文件

含有的信息长度相同的记录称定长记录。

② 文件中记录含有的信息长度不等,则称其为不定长文件。

【例】上表所示的职工文件是一个定长文件。

 

文件的逻辑结构及操作

1.文件的逻辑结构

文件可看成是以记录为数据元素的一种线性结构。

2.文件上的操作主要有两类:检索和维护。

 

(1)检索

检索即在文件中查找满足给定条件的记录。它既可以按记录的逻辑号(即记录存入文件时的顺序编号)查找,也可以按关键字查找。按检索条件的不同,可将检索分为四种询问:

①简单询问:只询问单个关键字等于给定值的记录。

【例】下表的职工文件中,查询职工号=447,或姓名="张珊"的记录。

 

②范围询问:只询问单个关键字属于某个范围内的所有记录。

【例】下表的职工文件中,查询工资>2100的所有职工的记录。

 

③函数询问:规定单个关键字的某个函数,询问该函数的某个值。

【例】下表的职工文件,查询全体职工的平均工资是多少。

 

④布尔询问:以上三种询问用布尔运算(与、或、非)组合起来的询问。

【例】下表的职工文件中,要找出所有工资低于2100的程序员以及所有工资低于5120的分析员,查询条件是:(职务="程序员")and(工资<2100)or(职务="分析员")and(工资<5120)

 


 

(2)维护操作

维护操作主要是指:

① 对文件进行记录的插入、删除及修改等更新操作。

② 为提高文件的效率,进行再组织操作,

③ 文件被破坏后的恢复操作,以及文件中数据的安全保护等。

 

(3)文件操作的处理方式

文件上的检索和更新操作,都可有实时和批量两种不同的处理方式。

① 实时处理:响应时间要求严格,要求在接受询问后几秒种内完成检索和更新。

② 批量处理:响应时间要求宽松一些,不同的文件系统有不同的要求。

【例】一个民航订票系统,其检索和更新都应当实时处理;而银行的账户系统需要实时检索,但可进行批量更新,即可以将一天的存款和提款记录在一个事务文件上,在一天的营业之后再进行批量处理。

 

文件的存储结构(亦称物理结构)

 

1.文件的存储结构

文件的存储结构是指文件在外存上的组织方式。

文件在外存上的基本的组织方式有四种:顺序组织,索引组织,散列组织和链组织;

对应的的文件名称分别为:顺序文件、索引文件、散列文件和多关键字文件。

文件组织的各种方式往往是这四种基本方式的结合。

 

2.文件组织方式的选择

选择哪一种文件组织方式,取决于对文件中记录的使用方式和频繁程度、存取要求、外存的性质和容量。

 

注意:

常用外存设备有:

①磁带是顺序存取设备,只适用于存储顺序文件。

②磁盘是直接存取设备,适用于存储顺序文件、索引文件、散列文件和多关键字文件等。

 

3.文件组织效率的评价标准

评价一个文件组织的效率,是执行文件操作所花费的时间和文件组织所需的存储空间。通常文件组织的主要目的,是为了能高效、方便地对文件进行操作,而检索功能的多寡和速度的快慢,是衡量文件操作质量的重要标志,因此,如何提高检索的效率,是研究各种文件组织方式首先要关注的问题。

© 著作权归作者所有

上一篇: OLLYDBG
如比如比
粉丝 126
博文 178
码字总数 286951
作品 0
日本
程序员
私信 提问
oracle体系结构之数据库结构

oracle体系结构之数据库结构 oracle数据库包含两个组成部分:数据库和实例 数据库(database):特指存储数据和相关对象的一系列物理文件。 实例(instance):特指一系列操作系统进程和它管...

i33
2012/11/02
104
0
九妹带你了解oracle

一.oracle 体系架构 Oracle的体系结构是数据库的组成,工作过程,以及数据库中数据的组织与管理机制,要了解oracle数据库的体系结构,就必须要理解oracle的主要组件和重要的概念。Oracle体系...

暖暖miss
2017/04/27
0
0
实用案例 - SqlServer数据库数据无法读取解决方法

1、数据库故障概述 SQL server数据库的数据无法被读取。 2、故障分析 SQL server数据库文件无法被读取,是由于底层File Record被截断为0,无法找到文件开头,数据表结构也被损坏。镜像文件的...

宋国建
2018/05/02
0
0
  iOS dSYM文件结构剖析(上)

  在iOS App开发过程中,我们会利用Xcode打包,生成.xcarchive的包文件,通过Xcode的Organizer工具可以管理、导出发布文件,相信iOS开发对于这些过程都相当的熟悉,这里就不再赘述。主要想...

TestinAPM
2015/08/09
585
1
手撸一个安装包制作工具(4) --解压

在开写解压代码之前,我们要先知道尾部数据的位置: 我本来是准备直接写入尾部一个区段, 然后在区段中设置大小或Flags来确定是否自己添加的.(和NSIS一样) 但是在这里, 为了方便, 我选择直接写入...

codetask
2016/08/01
98
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
253
5
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部