XML Schema Storage via Out-of-Line Table Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database management systems face limitations in creating database tables for XML schemas with complex elements that exceed the maximum number of allowed columns, leading to failed import operations when trying to store data from XML documents.
Innovation Solution
The system automatically generates multiple interrelated database tables by identifying complex elements with a high number of descendant elements and creating out-of-line tables to store these elements, using a threshold-based approach to ensure each table has no more than the permitted number of columns, with data referencing between parent and child tables through foreign keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a database table is created with enough columns to store all sub-elements of a complex element, then complete XML data storage is achieved, but the maximum column limit of the database table is exceeded
Solution Approach 1:
The patent segments the database storage structure by creating a parent table for the complex element and multiple child tables for its sub-elements. This segmentation allows the system to store complete XML data while respecting the maximum column limit of individual tables by distributing columns across multiple related tables.
Solution Approach 2:
The patent introduces a new dimensional aspect to the storage problem by creating hierarchical relationships between parent and child tables. Instead of attempting to fit all sub-elements into a single table's column dimension, the solution adds a table-level dimension, organizing data in a tree-like structure that vertically expands the storage capacity beyond single-table limitations.
2Ease of operation
If a single database table is used to store all XML elements, then data retrieval is simplified, but the table exceeds the maximum allowed number of columns
Solution Approach 1:
The patent segments the monolithic table structure into a hierarchical set of parent and child tables. Each table contains a manageable number of columns, and the segmentation is organized around the XML document structure, making each table's purpose clear and manageable while collectively maintaining data retrieval efficiency through foreign key relationships.
Solution Approach 2:
The patent transitions from a single-table flat structure to a multi-table hierarchical structure, adding the dimension of table relationships. This dimensional change organizes complexity across multiple levels (parent-child relationships) rather than compressing all elements into a single table, making the overall system more manageable while preserving data access paths.
3Reliability
If multiple interrelated tables are created to store complex XML elements, then the column limit is respected, but the database schema becomes more complex
Solution Approach 1:
The patent creates a universal template for parent-child table relationships that can be applied to any complex element in the XML schema. The parent table stores the complex element's data along with foreign keys to its child tables, while child tables store sub-element data. This multi-functional pattern handles various XML structures consistently, managing schema complexity through repetition of a proven pattern rather than ad-hoc design.
Solution Approach 2:
The patent performs preliminary analysis of the XML schema to identify complex elements and their sub-elements before generating the database schema. This preliminary action allows the system to pre-determine the optimal parent-child table structure, foreign key relationships, and column distributions, reducing the complexity of manual schema design and ensuring that the generated schema immediately respects column limits while maintaining data integrity.
Data Source
AI summary
Techniques are described herein for automatically generating multiple interrelated database tables to store XML data, while ensuring that each such table has no more than the maximum DBMS-allowed number of columns. In response to the registration of an XML schema with a database server, the server determines whether any of the elements specified in the XML schema are complex elements that have more than a threshold number of descendant elements. If a complex element has more than the threshold number of descendant elements, then the server automatically generates one or more separate “out-of-line” database tables for storing at least some of those descendant elements, so that the table created to store the complex element will have no more than the permitted number of columns. Each of the out-of-line database tables is similarly generated so as to have no more than the permitted number of columns.


