14
中中中中中中中中 1 [email protected] 中中中 中中 10.1 中中 10.2 中中中中 10.3 中中中中 10.4 中中 中中中 中中 () 10.5 中中中中中中

第十章 文件

  • Upload
    vinaya

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

第十章 文件. 10.1 概述 10.2 顺序文件 10.3 索引文件 10.4 哈希(散列)文件 10.5 多关键码文件. 10.1 概述. 文件存储结构分类: 顺序结构:物理存放顺序与逻辑顺序一致; 索引结构:为数据文件建立索引; 哈希文件:通过计算确定记录存储位置; 表结构:类似于线性表的链表存储结构. 10.2 顺序文件. 顺序文件的记录物理顺序和逻辑顺序完全一致。 10.2.1 存储在顺序存储器上的文件 只能顺序读取,存储需要重新复制 一般对更新积累,使用批处理 10.2.2 存储在直接存储设备上的文件 可以随机存取和修改 - PowerPoint PPT Presentation

Citation preview

中国科学技术大学 [email protected]

第十章 文件10.1 概述10.2 顺序文件10.3 索引文件 10.4 哈希(散列)文件10.5 多关键码文件

中国科学技术大学 [email protected]

10.1 概述文件存储结构分类:• 顺序结构:物理存放顺序与逻辑顺序一致;• 索引结构:为数据文件建立索引;• 哈希文件:通过计算确定记录存储位置;• 表结构:类似于线性表的链表存储结构

中国科学技术大学 [email protected]

10.2 顺序文件• 顺序文件的记录物理顺序和逻辑顺序完全一致。• 10.2.1 存储在顺序存储器上的文件

– 只能顺序读取,存储需要重新复制– 一般对更新积累,使用批处理

• 10.2.2 存储在直接存储设备上的文件– 可以随机存取和修改– 对于插入,可以采用页块预留空间方法或附加文件方法

– 对于删除,采用打标记再统一整理的方式

中国科学技术大学 [email protected]

10.3 索引文件• 索引文件由“索引”和“主文件”构成;• 索引有索引项构成,每个索引项包含关键码和

物理记录的位置;• 索引顺序文件:主文件记录按关键码有序;• 索引文件:主文件记录不按关键码有序;

中国科学技术大学 [email protected]

10.3.1 B树m 阶 B 树中: 每个结点至多 m 颗子树 除根以外的所有非叶子结点至少有 [m/2] 颗子树,

根节点若非叶子结点,则至少有两个子树。 所有非叶子结点中含有如下信息:

( n,A0,(K1,D1), A1,(K2,D2),… …An-1,(Kn,Dn), An )n :该结点关键字(索引项)数目(Ki,Di) 索引项, Ki 关键字, Di 物理记录指针Ai 子树指针 ( [m/2]-1≤n ≤m-1)

所有的叶子结点都在同一层次,且不含任何信息。

中国科学技术大学 [email protected]

4 阶 B 树1 35

2 43 781 18

1 11 1 27 1 39 3 47 53 64 1 99

F F F F F F F F F F F F

红色虚线查找 24 ,绿色虚线查找 53

中国科学技术大学 [email protected]

10.3.2 B+树 树中每个叶子结点含有 n 个索引项( n 个关键字和

n 个指向记录的指针) ; 所有叶子结点彼此相链接构成一个有序表,该有序表的头指针指向最小关键码的结点;

每个非叶子结点中的关键码 Ki 是其相应指针 Ai 所指子树的索引项,即该关键码为该子树中关键码的最大值,含有如下信息: ((K1,A1), (K2,A2),… (Kn,An))Ki 关键字, Ai 子树指针

m 阶 B+ 树每个结点至多 m 个关键码( m 颗子树),除根节点至少含有两个关键码外,其余节点包含至少 [m/2] 个关键码,所有的叶子结点都在同一层次,且不含任何信息。( [m/2] ≤n ≤m)

中国科学技术大学 [email protected]

4 阶 B+ 树50 96

62 78 9615 50

3 8 20 43 56 62 71 78 84 89

红色虚线查找 24 ,绿色虚线查找 78

15 96 ^5026

中国科学技术大学 [email protected]

10.4 哈希文件• 哈希文件由很多桶构成,桶编号即为哈希函数

的映射地址,每个桶中可以有多个页块,使用链表链接;

• 存放每个记录的空间称子块,在页块的首部为每个子块设置二进制闲满标志,每个页块尾部设置指向下个页块的指针;

• 哈希文件桶数量的设置可以遵循以下规则:m=n/w

其中 n 是记录数, w 是每个页块可以存储的记录数, m 是哈希文件的桶数目

中国科学技术大学 [email protected]

10.5 多关键码文件• 10.5.1 倒排文件 学号 姓名 系别 选修课程名 学分 成绩9801 王 强 6 证券投资 2 优9802 赵 实 7 电脑音乐 1 良9803 刘 烨 6 摄影艺术 1 良9804 叶 琳 6 金融保险 2 中9805 田华民 7 摄影艺术 1 优9806 陈小红 7 摄影艺术 1 中9807 王玲玲 6 电脑音乐 1 良9808 刘建平 6 金融保险 2 良9809 张 立 6 电脑音乐 1 优9810 李 韦 7 金融保险 2 中9811 叶 琪 7 电脑音乐 1 良… …

中国科学技术大学 [email protected]

电脑音乐 9802 , 9807 , 9809 , 9811

金融保险 9804 , 9808 , 9810

摄影艺术 9803 , 9805 , 9806

投资证券 9801

选课倒排表

优 9801 , 9805 , 9809

良 9802 , 9803 , 9807 , 9808 , 9811

中 9804 , 9806 , 9810

选课成绩倒排表

中国科学技术大学 [email protected]

1 9802 , 9803 , 9805 , 9806 , 9807 , 9809 , 9811

2 9801 , 9804 , 9808 , 9810

学分倒排表

6 9801 , 9803 , 9804 , 9807 , 9808 , 9809

7 9802 , 9805 , 9806 , 9810 , 9811

系别倒排表

中国科学技术大学 [email protected]

10.5.2 索引链接文件地址 学号 姓名 系别 选修课程名 学分 成绩100 9801 王 强 6 证券投资 0 2 优 104

101 9802 赵 实 7 电脑音乐 106 1 良 102

102 9803 刘 烨 6 摄影艺术 104 1 良 106

103 9804 叶 琳 6 金融保险 107 2 中 105

104 9805 田华民 7 摄影艺术 105 1 优 108

105 9806 陈小红 7 摄影艺术 0 1 中 109

106 9807 王玲玲 6 电脑音乐 108 1 良 107

107 9808 刘建平 6 金融保险 109 2 良 110

108 9809 张 立 6 电脑音乐 110 1 优 0

109 9810 李 韦 7 金融保险 0 2 中 0

110 9811 叶 琪 7 电脑音乐 0 1 良 0

… …

中国科学技术大学 [email protected]

选修课程 链头地址 长度电脑音乐 101 4

金融保险 103 3

摄影艺术 102 3

投资证券 100 1

选课链头索引 成绩 链头地址 长度优 100 3

良 101 5

中 103 2

成绩链头索引