Method for automated database schema evolution
First Claim
1. A method for modifying a database structure, the database being defined at least partly by commands that define a database schema containing tables with fields that have attributes, comprising the steps of:
- providing a set of schema instructions defining a database structure according to a preexisting schema;
providing a corresponding set of schema instructions defining the database according to a modified schema;
parsing the schema instructions for both the preexisting schema and the modified schema, so as to produce two logical syntax trees wherein the database structure is defined by at least a subset of structure types and attributes of which at least one differs between the preexisting schema and the modified schema;
comparing the two logical syntax trees to generate a set of differences between said structure types and attributes of the subset;
generating from the differences a set of database modification commands for altering a database according to the preexisting schema, to a database according to the modified schema, with respect to the structure types and attributes of the subset.
1 Assignment
0 Petitions
Accused Products
Abstract
A database structure of a sort defined by an access and query language that defines tables of variables having labels and field characteristics, such as ANSI structured query language (SQL), is modified by determining the structural differences between an existing schema and a new schema, independent of database contents. The differences are processed to generate commands that are then applied to evolve an existing database from the old schema or structure to the new one. This avoids the need to dump and restructure the contents of the old database for reload into an empty new database that has been prepared to meet the new schema.
110 Citations
14 Claims
-
1. A method for modifying a database structure, the database being defined at least partly by commands that define a database schema containing tables with fields that have attributes, comprising the steps of:
-
providing a set of schema instructions defining a database structure according to a preexisting schema;
providing a corresponding set of schema instructions defining the database according to a modified schema;
parsing the schema instructions for both the preexisting schema and the modified schema, so as to produce two logical syntax trees wherein the database structure is defined by at least a subset of structure types and attributes of which at least one differs between the preexisting schema and the modified schema;
comparing the two logical syntax trees to generate a set of differences between said structure types and attributes of the subset;
generating from the differences a set of database modification commands for altering a database according to the preexisting schema, to a database according to the modified schema, with respect to the structure types and attributes of the subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium encoded with computer-executable instructions for controlling operation of a processor of a printing device to cause the processor to perform a method comprising:
-
providing a set of schema instructions defining a database structure according to a preexisting schema;
providing a corresponding set of schema instructions defining the database according to a modified schema;
parsing the schema instructions for both the preexisting schema and the modified schema, so as to produce two logical syntax trees wherein the database structure is defined by at least a subset of structure types and attributes of which at least one differs between the preexisting schema and the modified schema;
comparing the two logical syntax trees to generate a set of differences between said structure types and attributes of the subset;
generating from the differences a set of database modification commands for altering a database according to the preexisting schema, to a database according to the modified schema, with respect to the structure types and attributes of the subset. - View Dependent Claims (13)
-
-
14. A dataprocessing system for manipulating a database, comprising at least one programmed processor responsive to computer-executable instructions configured for:
-
providing a set of schema instructions defining a database structure according to a preexisting schema;
providing a corresponding set of schema instructions defining the database according to a modified schema;
parsing the schema instructions for both the preexisting schema and the modified schema, so as to produce two logical syntax trees wherein the database structure is defined by at least a subset of structure types and attributes of which at least one differs between the preexisting schema and the modified schema;
comparing the two logical syntax trees to generate a set of differences between said structure types and attributes of the subset;
generating from the differences a set of database modification commands for altering a database according to the preexisting schema, to a database according to the modified schema, with respect to the structure types and attributes of the subset.
-
Specification