CODASYL BDAM DML
Oracle Tips by Burleson Consulting
High Performance Data Warehousing
The CODASYL Generation Of Database Management
MOVE 'IBM' to CUST-ID.
There were several advantages to the
CODASYL approach, primarily with performance and the ability to
represent complex data relationships. In the following example, BDAM
is invoked for the OBTAIN CALC CUSTOMER statement, and linked lists
are used in the statement OBTAIN NEXT CUSTOMER WITHIN
For example, to navigate a one-to-many relationship, (i.e., to get
all of the orders for a customer), a CODASYL programmer would enter
the following code:
OBTAIN CALC CUSTOMER.
PERFORM ORDER-LOOP UNTIL END-OF-SET.
OBTAIN NEXT ORDER WITHIN CUSTOMER-ORDER.
MOVE ORDER-NO TO OUT-REC.
As a visual tool, the set occurrence diagram, shown in Figure 1.8,
has great potential for understanding internal data relationships.
The relationships between the objects are readily apparent, and the
programmer can easily visualize the navigation paths. For example,
in the sample diagram, you can easily see that order 123 is for 19
pads, 3 pencils, and 12 pens. Cross over to the item side of the
diagram, and you can easily see which orders include pens. For
systems that physically link objects, the set occurrence diagram is
an extremely useful visual tool.
Figure 1.8 The set occurrence diagram.
Although the design of the CODASYL network model is very elegant,
there were serious problems with the ongoing use of network
databases. Network databases, much like hierarchical databases, are
very difficult to navigate and administer. Learning the Data
Manipulation Language (DML), especially for complex navigation, is a
skill acquired through many months of training.
This is an excerpt from "High Performance
Data Warehousing", copyright 1997.
If you like Oracle tuning, you may enjoy the book
Oracle Tuning: The Definitive Reference , with over 900 pages of BC's favorite tuning
tips & scripts.
You can buy it directly from the publisher and save 30%, and get
instant access to the code depot of Oracle tuning scripts.