An indexed file is a computer file with an index that allows easy random access to any record given its file key.
The key must be such that it uniquely identifies a record. If more than one index is present the other ones are called alternate indexes. The indexes are created with the file and maintained by the system.
IBM supports indexed files with the Indexed Sequential Access Method (ISAM) on OS/360 and successors. IBM virtual storage operating systems added VSAM, which supports indexed files as Key Sequenced Data Sets (KSDS), with more options. Support for indexed files is built into COBOL[1] and PL/I.[2] Other languages with more limited I/O facilities such as C support indexed files through add-on packages in a runtime library such as C-ISAM.[3] Some of Digital's operating systems, such as OpenVMS, support indexed file I/O using the Record Management Services.
In recent systems, relational databases are often used in place of indexed files.
Language support
The COBOL language supports indexed files with the following command in the FILE CONTROL
section
ORGANIZATION IS INDEXED
IBM PL/I uses the file attribute ENVIRONMENT(INDEXED)
or ENVIRONMENT(VSAM)
to declare an indexed file.
See also
- B-trees
- Hash table
- Data set (IBM mainframe)
- Legacy system
- dbm also X/Open ndbm and GNU gdbm
- Berkeley DB
Inline citations
- ↑ 1 VS COBOL II Application Programming Language Reference, Release 4, Eighth Edition (March 1993), IBM Corporation, Department J58, Copyright International Business Machines Corporation 1984, 1993. pp. 67-73
- ↑ IBM Corporation (2012). Enterprise PL/I for z/OS, Version 4.3, Language Reference. p. 276. Retrieved Nov 25, 2015.
- ↑ I IBM Corporation. "Informix C-ISAM". Retrieved Nov 25, 2015.