The Parent/Child Hierarchy
The Parent/Child Hierarchy
In DL/I, the basic structure is the parent/child hierarchy. A
parent segment
can own one or more
child segments
. (Segments are similar to records in conventional file-oriented, versus database-oriented, processing.) A child segment, however, can have only one parent segment. Using the basic parent/child structure, you can extend the hierarchy to deeper levels (that is, a child segment can also be a parent and have child segments of its own).
Database Description (DBD)
The top-level definition of the segments and their relationships is known as the
Database description
(DBD). A DBD defines all of the segments, the fields for each segment, and all of the possible segment relationships for a given database.
Program Specification Block (PSB)
The second-level definition is known as the
program specification block
(PSB). The PSB defines the run-time database interface for an application.
Program Communication Blocks (PCB)
Each PSB contains one or more
program communication blocks
(PCBs). Each PCB defines a subset of the segments and possible relationships found in a specific DBD. Different PCBs within the same PSB can reference different DBDs or multiple views of the same DBD, thereby allowing an application to access several physical databases.
Each PCB also maintains status information so that the application can check on the results of its function calls against a particular database. Taken collectively, the PCBs within a given PSB define an application's view of the available data.