Automatically determining a database representation for an abstract datatype
First Claim
1. A method comprising:
- receiving a logical description that references an abstract datatype in a database system, wherein the database system supports multiple database representations for the abstract datatype;
receiving one or more sample queries that reference the abstract datatype;
evaluating the one or more sample queries, wherein evaluating one or more sample queries comprises;
determining a plurality of database representations that the database system supports for the abstract datatype;
re-writing the one or more sample queries based on the plurality of database representations;
performing a cost analysis of the re-written sample queries;
based on the logical description and said evaluating said one or more sample queries, determining a database representation for the abstract datatype;
wherein said database representation includes one or more base structures that are used to store data for the abstract datatype;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for determining a database representation for an abstract datatype that may have more than one database representation. A user supplies a logical description that references the abstract datatype, along with one or more sample queries that reference the abstract datatype. For example, the user supplies a DDL statement to create a table using that abstract datatype as a column, without specifying any database representation for the abstract datatype. Also the user supplies a set of queries that reference the abstract datatype columns. Based on the user information, a database representation for the abstract datatype is determined. A script file containing code to create one or more base structures for the abstract datatype and to create zero or more indexes for the base structures is generated. The script file may be commented to explain to the user why a particular base structure or index was included in the script file.
96 Citations
34 Claims
-
1. A method comprising:
-
receiving a logical description that references an abstract datatype in a database system, wherein the database system supports multiple database representations for the abstract datatype; receiving one or more sample queries that reference the abstract datatype; evaluating the one or more sample queries, wherein evaluating one or more sample queries comprises; determining a plurality of database representations that the database system supports for the abstract datatype; re-writing the one or more sample queries based on the plurality of database representations; performing a cost analysis of the re-written sample queries; based on the logical description and said evaluating said one or more sample queries, determining a database representation for the abstract datatype; wherein said database representation includes one or more base structures that are used to store data for the abstract datatype; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving a logical description that references an XML datatype, wherein a database system supports multiple database representations for the XML datatype; receiving one or more Data Manipulation Language (DML) queries that reference the XML datatype; evaluating the one or more DML queries, wherein evaluating one or more DML queries comprises; determining a plurality of database representations that the database system supports for the XML datatype; re-writing the one or more DML queries based on the plurality of database representations; performing a cost analysis of the re-written DML queries; based on the logical description and said evaluating said one or more DML queries, determining a database representation for the XML datatype; wherein said database representation includes one or more base structures that are used to store data for the XML datatype; wherein the methodis performed by one or more computing devices. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer readable storage medium comprising instructions which, when executed by one or more processors, cause the one of more processors to perform:
-
receiving a logical description that references an abstract datatype in a database system, wherein the database system supports multiple database representations for the abstract datatype; receiving one or more sample queries that reference the abstract datatype; evaluating the one or more sample queries, wherein evaluating one or more sample queries comprises; determining a plurality of database representations that the database system supports for the abstract datatype; re-writing the one or more sample queries based on the plurality of database representations; performing a cost analysis of the re-written sample queries; based on the logical description and said evaluating said one or more sample queries, determining a database representation for the abstract datatype; wherein said database representation includes one or more base structures that are used to store data for the abstract datatype. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer readable storage medium comprising instructions which, when executed by one or more processors, cause the one of more processors to perform:
-
receiving a logical description that references an XML datatype, wherein a database system supports multiple database representations for the XML datatype; receiving one or more Data Manipulation Language (DML) queries that reference the XML datatype; evaluating the one or more DML queries, wherein evaluating one or more DML queries comprises; determining a plurality of database representations that the database system supports for the XML datatype; re-writing the one or more DML queries based on the plurality of database representations; performing a cost analysis of the re-written DML queries; based on the logical description and said evaluating said one or more DML queries, determining a database representation for the XML datatype; wherein said database representation includes one or more base structures that are used to store data for the XML datatype. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34)
-
Specification