📅  最后修改于: 2023-12-03 15:41:43.078000             🧑  作者: Mango
VSAM (Virtual Storage Access Method)是一种在 IBM 大型机主机上使用的存储管理系统,用于管理顺序文件和索引文件。VSAM采用了键值对的存储方式,并支持跟踪记录使用情况和自动排序等功能。
VSAM 由三部分组成:数据空间组(Data Space Group,DSG)、扩展地址空间组(Extended Address Space Group,EASG)和控制区(Control Area,CA)。
数据空间组是一个独立的存储区域,用于存储物理数据记录。数据空间组也可以包含一个或多个扩展地址空间组(EASG)。
尽管数据空间组可以自己存储一些记录,但是它大小是有限制的。扩展地址空间组是一个允许数据空集增长的机制。一个扩展地址空间组是由控制区组成的,每个控制区都可以存储多个基础记录。如果基础记录数量超过了一个控制区所能容纳的数量,则会建立一个新的控制区。
控制区是一个逻辑单元,由控制区首部、数据区和结尾标志组成,用于管理和存储数据。控制区首部包含了一些控制信息,如控制区名、总长度、数据区偏移地址、索引属性等。在控制区中,数据区是一个有序的记录集合,而结尾标志则被用来标记控制区的末尾。
1 VSAM-CUSTOMER-FILE.
2 FILE-STATUS PIC XX.
2 TRANSACTION-KEY PIC X(10).
2 CUSTOMER-RECORD.
3 CUSTOMER-NAME PIC X(25).
3 CUSTOMER-ADDRESS PIC X(60).
3 CUSTOMER-DOB PIC X(10).
2 KEY-CODE PIC X(10).
2 QUANTITY-ORDERED PIC 9(3).
2 ITEM-CODE PIC X(5).