DB2
DB2 400 is the database built in to OS/400.
It can be accessed using two primary mechanisms ... SQL or directly from a high level language.
Features of DB2
Compared to how files could be structured and accessed on prior IBM and other platforms, DB2 had several revolutionary features that added to the potential programming power of the 400.
Some DB2 capabilities, that we take for granted today on the 400, may have been available on S/38 but not on S/36 SSP.
External Definition
Before the invention of this data base reality, we could only use Internal Definition of files. That means each and every program had to have its own layout of a file, and any dumps of the file showed all the data contigous, not breaking it up into meaningful fields. Forget about being able to access the data with programs like SQL.
With Internal Definition, each program only needed to define the fields it was going to use, which meant there might not be any one place to go for the complete layout of a file.
With External Definition, part of the DB2 file structure is the whole story on the file and its field layout, which can be accessed by any programming language in the IMB family.
Internal Definition is still supported, and we can use it in a program to break an External Definition field down into smaller sub-fields such as through a Data Structure.