TurboIMAGE/XL Database Management System Reference Manual (30391-90012)
Table Of Contents
- 1 Introduction
- 2 Database Structure and Protection
- 3 Defining a Database
- 4 Using the Database
- 5 TurboIMAGE/XL Library Procedures
- Using TurboIMAGE/XL Intrinsics
- DBBEGIN
- DBCLOSE
- DBCONTROL
- DBDELETE
- DBEND
- DBERROR
- DBEXPLAIN
- DBFIND
- DBGET
- DBINFO
- INTRINSIC NUMBER 402
- Syntax
- Parameters
- Discussion
- Mode 101: Item Number
- Mode 102: Item Name
- Mode 103: Items in Database
- Mode 104: Items in Data Set
- Mode 113: BTREEMODE1 and Wildcard Character
- Mode 201: Set Number
- Mode 202: Set Name
- Mode 203: Sets in Database
- Mode 204: Sets with Item
- Mode 205: Set Capacity
- Mode 206: Number of Data Set Chunks
- Mode 207: Size of Data Set Chunks
- Mode 208: Primary and Actual Capacity
- Mode 209: B-Tree Attachment
- Mode 301: Paths
- Mode 302: Key or Search Item
- Mode 401: Logging
- Mode 402: ILR
- Mode 403: Dynamic Roll-Back
- Mode 404: Logging Subsystem Information
- Mode 406: Database Information
- Mode 501: Subsystem Access
- Mode 502: Critical Item Update
- Modes 8nn: Third-Party Indexing
- Mode 901: Language
- DBLOCK
- DBMEMO
- DBOPEN
- DBPUT
- DBUNLOCK
- DBUPDATE
- DBXBEGIN
- DBXEND
- DBXUNDO
- 6 Host Language Access
- Model Program
- ORDERS Database Model Program
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- C
- COBOL II
- Defining Data Types, Variables, and Intrinsics
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- FORTRAN 77
- Pascal
- RPG
- 7 Logging and Recovery
- Database Utilities Used in Logging and Recovery
- Recovery Options
- Logical Transactions
- Dynamic Roll-Back Recovery
- Intrinsic Level Recovery
- Logging Preparation
- Step 1--Checking MPE/iX Logging Configuration
- Step 2--Acquiring Logging Capability
- Step 3--Logging to Tape or Disk
- Step 4--Building a Log File for Logging to Disk
- Step 5--Creating the Log Identifier
- Step 6--Setting the Log Identifier
- Step 7--Setting Flags for the Database Backup Copy
- Step 8--Making a Database Backup Copy
- TurboSTORE/iX 7x24 True-Online Backup
- Logging Status
- Logging Maintenance
- Roll-Forward Recovery
- Roll-Back Recovery
- DBRECOV Commands Used with Roll-Forward and Roll-Back Recovery
- Recovery Tables
- Post-Recovery Options
- The Mirror Database
- 8 Using the Database Utilities
- Restructuring the Database with TurboIMAGE/XL Utilities
- Summary of Utility Routines
- Utility Program Operation
- DBLOAD
- DBRECOV
- >CONTROL
- >EXIT
- >FILE
- >RECOVER
- >ROLLBACK
- >RUN
- DBRESTOR
- DBSTORE
- DBUNLOAD
- DBUTIL
- >>ACTIVATE
- >>ADDINDEX
- >>CREATE
- >>DEACTIVATE
- >>DETACH
- >>DISABLE
- >>DROPINDEX
- >>ENABLE
- >>ERASE
- >>EXIT
- >>HELP
- >>MOVE
- >>PURGE
- >>REBUILDINDEX
- >>REDO
- >>RELEASE
- >>SECURE
- >>SET
- >>SHOW
- Syntax
- Parameters
- Example (Show Users)
- Example Discussion
- Example (Show All)
- Example Discussion
- Example (Show Capacity)
- Format of Show Device List
- Example (Show Device)
- Format of Show Indices
- Example (Show Indices)
- Format of Show Locks List
- Example 1 (Show Locks)
- Example 1 Discussion
- Example 2 (Show Locks)
- Example 2 Discussion
- >>VERIFY
- 9 Using a Remote Database
- 10 Internal Structures and Techniques
- 11 B-Tree Indices
- A Error Messages
- B Results of Multiple Access
- C Database Design Considerations
- D Multiple Calls to DBLOCK
- E TurboIMAGE/XL Log Record Formats
- F MPE/iX Log Record Formats
- G Recovery and Logging Quick Reference
- H TurboIMAGE/XL versus TurboIMAGE/V

42 Chapter2
Database Structure and Protection
Data Set Types and Relationships
Because a detail data set can contain as many as 16 search items, it can be related to at
most 16 master data sets. Each master-to-detail relationship must be relative to a different
detail search item. The SALES data set is related to the CUSTOMER, PRODUCT, and
DATE-MASTER data sets.
A detail data set can be multi-indexed by a single master data set. For example, SALES is
indexed twice by DATE-MASTER. The DATE search item forms one path with the
PURCH-DATE search item and one path with the DELIV-DATE search item. Each master
data set can serve as an index to one or more detail data sets. No master data set can be
related to more than 64 detail data sets. For each such relationship, TurboIMAGE/XL
keeps independent chain information with each master entry. This information consists of
pointers to the first and last entries of the chain whose search item value matches the
master data set entry's key item value and a count of the number of entries in the chain.
This is called a chain head. The format of chain heads is given in chapter 10. For
example, the DATE-MASTER data entries each contain two sets of pointers, one for
PURCH-DATE chains and one for DELIV-DATE chains. TurboIMAGE/XL automatically
maintain the chain heads.
Primary Paths
One of the paths of each detail data set can be designated by the database designer as the
primary path. The main reason for designating a primary path is to maintain the entries
of each chain of the path in contiguous storage locations. To maintain contiguous locations,
occasionally use the DBUNLOAD utility program to copy the database to tape, the DBUTIL
utility program to erase the database, and the DBLOAD program to reload the database from
the tape. When the database is reloaded, contiguous storage locations are assigned to
entries of each primary path chain. Therefore, the database designer should designate the
path most frequently accessed in chained order as the primary path. This type of access is
discussed in chapter 5.
A primary path also serves as the default path when accessing a detail data set if no path
is specified by the calling program. This characteristic of primary paths is described with
the DBGET procedure in chapter 5.
Sort Items
For any path, it is possible to designate a data item other than the search item as a sort
item. If a sort item is specified, each of the chains of the path are maintained in ascending
sorted order based on the values of the sort item. Different paths can have different sort
items, and one path's sort item can be another path's search item. Only data items of type
logical or character can be designated as sort items.
For example, chains in the SALES data set composed of entries with identical ACCOUNT
values are maintained in sorted order by PURCH-DATE. When information about sales to
a particular customer is required, the SALES data entries for that customer's account can
be retrieved in sorted order according to purchase date. PURCH-DATE is a meaningful
sort item because the dates are stored in a properly form for collating (year-month-day).
The sorted order of entries is maintained by logical pointers rather than physical
placement of entries in consecutive records. Figure 2-4. illustrates the way that
TurboIMAGE/XL maintains sorted paths. When an entry is added to a detail data set, it is
added to or inserted in a chain. If the path does not have a sort item defined, the entry