10.1 常见的文件组织方式有哪几种?各有何特点? 文件上的操作有哪几种? 如何评价文件组织的效率?
答:
常用的文件组织方式有:顺序文件、索引文件、散列文件和多关键字文件。
●顺序文件的特点是,它是按记录进入文件的先后顺序存放,其逻辑结构和物理顺序是一致的。
●索引文件的特点是,在主文件之外还另外建立了一张表,由这张表来指明逻辑记录和物理记录之间的一一对应关系。索引文件在存储器上分为两个区:索引区和数据区,前者存放索引表,后者存放主文件。
●散列文件是利用散列存储方式组织的,它类似于散列表,即根据文件中关键字的特点,设计一个散列函数和处理冲突的方法,将记录散列到存储设备上,对于散列文件,磁盘上的文件记录通常是成组存放的。
●多关键字文件则包含有多个次关键索引的,不同于前述几种文件,只含有一个主关键字。
文件的操作有两种:检索和维护 。
评价一个文件组织的效率,是执行文件操作(如查找、删除等)所花费的时间和文件组织所需的存储空间。
10.2 索引文件、散列文件和多关键字文件适合存放在磁带上吗?为什么?
答:
这几种文件不适合存放在磁带上。因为磁带是一种顺序存储器,在其上存放的数据只能按顺序存取,而索引文件,散列文件和多关键字文件等均不能只通过顺序存取就能够完成文件的各种操作。因此上述文件适合于存放在磁盘上。磁带则适合于存放顺序文件。
10.3 设有一个职工文件,其记录格式为(职工号、姓名、性别、职务、年龄、工资)。其中职工号为关键字,并设该文件有如下五个记录:
地址 职工号 姓名 性别 职务 年龄 工资
A 39 张恒珊 男 程序员 25 3270
B 50 王莉 女 分析员 31 5685
C 10 季迎宾 男 程序员 28 3575
D 75 丁达芬 女 操作员 18 1650
E 27 赵军 男 分析员 33 6280
(1)若该记录为顺序文件,请写出文件的存储结构;
(2)若该文件为索引顺序文件,请写出索引表;
(3)若该文件为倒排序文件,请写出关于性别的倒排表和关于职务的倒排表。
答:
(1)这个结构就是把五个记录依次排列起来。形成线性结构。
(2)索引表如下:
职工号(关键字) 地址
10 C
27 E
39 A
50 B
75 D
(3)倒排序文件:
关于性别的倒排表如下:
次关键字(性别) 地址
男 A C E
女 B D
关于职务的倒排表如下:
次关键字(职务) 地址
程序员 A C
分析员 B E
操作员 D
10.4 在上题所述的文件中,对下列检索写出检索条件的表达式,并写出结果记录的职工号。
(1)男性职工
(2)工资超过平均工资的职工;
(3)职务为程序员和分析员的职工;
(4)年龄超过25岁的男性程序员或分析员;
答:
(1) 性别="男"
结果记录的职工号为10、27、39。
(2) 工资>(A->工资+B->工资+C->工资+D->工资+E->工资)/5
结果为50、27
(3)(职务="程序员")or(职务=="分析员")
结果为10、27、39、50.
(4)(年龄>25)and(性别="男")and((职务="程序员")or(职务="分析员"))
结果为:10、27。
10.6B+树和B-树的主要差异是什么?
答:
一棵m阶的B+树和m阶的B-树的差异是:
①有k个孩子的结点必有k个关键字;
②所有的叶结点,包含了全部关键字的信息及指向相应的记录的指针,且叶子结点本身依照关键字的大小,自小到大顺序链接;
③上面各层结点中的关键字,均是下一层相应结点中最大关键字的复写(当然也可采用"最小关键字复写"的原则),因此,所有非叶结点可看作是索引部分。