Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1997-10-16
2002-04-16
Coby, Frantz (Department: 2171)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06374252
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon.
2. Description of Related Art
In the design of computer software systems, it is considered superior to associate each data item with a data type, and to present a relatively uniform interface to objects of each data type to all elements of the system. This technique allows elements of the system to rely on the characteristics of the data type, of the uniform interface to that data type, and of the relationships between that data type and other data types. In addition to so-called “built in” data types, such as integers and floating point numbers, it is also superior to extend this technique to more complex data types, sometimes called “classes,” including classes defined by a user of the system. (For example, a user might define a class called telephone number and thus allow elements of the system to store, manipulate, or retrieve telephone numbers as if they were fundamental pieces of information.) Techniques of defining classes of software objects and restricting access to those objects are now common with some programming languages, such as the C++ and Smalltalk programming languages, called object-oriented programming languages (“OOPL”).
Recently it has been found that the technique of defining classes of software objects and manipulating those objects has been useful for database applications as well. In object-oriented database (“OODB”) applications, a user defines classes of objects, properties of those classes, and relationships between those classes, and populates a database with data items which are instances of those objects. (For example, the class telephone number might be used to store telephone numbers for persons, companies, and computer networks.) It has been found that object-oriented database management presents the advantages of rapid application and database development and of relative software reliability.
However, one problem which has arisen in the art is that many database systems have been designed to operate with another, different database technique, known as “relational database” management (RDBM). In a relational database, the database comprises a set of data tables which represent the relationships between data items. Each table comprises a set of records, one record for each data item; each record comprises a set of columns or fields, one column for each data value associated with the data item. (For example, each record in a table of persons might have a column defined for that person's telephone number; similarly, each record in a table of companies might have a column defined for that company's telephone number.) Relational databases have been found to be successful and efficient in managing large databases. Due to their success, there is a substantial investment in relational database management systems, and in applications and computer programs which support or interface to relational database management systems.
It would be advantageous to obtain the advantages of object-oriented database management, while retaining the efficiency of, and the installed investment in, relational database management systems.
One problem which has arisen in the art is that the tools for creating, implementing, and manipulating object-oriented databases are generally inconsistent with the tools for creating, implementing, and manipulating relational databases.
U.S. Pat. No. 5,291,583, “Automatic Storage of Persistent ASN.1 Objects in a Relational Schema”, issued Mar. 1, 1994, in the name of inventor Subodh Bapat, and, assigned to Racal-Datacom, Inc., and U.S. Pat. No. 5,295,256, “Automatic Storage of Persistent Objects in a Relational Schema”, issued Mar. 15, 1994, also in the name of inventor Subodh Bapat, and also assigned to Racal-Datacom, Inc., show a method for compiling structures defined using an object-oriented programming language, such as C++ or Smalltalk, into a relational database structure. However, while the method shown in these patents generally achieves the goal of creating a relational database structure for persistent storage of objects, it is generally inadequate to the other tasks demanded of a database application, including dynamically modifying the object hierarchy and object relationships, populating the database, dynamically populating and editing the objects in the database, and dynamically generating and performing searches against the database.
The following patents are examples of the art:
U.S. Pat. No. 5,398,336, “Object-Oriented Architecture for Factory Floor Management”, issued Mar. 14, 1995, in the name of inventors Subhash B. Tantry, et al., and assigned to Consilium, Inc.
U.S. Pat. No. 5,212,787, “Method and Apparatus for Accessing A Relational Database Without Exiting An Object-Oriented Environment”, issued May 18, 1993, in the name of inventors Ronald B. Baker, et al., and assigned to International Business Machines Corporation.
U.S. Pat. No. 5,201,046, “Relational Database Management System and Method for Storing, Retrieving and Modifying Directed Graph Data Structures”, issued Apr. 6, 1993, in the name of inventors Robert N. Goldberg, et al., and assigned to Xidak, Inc.
U.S. Pat. No. 5,181,162, “Document Management and Production System”, issued Jan. 19, 1993, in the name of inventors Robert M. Smith, et al., and assigned to Eastman Kodak Company.
U.S. Pat. No. 5,161,225, “Persistent Stream for Processing Time Consuming and Reusable Queries in An Object Oriented Database Management System”, issued Nov. 3, 1992, in the name of inventors Robert L. Abraham, et al., and assigned to International Business Machines Corporation.
U.S. Pat. No. 5,133,075, “Method of Monitoring Changes in Attribute Values of Objects in An Object-Oriented Database”, issued Jul. 21, 1992, in the name of inventor Tore J. M. Risch, and assigned to Hewlett-Packard Company.
U.S. Pat. No. 4,930,071, “Method for Integrating A Knowledge-Based System with An Arbitrary Database System”, issued May 29, 1990, in the name of inventors Frederich N. Tou, et al., and assigned to IntelliCorp, Inc.
Accordingly, it would be advantageous to provide a method of compilation and translation between object-oriented and relational database structures which obtains the advantages of object-oriented database applications, while retaining the ability to use present relational database management systems.
SUMMARY OF THE INVENTION
The invention provides a method and system for modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon. The invention thus allows a user to create, edit and manipulate a user's object database (which the method and system dynamically translates into a set of relational database structures), to create, edit and manipulate objects for that object database (which the method and system dynamically translates into data for those relational database structures), and to create, edit and manipulate queries to be applied to that object database (which the method and system dynamically translates into queries to be applied to those relational database structures).
The method and system includes a meta-model of the user's object database, which is itself an object database, and which has itself been translated into a set of relational database structures for manipulation by a relational database engine. The meta-model comprises a set of classes, objects, and relationships between classes which model the classes and relationships between classes of the system. Each of these classes may comprise a set of searchable properties, and each of these relationships may comprise an inheritance relationship (between a base class and a derived class) or a data-model relationship (such as a one-to-one, one-to-many, or many-to-many relationship). The data model of the user's object database is modeled by actual objects in the meta-model, and editing or manipula
Althoff James
Belanger Ken
Koushik Ravi
Lee Seung
McGinnis Brian
Baker & Botts L.L.P.
Coby Frantz
i2 Technologies US, Inc.
LandOfFree
Modeling of object-oriented database structures, translation... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Modeling of object-oriented database structures, translation..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Modeling of object-oriented database structures, translation... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2825127