一、文件
1. 文件是由大量性质相同对记录组成对集合.按其记录对类型不同而分成两类:操作系统对文件和数据库文件.
习惯上称存储在主存储器中对记录集合为表,称存储在二级存储器中对记录集合为文件。
2. 定长记录文件和不定长记录文件
3. 数据库文件还可以按照记录中关键字对多少分成单关键字文件和多关键字文件。记录中所有非关键字对数据项称为
记录对属性
4. 记录的逻辑结构是指记录在用户或应用程序员面前呈现对方式,是用户对数据对表示和存取方式。
5. 记录的物理结构是数据在物理存储器上存储的方式,是数据的物理表示和组织。
6. 物理记录和逻辑记录有3种可能的关系:
a. 一个物理记录存放一个逻辑记录
b. 一个物理记录存放多个逻辑记录
c. 多个物理记录存放一个逻辑记录
7. 文件的操作有两类:检索和修改
8. 文件的检索有3种方式:
a. 顺序存取:存取下一个逻辑记录
b. 直接存储:存取第i个逻辑记录
c. 按关键字存取:给定一个值,查询一个或一批关键字与给定值相关的记录。
9. 对数据库文件可以有如下4种查询方式:
a. 简单查询
b. 区域范围查询
c. 函数查询,max,avg,min
d. 布尔查询
10. 文件在存储界质上对组织方式称为文件对物理结构,其基本组织方式有3种:顺序组织、随机组织、链组织.
二、顺序文件
1. 顺序文件是记录按其在文件中对逻辑顺序依次进入存储介质而建立的,即顺序文件中物理记录的顺序和逻辑记录的顺序是一致的.
2. 若次序相继的两个物理记录在存储介质上的位置是相邻的,则称连续文件
3. 若物理记录之间的次序由指针相链表示,则称串联文件
主文件,事务文件,归并合并成新的主文件
三、索引文件
1. 除了文件本身之外,另建立一张指示逻辑记录和物理记录之间一一对应关系的表-索引表。
这类包括文件数据区和索引表两大部分的文件称做索引文件.
2. 索引表中的每一项称作索引项.不论主文件是否按关键字有序,索引表中的索引项总是按关键字顺序排列。
若数据区中的记录也按关键字顺序排列,则称索引顺序文件,反之,若数据区中记录不按关键字顺序排列,则称索引非顺序文件。
3. 索引表是由系统程序自动生成的。在记录输入建立数据区的同时建立一个索引表。
4. 索引文件的检索方式为直接存取或按关键字存取。索引表是有序的,查找可以采用二分查找。
5. 数据太多,可以建立多级索引。
6. 静态索引:各级索引均为顺序表结构
7. 动态索引:二叉排序树、二叉平衡树、B-树、键树,这些树表接哦股,插入、删除索引很方便。
8. 由于数据文件中的记录不按关键字顺序排列,则必须对每个记录建立一个索引项,如此建立的索引表称之为稠密索引。
如果数据文件中的记录按关键字顺序有序,则可对一组记录建立一个索引项目,这种索引表称之为非稠密索引。
四、ISAM文件和VSAM文件
1. ISAM:索引顺序存取方法,专门为磁盘存取设计的文件组织方式。由于磁盘是以盘组、柱面和磁道三级地址存取数据的设备,
可以对磁盘上的数据文件建立盘组,柱面和磁道三级索引。
柱面基本区采用顺序存储结构,溢出区采用链表结构。
2. VSAM:虚拟存储存取方法,这种存取方法利用了操作系统的虚拟存储器的功能,对用户来说,文件只有控制区间和控制区域等
逻辑存储单位,与外存储器中柱面、磁道等具体存储单位没有必然的联系
3部分组成:索引集,顺序集,数据集
文件记录存放在数据集中。顺序集和索引集一起构成一棵B+树,为文件的索引部分。
VSAM文件既可在顺序集中进行顺序存取,又可从最高层的索引(B+树的根结点)出发进行按关机字存取。
顺序集中一个结点连同其对应的所有控制区间形成一个整体,称做控制区域。
每个控制区间可视为一个逻辑磁道,而每个控制区域可视为一个逻辑柱面。
五、直接存取文件(散列文件)
1. 利用hash发进行组织的文件。若干个记录组成一个存储单位,在散列文件中,这个存储单位叫做桶bucket.
2. 处理溢出主要采用链地址法。
3. 桶编号,基桶,溢出桶
4. 直接存取文件的优点:文件随机存放,记录不需要进行排序,插入删除方便,存取速度快,不需要索引区节省存储空间
5. 直接存取文件的缺点:只能按关键字随机存取;进行简单查询;多次插入和删除之后,可能造成文件结构不合理
六、多关键字文件
1. 多关键字文件的特点是在对文件进行检索操作时,不仅对主关键字进行简单询问,还经常需要对次关键字进行其他类型的询问检索。
2. 多重表文件:记录按主关键字顺序构成一个串联文件,并建立主关键字的索引(主索引),对每一个次关键字建立次关键字索引(次索引),
所有具有统一次关键字的记录构成一个链表。每个索引项包含关键字,头指针,链表长度
3. 倒排文件:倒排文件和多重表文件的区别在于次关键字索引的结构不通。称倒排文件中的次关键字索引为倒排表。
具有相同次关键字的记录之间不设指针相链,而在倒排表中该次关键字的一项中存放这些记录的物理记录号。
倒排表中具有同一次关键字的记录号是有序排列的,修改时要做相应的移动。