Method and system for flexible sectioning of XML data in a database system
First Claim
1. A method of sectioning an XML document having one or more nodes, said method comprising the computer-implemented steps of:
- obtaining a set of sectioning rules;
wherein each sectioning rule in the set of sectioning rules comprises matching criteria and a table identifier that identifies a database table in which a fragment of the XML document that matches the matching criteria is to be persistently stored;
receiving an XML document to be stored in a relational database system;
based on the set of sectioning rules, identifying one or more database tables in the relational database system in which to store fragments of the XML document;
storing the fragments of the XML document in the one or more database tables, wherein storing the fragments of the XML document comprises selectively sectioning the XML document based on the set of sectioning rules by performing steps that include;
for each particular fragment of the XML document that matches particular matching criteria included in a particular sectioning rule;
determining a particular database table of the one or more database tables that is identified by a particular table identifier included in the particular sectioning rule; and
storing the particular fragment in the particular database table.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system are provided for flexibly sectioning XML documents stored in a relational database system. The method includes obtaining a set of sectioning rules; receiving an XML document that is to be stored in the relational database system; and identifying a storage location for each node in the XML document based on the set of sectioning rules. The sectioning rules can also be used to determine which tables in the relational database should be queried when a query is received, and to determine which tables in the relational database should be updated when a command to update stored XML data is received.
-
Citations
34 Claims
-
1. A method of sectioning an XML document having one or more nodes, said method comprising the computer-implemented steps of:
-
obtaining a set of sectioning rules; wherein each sectioning rule in the set of sectioning rules comprises matching criteria and a table identifier that identifies a database table in which a fragment of the XML document that matches the matching criteria is to be persistently stored; receiving an XML document to be stored in a relational database system; based on the set of sectioning rules, identifying one or more database tables in the relational database system in which to store fragments of the XML document; storing the fragments of the XML document in the one or more database tables, wherein storing the fragments of the XML document comprises selectively sectioning the XML document based on the set of sectioning rules by performing steps that include; for each particular fragment of the XML document that matches particular matching criteria included in a particular sectioning rule; determining a particular database table of the one or more database tables that is identified by a particular table identifier included in the particular sectioning rule; and storing the particular fragment in the particular database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of evaluating a query in a relational database system that stores XML data sectioned from XML documents in one or more section tables of a relational database according to a set of sectioning rules, said method comprising the computer-implemented steps of:
-
receiving a query, said query comprised of at least one path expression; generating a list of section table identifiers that identify section tables in the relational database, each said section table identifier coffesponding to at least one rule in the set of sectioning rules that matches the at least one path expression; and evaluating the query using only section tables identified in the generated list; wherein said set of sectioning rules are rules that were used to determine where to store said XML data sectioned from said XML documents when said XML documents were initially selectively sectioned based on said set of sectioning rules and stored in the one or more section tables of the relational database; wherein each sectioning rule in said set of sectioning rules comprises matching criteria and a table identifier that identifies a section table in which a fragment of an XML document that matched the matching criteria was persistently stored by; determining the section table based on the table identifier included in the sectioning rule; and storing the fragment of the XML document in the section table. - View Dependent Claims (15, 16, 17)
-
-
18. A computer-readable storage medium storing one or more sequences of instructions for sectioning an XML document having one or more nodes, wherein the one or more sequences of instructions when executed by one or more processors cause the one or more processors to perform the steps of:
-
obtaining a set of sectioning rules; wherein each sectioning rule in the set of sectioning rules comprises matching criteria and a table identifier that identifies a database table in which a fragment of the XML document that matches the matching criteria is to be persistently stored; receiving an XML document to be stored in a relational database system; based on the set of sectioning rules, identifying one or more database tables in the relational database system in which to store fragments of the XML document; storing the fragments of the XML document in the one or more database tables, wherein storing the fragments of the XML document comprises selectively sectioning the XML document based on the set of sectioning rules by performing steps that include; for each particular fragment of the XML document that matches particular matching criteria included in a particular sectioning rule; determining a particular database table of the one or more database tables that is identified by a particular table identifier included in the particular sectioning rule; and storing the particular fragment in the particular database table. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-readable storage medium storing one or more sequences of instructions for evaluating a query in a relational database system that stores XML data sectioned from XML documents in one or more section tables of a relational database according to a set of sectioning rules, wherein the one or more sequences of instructions when executed by one or more processors cause the one or more processors to perform the steps of:
-
receiving a query, said query comprised of at least one path expression; generating a list of section table identifiers that identify section tables in the relational database, each said section table identifier coffesponding to at least one rule in the set of sectioning rules that matches the at least one path expression; and evaluating the query using only section tables identified in the generated list; wherein said set of sectioning rules are rules that were used to determine where to store said XML data sectioned from said XML documents when said XML documents were initially selectively sectioned based on said set of sectioning rules and stored in the one or more section tables of the relational database; wherein each sectioning rule in said set of sectioning rules comprises matching criteria and a table identifier that identifies a section table in which a fragment of an XML document that matched the matching criteria was persistently stored by; determining the section table based on the table identifier included in the sectioning rule; and storing the fragment of the XML document in the section table. - View Dependent Claims (32, 33, 34)
-
Specification