Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-07-19
2002-09-17
Vu, Kim (Department: 2172)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000, C707S793000
Reexamination Certificate
active
06453322
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates in general to database management systems performed by computers, and in particular, to the extension of data definition language (DDL) capabilities for relational databases.
2. Description of Related Art
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. Relational databases are organized into tables which consist of rows and columns of data. The rows are formally called tuples. A database will typically have many tables and each table will typically have multiple tuples and multiple columns. The tables are typically stored on random access storage devices (RASD) such as magnetic or optical disk drives for semi-permanent storage.
RDBMS software using a Structured Query Language (SQL) interface is well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO). The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages, such as C and COBOL. SQL allows the user to manipulate the data. The definitions for SQL provide that a RDBMS should respond to a particular query with a particular set of data given a specified database content, but the method that the RDBMS uses to actually find the required information in the tables on the disk drives is left up to the RDBMS. Typically, there will be more than one method that can be used by the RDBMS to access the required data. The RDBMS will optimize the method used to find the data requested in a query in order to minimize the computer time used and, therefore, the cost of performing the query.
Applications (i.e., application programs) communicate with relational databases using the Structured Query Language (SQL). SQL statements are issued to the RDBMS, which executes the SQL statements to access a relational database. The SQL statements received from an application are executed within a “unit of work”, which is a collection of related SQL statements. Once the SQL statements are executed, they are either “committed” (i.e., the changes made by the executed SQL statements is made permanent in the relational database) or they are “rolled back” (i.e., the changes made by the executed SQL statements are removed, returning the relational database to the state it was in prior to execution of these statements).
The SQL statements that involve modifying data (e.g., inserting, updating or deleting rows) are called Data Modification Language (DML) statements. The SQL statements that involve defining database elements (e.g., defining data tables, views, or indexes) are called Data Definition Language (DDL) statements. Not all relational databases support DDL statements in the same way.
In particular, DB
2
for the Workstation (i.e., NT, AIX, etc.), from International Business machines, Corporation, supports the capability of rolling back DDL statements that have been executed within a unit of work. On the other hand, a relational database from Oracle supports “automatic commit” for DDL statements. That is, the Oracle relational database automatically commits changes for a DDL statement as that DDL statement is executed. Once these changes are committed, the Oracle relational database does not support rolling back the DDL statement changes. This means that a series of DDL statements cannot be rolled back if an error occurs somewhere along the thread of execution.
Also, DB
2
for the workstation supports the capability of creating a view or index with a name, dropping that view or index, and then creating another view or index with that name, within the same unit of work. Because DB
2
for the workstation has the capability of rolling back statements for a unit of work, an application has rollback capability when reusing view or index names. However, DB
2
for the
390
, from International Business Machines, Corporation, requires an application to perform a commit prior to reusing a name for a view or index. Since rollback is not available after changes have been committed, an application calling DB
2
on the
390
does not have the capability of rolling back changes for a unit of work, if that unit of work has dropped and recreated an index or view with the same name.
Both of these problems mean that any application which issues DDL statements and which wants the ability to roll back the DDL statements, would need to be written differently to support these three relational database systems (i.e., platforms): DB
2
for the Workstation, DB
2
for
390
, and Oracle. Therefore, there is a need in the art for extension of data definition language (DDL) capabilities for relational databases to support different relational database systems.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for a DDL Extension layer that provides extended data definition language (DDL) capabilities for relational databases.
According to an embodiment of the invention, a command is executed in a computer to perform a database operation on a relational database stored on a data store connected to the computer. The command is received from one of a plurality of applications. One or more compensating operations are logged for the command, wherein each compensating operation corresponds to an action to be performed for a rollback or a commit operation. An identifier is associated with the compensating operations, wherein the identifier identifies the unit of work from which the command was received.
REFERENCES:
patent: 5287501 (1994-02-01), Lomet
patent: 5455946 (1995-10-01), Mohan et al.
patent: 5551027 (1996-08-01), Choy et al.
patent: 5689633 (1997-11-01), Cotner et al.
patent: 5794241 (1998-08-01), Loaiza
patent: 5884328 (1999-03-01), Mosher, Jr.
patent: 5905985 (1999-05-01), Malloy et al.
patent: 5913164 (1999-06-01), Pawa et al.
patent: 6016495 (2000-01-01), McKeehan et al.
patent: 6112024 (2000-08-01), Almond et al.
patent: JO1095324 (1987-10-01), None
System Supplied Data Integrity;Software Patent Institute Database of Software Technologiespp. 3718-3721 (Dec. 82), IBM TDB1282.0136.
DeKimpe Daniel Martin
Malloy William Earl
Tomlyn Craig Reginald
Fay Sharpe Fagan Minnich & McKee LLP
International Business Machines - Corporation
Nguyen Tam V
Vu Kim
LandOfFree
Extension of data definition language (DDL) capabilities for... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Extension of data definition language (DDL) capabilities for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Extension of data definition language (DDL) capabilities for... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2867339