Claims
- 1. A method of architecting a logical representation of physical data in a database, comprising:
providing a template data abstraction model defining template logical fields; and providing, on the basis of the template data abstraction model, a logical representation of the physical data, the logical representation defining a plurality of logical fields providing an abstract view of the physical data and adapted for transforming logical fields of abstract queries into a form consistent with the physical data in the database.
- 2. The method of claim 1, wherein the template data abstraction model defines a generic abstract view of data.
- 3. The method of claim 1, wherein providing the logical representation comprises programmatically generating the logical representation on the basis of the template data abstraction model.
- 4. The method of claim 1, wherein providing the template data abstraction model comprises:
determining, from a physical representation of the physical data, one or more sets of similar data structures of the database; and creating a template logic field for each set of the one or more determined sets of similar data structures.
- 5. The method of claim 1, wherein each template logical field comprises generic data location metadata; and wherein providing the logical representation comprises, for each template logical field:
determining whether particular physical data of the database satisfies the generic data location metadata of the template logical field; and if so, creating a corresponding one of the plurality of logical fields with specific data location metadata mapping the corresponding one logical field to particular physical data of the database.
- 6. The method of claim 1, wherein providing the logical representation is done prior to issuing an abstract query against the physical data in the database.
- 7. The method of claim 1, wherein providing the logical representation is done at runtime when issuing an abstract query against the physical data in the database.
- 8. The method of claim 1, wherein the physical representation is one of a relational, a hierarchical and an XML database schema.
- 9. A method of architecting a relationship between a logical representation of physical data in a database and a physical representation of the physical data, the method comprising:
providing a plurality of databases, each database having an associated plurality of database data structures; providing a template data abstraction model defining template logical fields, each template logical field defining a generic abstract view of a set of similar database data structures; receiving an abstract query against physical data included in one or more of the plurality of databases, the abstract query having a plurality of query logical fields for corresponding query data structures, each query logical field being generically defined by one of the template logical fields; and for each database of the plurality of databases:
determining whether the associated plurality of database data structures of the database includes all query data structures; and if it is determined that the associated plurality of database data structures of the database includes all query data structures, using the template data abstraction model to generate the logical representation for the physical data, the logical representation defining a plurality of logical fields providing an abstract view of the physical data and adapted for transforming the query logical fields into a form consistent with the physical data in the database.
- 10. The method of claim 9, further comprising, if it is determined that the associated plurality of database data structures of any one of the plurality of databases does not include all query data structures:
notifying an operator that the abstract query cannot be processed.
- 11. The method of claim 9, wherein the physical representation is one of a relational, a hierarchical and an XML database schema.
- 12. A method of providing access to physical data in a database having a particular physical data representation, comprising:
providing two or more logical representations, each logical representation defining a plurality of logical fields providing an abstract view of at least one portion of the physical data; receiving an abstract query from the requesting entity, wherein the abstract query comprises a plurality of logical field definitions; and selecting, on the basis of the plurality of logical field definitions of the abstract query, one of the two or more logical representations to use in transforming the abstract query into a form consistent with the at least one portion of the physical data.
- 13. The method of claim 12, wherein selecting the one logical representation comprises:
for each logical representation of the two or more logical representations: comparing the plurality of logical fields with the plurality of logical field definitions; and
if the plurality of logical fields includes the plurality of logical field definitions, using the one logical representation for transforming the abstract query into the form consistent with the at least one portion of the physical data.
- 14. The method of claim 13, wherein using the one logical representation comprises using the plurality of logical fields of the one logical representation for transforming the plurality of logical field definitions of the abstract query into the form consistent with the at least one portion of the physical data.
- 15. The method of claim 12, wherein providing two or more logical representations comprises:
providing a template data abstraction model defining template logical fields; and providing, on the basis of the template data abstraction model, the two or more logical representations.
- 16. The method of claim 15, wherein each template logical field comprises generic data location metadata; and wherein providing the two or more logical representations comprises, for each template logical field:
determining whether particular physical data of the database satisfies the generic data location metadata of the template logical field; and if so, creating a corresponding one of the plurality of logical fields with specific data location metadata mapping the corresponding one logical field to particular physical data of the database.
- 17. A computer readable medium containing a program which, when executed, performs an operation of architecting a logical representation of physical data in a database, the operation comprising:
retrieving a template data abstraction model defining template logical fields; and generating, on the basis of the template data abstraction model, a logical representation of the physical data, the logical representation defining a plurality of logical fields providing an abstract view of the physical data and adapted for transforming logical fields of abstract queries into a form consistent with the physical data in the database.
- 18. The computer readable medium of claim 17, wherein the template data abstraction model defines a generic abstract view of data.
- 19. The computer readable medium of claim 17, wherein generating the logical representation comprises programmatically generating the logical representation on the basis of the template data abstraction model.
- 20. The computer readable medium of claim 17, wherein each template logical field comprises generic data location metadata; and wherein generating the logical representation comprises, for each template logical field:
determining, from a physical representation of the physical data, one or more sets of similar data structures of the database; and creating a template logic field for each set of the one or more determined sets of similar data structures.
- 21. The computer readable medium of claim 17, wherein generating the logical representation is done prior to issuing an abstract query against the physical data in the database.
- 22. The computer readable medium of claim 17, wherein generating the logical representation is done at runtime when issuing an abstract query against the physical data in the database.
- 23. The computer readable medium of claim 17, wherein the physical representation is one of a relational, a hierarchical and an XML database schema.
- 24. A computer readable medium containing a program which, when executed, performs an operation of architecting a relationship between a logical representation of physical data in a database and a physical representation of the physical data, the operation comprising:
retrieving a plurality of databases, each database having an associated plurality of database data structures; retrieving a template data abstraction model defining template logical fields, each template logical field defining a generic abstract view of a set of similar database data structures; receiving an abstract query against physical data included in one or more of the plurality of databases, the abstract query having a plurality of query logical fields for corresponding query data structures, each query logical field being generically defined by one of the template logical fields; and for each database of the plurality of databases:
determining whether the associated plurality of database data structures of the database includes all query data structures; and if it is determined that the associated plurality of database data structures of the database includes all query data structures, using the template data abstraction model to generate the logical representation for the physical data, the logical representation defining a plurality of logical fields providing an abstract view of the physical data and adapted for transforming the query logical fields into a form consistent with the physical data in the database.
- 25. The computer readable medium of claim 24, further comprising, if it is determined that the associated plurality of database data structures of any one of the plurality of databases does not include all query data structures:
notifying an operator that the abstract query cannot be processed.
- 26. The computer readable medium of claim 24, wherein the physical representation is one of a relational, a hierarchical and an XML database schema.
- 27. A computer readable medium containing a program which, when executed, performs an operation of providing access to physical data in a database having a particular physical data representation, the operation comprising:
retrieving two or more logical representations, each logical representation defining a plurality of logical fields providing an abstract view of at least one portion of the physical data; receiving an abstract query from the requesting entity, wherein the abstract query comprises a plurality of logical field definitions; and selecting, on the basis of the plurality of logical field definitions of the abstract query, one of the two or more logical representations to use in transforming the abstract query into a form consistent with the at least one portion of the physical data.
- 28. The computer readable medium of claim 27, wherein selecting the one logical representation comprises:
for each logical representation of the two or more logical representations: comparing the plurality of logical fields with the plurality of logical field definitions; and
if the plurality of logical fields includes the plurality of logical field definitions, using the one logical representation for transforming the abstract query into the form consistent with the at least one portion of the physical data.
- 29. The computer readable medium of claim 28, wherein using the one logical representation comprises using the plurality of logical fields of the one logical representation for transforming the plurality of logical field definitions of the abstract query into the form consistent with the at least one portion of the physical data.
- 30. The computer readable medium of claim 27, wherein retrieving two or more logical representations comprises:
retrieving a template data abstraction model defining template logical fields; and generating, on the basis of the template data abstraction model, the two or more logical representations.
- 31. The computer readable medium of claim 30, wherein each template logical field comprises generic data location metadata; and wherein generating the two or more logical representations comprises, for each template logical field:
determining whether particular physical data of the database satisfies the generic data location metadata of the template logical field; and if so, creating a corresponding one of the plurality of logical fields with specific data location metadata mapping the corresponding one logical field to particular physical data of the database.
- 32. A computer, comprising:
a database for storing data; and a template processor configured for architecting a logical representation of physical data in a database, the architecting comprising:
retrieving a template data abstraction model defining template logical fields; and generating, on the basis of the template data abstraction model, a logical representation of the physical data, the logical representation defining a plurality of logical fields providing an abstract view of the physical data and adapted for transforming logical fields of abstract queries into a form consistent with the physical data in the database.
- 33. A computer, comprising:
a database for storing data; and a template processor configured for architecting a relationship between a logical representation of physical data in a database and a physical representation of the physical data, the architecting comprising: retrieving a plurality of databases, each database having an associated plurality of database data structures;
retrieving a template data abstraction model defining template logical fields, each template logical field defining a generic abstract view of a set of similar database data structures; receiving an abstract query against physical data included in one or more of the plurality of databases, the abstract query having a plurality of query logical fields for corresponding query data structures, each query logical field being generically defined by one of the template logical fields; and for each database of the plurality of databases:
determining whether the associated plurality of database data structures of the database includes all query data structures; and if it is determined that the associated plurality of database data structures of the database includes all query data structures, using the template data abstraction model to generate the logical representation for the physical data, the logical representation defining a plurality of logical fields providing an abstract view of the physical data and adapted for transforming the query logical fields into a form consistent with the physical data in the database.
- 34. A computer, comprising:
a database for storing data; and a processor configured for performing an operation of providing access to physical data in a database having a particular physical data representation, the operation comprising:
retrieving two or more logical representations, each logical representation defining a plurality of logical fields providing an abstract view of at least one portion of the physical data; receiving an abstract query from the requesting entity, wherein the abstract query comprises a plurality of logical field definitions; and selecting, on the basis of the plurality of logical field definitions of the abstract query, one of the two or more logical representations to use in transforming the abstract query into a form consistent with the at least one portion of the physical data.
- 35. A data structure residing in memory and comprising:
a template data abstraction model being configured for generation of a logical representation for at least one portion of physical data in a database, the logical representation defining a plurality of logical fields providing an abstract view of the at least one portion of the physical data and adapted for transformation of logical fields of abstract queries into a form consistent with the at least one portion of the physical data in the database, the template data abstraction model including:
a plurality of template logical fields defining a generic abstract view of the physical data in the database, each template logical field having generic data location metadata for generically representing a relationship between a specific logical field of the plurality of logical fields and a corresponding specific physical data item in the database.
CROSS-RELATED APPLICATION
[0001] This application is related to the following commonly owned application: U.S. patent application Ser. No. 10/083,075, filed Feb. 26, 2002, entitled “IMPROVED APPLICATION FLEXIBILITY THROUGH DATABASE SCHEMA AND QUERY ABSTRACTION”, which is hereby incorporated herein in its entirety.