Four decades ago hierarchical databases like IBM's IMS and VSAM were new and utilizing their full hierarchical processing capabilities much more thoroughly than today. They utilized their nonlinear multipath processing capability freely only slowed and limited by their procedural hierarchical database navigation needed to access and process the data. This also limited the processing complexity that the applications could take on.
With the advent of 4GLs, nonprocedural query products opened the door to automatic database navigation. This allowed for more complex unrestricted multipath queries and the formulation of another level of hierarchical processing rules and principles to govern multipath processing. This involved the use of Lowest Common Ancestor (LCA) node logic to coordinate processing across multiple pathways. By having unlimited query access to the entire hierarchical structure and all of its pathways, the power of these queries increased many times over which also dynamically increases the value of the data many times over.
With the development of relational data processing and its data independence there was a move to a new paradigm limiting data to flat structures to gain data independence. This introduced the problem that hierarchical structures and their processing is not compatible with relational processing. This new capability quickly supplanted hierarchical processing and moved it to the background. With SQL relational processing now in control, the integration of relational and hierarchical processing naturally utilized the lowest common denominator approach and flattened the hierarchical data to integrate it seamlessly with relational data. Unfortunately, this sacrificed the hierarchical semantics naturally in the data and its hierarchical capabilities.
This SQL relational driven integration has remained in place even with the popular reoccurrence of hierarchical structures with the advent of XML. Our research has shown that with the introduction of the SQL-92 LEFT Outer Join operation, hierarchical processing is actually a subset of relational processing. Using this finding, our SQLfX prototype has proven that ANSI SQL processors can perform full hierarchical processing. This overlap of operational principles allows a natural SQL driven relational/hierarchical integration at a full hierarchical level. This SQL driven hierarchical processing not only preserves the hierarchical semantics, it utilizes this semantics in its hierarchical processing as described in the ANSI SQL transparent XML hierarchical processing described and demonstrated in this web site.
This SQL hierarchical processing technology can also be applied to the natural and transparent full multipath hierarchical processing of IBM's IMS databases and all other mainframe legacy hierarchical databases like VSAM and flat tabular databases. This allows an almost unlimited internally complex processing to be easily specified and run hierarchically against IMS databases and any hierarchical combination of flat, XML and legacy hierarchical data sources. The SQL addition of hierarchical processing produces an additional level of processing, correctness, efficiency and ease of use not available today.
I said earlier that hierarchical processing is a subset of relational processing. At this common point, the advantages of relational and hierarchical processing are both available. Relational data structure independence and hierarchical structure processing with its powerful semantics are both available at the same time. Originally with the advent of relational processing and its data independence, fixed hierarchical processing had to be sacrificed because they could not both exist simultaneously. This is not true today with hierarchical processing being a natural subset of relational processing. The power of relational data independence can be used with logical hierarchical data structures and their processing to support advanced new synergistic capabilities using SQL.
This SQL hierarchical processing capability allows both IMS applications to integrate with XML, and XML Internet applications to integrate with IMS.