第9章文件 本章中介绍下列主要内容: 文件的基本概念 ●常用的文件操作 ●文件的组织结构以及文件的不同组织方式的特点 西加大学数学与信息学院
ぜ9【 ᪷Ц ᴀゴЁҟ㒡ϟ߫Џ㽕ݙᆍ˖ l ᭛ӊⱘᴀὖᗉ l ᐌ⫼ⱘ᭛ӊ᪡ l ᭛ӊⱘ㒘㒛㒧ᵘҹঞ᭛ӊⱘϡৠ㒘㒛ᮍᓣⱘ⡍⚍ ߎ䗔
9Ⅰ文件的基本概念 92文件的操作 93文件的组织 西加大学数学与信息学院
9.1 ᭛ӊⱘᴀὖᗉ 9.2 ᭛ӊⱘ᪡ 9.3 ᭛ӊⱘ㒘㒛
91文件的基本概念 文件文件是存储在外部介质上的由大量性质相同 的记录组成的集合。按其记录的类型不同可以分为两 类:程序文件和数据文件。 程序文件是一维的、连续的、无结构的字符序 列,可以看成是由一条无结构的记录组成的文件。 数据文件是带有结构的、性质相同的记录的集 每个记录由若干个数据项组成,数据项是最基本 的不可分割的数据单位,也是文件中可以操作的最小 数据单位。本章介绍的就是数据文件的组织结构及其 处理方式 西加大学数学与信息学院 网
9.1 ᭛ӊⱘᴀὖᗉ ᭛ӊ ᭛ӊᰃᄬټ䚼ҟ䋼Ϟⱘ⬅䞣ᗻ䋼Ⳍৠ ⱘ䆄ᔩ㒘៤ⱘ䲚ড়DŽᣝ݊䆄ᔩⱘ㉏ൟϡৠৃҹߚЎϸ ㉏˖ᑣ᭛ӊ᭄᭛ӊDŽ ᑣ᭛ӊᰃϔ㓈ⱘǃ䖲㓁ⱘǃ᮴㒧ᵘⱘᄫヺᑣ ߫ˈৃҹⳟ៤ᰃ⬅ϔᴵ᮴㒧ᵘⱘ䆄ᔩ㒘៤ⱘ᭛ӊDŽ ᭄᭛ӊᰃᏺ᳝㒧ᵘⱘǃᗻ䋼Ⳍৠⱘ䆄ᔩⱘ䲚 ড়DŽ↣Ͼ䆄ᔩ⬅㢹ᑆϾ᭄乍㒘៤ˈ᭄乍ᰃ᳔ᴀ ⱘϡৃࡆߚⱘ᭄ऩԡˈгᰃ᭛ӊЁৃҹ᪡ⱘ᳔ᇣ ᭄ऩԡDŽᴀゴҟ㒡ⱘህᰃ᭄᭛ӊⱘ㒘㒛㒧ᵘঞ݊ ໘⧚ᮍᓣDŽ
关键字能够标识文件中记录的数据项称为关键 字,能够唯一标识记录的关键字称为主关键字,否则 为次关键字。 记录的逻辑结构是指文件的记录在用户或应用程 序员面前逞现的方式,是对数据间的客观联系的一种 表示,是用户对数据的存取方式。 记录的物理结构是指文件中的记录在物理存储介 质上的存储方式,是数据的物理表示和组织。根据不 同的需要、设备本身的特性及操作系统中的文件系 统,记录的物理结构可以有不同的表示和组织方法。 物理记录是计算机用一条ⅣO命令进行读写的基本 数据单位,对于确定的设备和操作系统,它的大小基 本上是固定不变的。 西加大学数学与信息学院
݇䬂ᄫ 㛑ᷛ䆚᭛ӊЁ䆄ᔩⱘ᭄乍⿄Ў݇䬂 ᄫˈ㛑ଃϔᷛ䆚䆄ᔩⱘ݇䬂ᄫ⿄ЎЏ݇䬂ᄫˈ৺߭ Ў݇䬂ᄫDŽ 䆄ᔩⱘ䘏䕥㒧ᵘ ᰃᣛ᭛ӊⱘ䆄ᔩ⫼᠋ᑨ⫼ ᑣਬ䴶ࠡ䗲⦄ⱘᮍᓣˈᰃᇍ᭄䯈ⱘᅶ㾖㘨㋏ⱘϔ⾡ 㸼⼎ˈᰃ⫼᠋ᇍ᭄ⱘᄬপᮍᓣDŽ 䆄ᔩⱘ⠽⧚㒧ᵘ ᰃᣛ᭛ӊЁⱘ䆄ᔩ⠽⧚ᄬټҟ 䋼Ϟⱘᄬټᮍᓣˈᰃ᭄ⱘ⠽⧚㸼⼎㒘㒛DŽḍϡ ৠⱘ䳔㽕ǃ䆒ᴀ䑿ⱘ⡍ᗻঞ᪡㋏㒳Ёⱘ᭛ӊ㋏ 㒳ˈ䆄ᔩⱘ⠽⧚㒧ᵘৃҹ᳝ϡৠⱘ㸼⼎㒘㒛ᮍ⊩DŽ ⠽⧚䆄ᔩ ᰃ䅵ㅫᴎ⫼ϔᴵI/OੑҸ䖯㸠䇏ݭⱘᴀ ᭄ऩԡˈᇍѢ⹂ᅮⱘ䆒᪡㋏㒳ˈᅗⱘᇣ ᴀϞᰃᅮϡবⱘDŽ
物理记录与逻辑记录的关系物理记录与逻辑记录 之间有三种可能的关系,分别为一个物理记录中存放 个逻辑记录、一个物理记录中存放多个逻辑记录、 多个逻辑记录存储于一个物理记录中。 文件的存取文件存储在外部介质上,所以对文件 的存取要通过访问外存储介质来实现。外存储介质的 共同特点是存储容量大,存取速度慢。以目前使用最 为广泛的磁盘存储器为例,读写磁盘上的信息,首先 要经过选定柱面、选定磁道、选定扇区(即物理记 录)三步机械定位动作,然后才能通过磁头读写盘片 上的信息。 西加大学数学与信息学院
⠽⧚䆄ᔩϢ䘏䕥䆄ᔩⱘ݇㋏ ⠽⧚䆄ᔩϢ䘏䕥䆄ᔩ П䯈᳝ϝ⾡ৃ㛑ⱘ݇㋏ˈ߿ߚЎϔϾ⠽⧚䆄ᔩЁᄬᬒ ϔϾ䘏䕥䆄ᔩǃϔϾ⠽⧚䆄ᔩЁᄬᬒϾ䘏䕥䆄ᔩǃ Ͼ䘏䕥䆄ᔩᄬټѢϔϾ⠽⧚䆄ᔩЁDŽ ᭛ӊⱘᄬপ ᭛ӊᄬټ䚼ҟ䋼Ϟˈ᠔ҹᇍ᭛ӊ ⱘᄬপ㽕䗮䖛䆓䯂ᄬټҟ䋼ᴹᅲ⦄DŽᄬټҟ䋼ⱘ ݅ৠ⡍⚍ᰃᄬټᆍ䞣ˈᄬপ䗳ᑺ᜶DŽҹⳂࠡՓ⫼᳔ Ўᑓ⊯ⱘ⺕Ⲭᄬټ఼Ў՟ˈ䇏ݭ⺕ⲬϞⱘֵᙃˈ佪ܜ 㽕㒣䖛䗝ᅮ᷅䴶ǃ䗝ᅮ⺕䘧ǃ䗝ᅮऎ˄े⠽⧚䆄 ᔩ˅ϝℹᴎẄᅮԡࡼৢ✊ˈᠡ㛑䗮䖛⺕༈䇏ݭⲬ⠛ ϞⱘֵᙃDŽ
此外,主机对外存储介质上的数据不能直接进行存 取,要读取外存储介质上的数据,首先要通过通道把 数据读到内存的一个指定区域(缓冲区)中,然后从 缓冲区中读取有关的数据。写操作的过程则相反,先 将内容写到缓冲区中,然后通过通道将缓冲区中的数 据写到外存储介质上。外存储介质上的数据存取时间 往往比主机对数据进行处理的时间花费大,所以对外 存储介质上的数据处理常常以访问外存储介质次数的 多少作为衡量其数据结构及其算法质量的标准。节省 存取时间的有效方法是:在每次访问外存储介质时 传送批量的数据,从而减少访问外存储介质的次数。 西加大学数学与信息学院
ℸˈЏᴎᇍᄬټҟ䋼Ϟⱘ᭄ϡ㛑Ⳉ䖯㸠ᄬ পˈ㽕䇏পᄬټҟ䋼Ϟⱘ᭄ˈ佪ܜ㽕䗮䖛䗮䘧ᡞ ᭄䇏ݙࠄᄬⱘϔϾᣛᅮऎඳ˄㓧ކऎ˅Ёˈ✊ৢҢ 㓧ކऎЁ䇏প᳝݇ⱘ᭄DŽݭ᪡ⱘ䖛߭Ⳍডˈܜ ᇚݙᆍࠄݭ㓧ކऎЁˈ✊ৢ䗮䖛䗮䘧ᇚ㓧ކऎЁⱘ᭄ ࠄݭᄬټҟ䋼ϞDŽᄬټҟ䋼Ϟⱘ᭄ᄬপᯊ䯈 ᕔᕔ↨Џᴎᇍ᭄䖯㸠໘⧚ⱘᯊ䯈㢅䌍ˈ᠔ҹᇍ ᄬټҟ䋼Ϟⱘ᭄໘⧚ᐌᐌҹ䆓䯂ᄬټҟ䋼᭄ⱘ ᇥЎ㸵䞣᭄݊㒧ᵘঞ݊ㅫ⊩䋼䞣ⱘᷛޚDŽ㡖ⳕ ᄬপᯊ䯈ⱘ᳝ᬜᮍ⊩ᰃ˖↣䆓䯂ᄬټҟ䋼ᯊˈ Ӵ䗕ᡍ䞣ⱘ᭄ˈҢ㗠ޣᇥ䆓䯂ᄬټҟ䋼ⱘ᭄DŽ
92文件的操作 在这里讲述的文件操作主要是指对文件中数据的 操作。其基本操作有:文件的读操作和写操作,这两 种操作与具体的设备及操作系统有关,在此我们假定 有专门的程序完成其功能。除此之外,还可以对文件 进行检索和修改。 西加大学数学与信息学院
9.2 ᭛ӊⱘ᪡ 䖭䞠䆆䗄ⱘ᭛ӊ᪡Џ㽕ᰃᣛᇍ᭛ӊЁ᭄ⱘ ᪡DŽ݊ᴀ᪡᳝˖᭛ӊⱘ䇏᪡ݭ᪡ˈ䖭ϸ ⾡᪡Ϣԧⱘ䆒ঞ᪡㋏㒳᳝݇ˈℸ៥Ӏ؛ᅮ ᳝ϧ䮼ⱘᑣᅠ៤݊ࡳ㛑DŽ䰸ℸПˈ䖬ৃҹᇍ᭛ӊ 䖯㸠Ẕ㋶ׂᬍDŽ
1.文件的检索 文件的检索有下列三种方式 顺序存取:存取下一个每个记录。 随机存取:存取第诠个逻辑记录。 按关键字存取:査询一个或一批关键字与给定值 相关的记录。 2.文件的修改 文件的修改操作包括插入一条记录、删除一条记 录和更新一条记录三种操作。 西加大学数学与信息学院
1ˊ᭛ӊⱘẔ㋶ ᭛ӊⱘẔ㋶᳝ϟ߫ϝ⾡ᮍᓣ˖ 乎ᑣᄬপ˖ᄬপϟϔϾ↣Ͼ䆄ᔩDŽ 䱣ᴎᄬপ˖ᄬপiϾ䘏䕥䆄ᔩDŽ ᣝ݇䬂ᄫᄬপ˖ᶹ䆶ϔϾϔᡍ݇䬂ᄫϢ㒭ᅮؐ Ⳍ݇ⱘ䆄ᔩDŽ 2ˊ᭛ӊⱘׂᬍ ᭛ӊⱘׂᬍ᪡ࣙᣀᦦܹϔᴵ䆄ᔩǃߴ䰸ϔᴵ䆄 ᔩᮄϔᴵ䆄ᔩϝ⾡᪡DŽ
93文件的组织 文件在存储介质(如磁盘或磁带)上的组织方式 称为物理结构。常用的文件组织方式有三种基本形 式:顺序组织、随机组织和链组织。 西加大学数学与信息学院
9.3 ᭛ӊⱘ㒘㒛 ᭛ӊᄬټҟ䋼˄བ⺕Ⲭ⺕ᏺ˅Ϟⱘ㒘㒛ᮍᓣ ⿄Ў⠽⧚㒧ᵘDŽᐌ⫼ⱘ᭛ӊ㒘㒛ᮍᓣ᳝ϝ⾡ᴀᔶ ᓣ˖乎ᑣ㒘㒛ǃ䱣ᴎ㒘㒛䫒㒘㒛DŽ
1.顺序文件 顺序文件的记录是按其在文件中的逻辑顺序依次 存入存储介质的。它是一种顺序组织方式。 由于顺序文件中记录的物理次序与逻辑次序是 致的,所以适宜于顺序存取(即存取一个记录之后接 着存取其后继记录)和批量处理。但是对顺序文件中 记录的随机存取效率很低。 西加大学数学与信息学院
1ˊ乎ᑣ᭛ӊ 乎ᑣ᭛ӊⱘ䆄ᔩᰃᣝ݊᭛ӊЁⱘ䘏䕥乎ᑣձ ᄬܹᄬټҟ䋼ⱘDŽᅗᰃϔ⾡乎ᑣ㒘㒛ᮍᓣDŽ ⬅Ѣ乎ᑣ᭛ӊЁ䆄ᔩⱘ⠽⧚ᑣϢ䘏䕥ᑣᰃϔ 㟈ⱘˈ᠔ҹ䗖ᅰѢ乎ᑣᄬপ˄ेᄬপϔϾ䆄ᔩПৢ ⴔᄬপ݊ৢ㒻䆄ᔩ˅ᡍ䞣໘⧚DŽԚᰃᇍ乎ᑣ᭛ӊЁ 䆄ᔩⱘ䱣ᴎᄬপᬜ⥛ᕜԢDŽ