A short bird's eye view at http://expertstech.blogspot.com/2008/09/xml.html
The above referenced ANSI SQL transparent XML hierarchical processor demo?s advanced database hierarchical processing technology operates by defining (data modeling) full multi-leg hierarchical structures in ANSI SQL-92, using a series of standard left outer joins. This enables standard ANSI SQL processors to automatically perform full multi-leg database hierarchical processing on the SQL modeled hierarchical structures when queried. Logical Relational and Physical XML data structures can be defined (modeled) and stored in SQL views. These views can be dynamically, heterogeneously, and hierarchically joined using a single left join operation and this virtual unified hierarchical (left outer join) structure will be processed hierarchically in standard SQL extended seamlessly to support the input and output of XML documuments.
The SQL database hierarchical processing demo software is automatically hierarchical structure-aware at all times. It knows the dynamic hierarchical modeling that has taken place and will output the XML result hierarchically formatted correctly. Only the data SELECTed for output is output in its proper node/XML element. The unselected nodes have been excluded, enabling natural node promotion and node collection to take place. (This has naturally occurring in the SQL rowset).
The WHERE clause database data filtering is naturally applied hierarchically so the result is meaningfully. This happens when searching or filtering conditions are based across different path types. This requires Lowest Common Ancestor (LCA) processing that is occurring naturally in SQL. This has usually required complex tree traversing in physical hierarchical processors, but is nicely simulated naturally by SQL?s Cartesian product effect when modeling hierarchical structures. This complex level of hierarchical processing and automatic navigation can not be reasonably performed by user navigation or user specified LCA logic. With SQL?s nonprocedural and navigationless specification, non technical users can perform complex hierarchical XML processing not previously possible. Check out the demo above, it has a complete set of queries covering all of these capabilities and more. These queries can be modified or you can try your own.
This demo is for database hierarchical use with well behaved regular structures that are unambiguous. That means there can be no duplicate named node types as there can be with markup. Markup and database use requires different processing. This demo works well for SQL database uses. But let me say this also. Hierarchical XML markup also requires LCA logic, but instead of being fixed it is variable. That is LCA node usage can dynamically change to accommodate a fuzzy operation caused by the XPath ?//?search operation. If a particular LCA node occurrence is empty, the next closest LCA node with the same name will be use. This makes sense for keyword searches in markup text, but for database use using WHERE clause filtering this can not happen or the result is just plain wrong! These processing restrictions for database hierarchical processing allow hierarchical XML to be processed truly nonprocedurally with no user navigation required.
Any questions or comments, please let me know.
/Mike
Michael M David Advanced Data Access Technologies, Inc. www.adatinc.com
|