Method and apparatus for creating indexes in a relational...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06374256

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention generally relates to database systems for computers and, more particularly, to an apparatus and methods for creating indexes in a relational database corresponding to classes in an object-oriented application.
2. Description of the Related Art
Object-database mapping tools assist in integrating tables in a database to corresponding classes in an object-oriented application. Conventional object-database mapping tools receive class definitions from an object-oriented application and automatically generate code, typically stored in a database schema, to create tables and other structures for the database. The tables and structures in the database are used to hold data corresponding to objects generated by an object-oriented application.
There are numerous challenges to improve the techniques for mapping object-oriented applications and databases in the object-database mapping tools. These techniques need to account for the organization of data in an object-oriented application compared with the organization of data in a database.
In an object-oriented application the skeleton of an object is a class. The class may have a number of fields used to store values or states typically used by object instances of the class. The class may also include specific methods which define how objects instantiated from each class will interact with each other and hold certain information in each of the corresponding fields. A hierarchical class structure provides an organized framework for creating objects and their relationships.
In contrast, databases have features that object-oriented applications do not possess. The database typically organizes data using one or more tables having multiple rows and columns. A data relationship is defined by the manner in which data is stored in the various rows and columns of the tables. A single table or multiple tables can be used to hold every row or record of data. A primary key includes one or more columns in a table that uniquely define each row of data. If multiple tables are used to store a data, a foreign key associates rows of data in one table with another table.
Unlike classes in an object-oriented application, databases index columns of data for fast access. Each database index is made on columns of data contained in a single table. Conventional mapping tools do not provide the object-oriented user a generalized technique for specifying how an index should be generated in a database. In many cases, the object-oriented user would have to have database programming skills to manually generate indexes in the database. This could become a complex process requiring the object-oriented user to create several indexes depending on the mapping of objects into the database. For example, the user may be required to generate several different indexes if several fields in an object correspond to several tables in a database. In these more complex situations, conventional object-database mapping tools are difficult to use. These tools require the object-oriented user to understand databases and manually generate indexes. Finding such a knowledgeable user is generally difficult. Moreover, the object-oriented user must also understand how fields in classes map to columns in tables of a database and the data processing trade-offs in generating several different indexes. For at least these reasons, optimizing data processing performance with database indexes is a difficult process using conventional object-database mapping tools. As a result, the cost and complexity of integrating object-oriented systems and databases can increase significantly.
Based on the above limitations found in conventional database and object-oriented systems, it is desirable to improve the methods and systems for creating indexes in a database corresponding to fields in an object-oriented application.
SUMMARY OF THE INVENTION
In accordance with methods and systems consistent with the present invention, an improved object-database mapping tool is provided that generates indexes in a database corresponding to classes in an object-oriented application. Initially, the mapping tool maps each class in an object-oriented application to a table in a database. A user, for example, selects one or more fields to be indexed from one or more classes. The tool determines if the selected fields correspond to the columns in more than one table in the database. If the selected fields correspond to a plurality of tables in the database then the mapping tool generates a plurality of indexes. Alternatively, if the fields correspond to one table in the database then the mapping tool generates a single index.


REFERENCES:
patent: 4589092 (1986-05-01), Matick
patent: 5043876 (1991-08-01), Terry
patent: 5261069 (1993-11-01), Wilkinson et al.
patent: 5263155 (1993-11-01), Wang
patent: 5280612 (1994-01-01), Lorie et al.
patent: 5291583 (1994-03-01), Bapat
patent: 5301297 (1994-04-01), Menon et al.
patent: 5404510 (1995-04-01), Smith et al.
patent: 5499371 (1996-03-01), Henninger et al.
patent: 5504885 (1996-04-01), Alashqur
patent: 5542078 (1996-07-01), Martel et al.
patent: 5574882 (1996-11-01), Menon et al.
patent: 5596746 (1997-01-01), Shen et al.
patent: 5615362 (1997-03-01), Jensen et al.
patent: 5706506 (1998-01-01), Jensen et al.
patent: 5732257 (1998-03-01), Atkinson et al.
patent: 5742813 (1998-04-01), Kavanagh et al.
patent: 5765159 (1998-06-01), Srinivasan
patent: 5774731 (1998-06-01), Higuchi et al.
patent: 5797137 (1998-08-01), Golshani et al.
patent: 5812134 (1998-09-01), Pooser et al.
patent: 5829006 (1998-10-01), Parvathaneny et al.
patent: 5835910 (1998-11-01), Kavanagh et al.
patent: 5850544 (1998-12-01), Parvathaneny et al.
patent: 5857197 (1999-01-01), Mullins
patent: 5864856 (1999-01-01), Young
patent: 5878411 (1999-03-01), Burroughs et al.
patent: 5878419 (1999-03-01), Carter
patent: 5893108 (1999-04-01), Srinivasan et al.
patent: 5907846 (1999-05-01), Berner et al.
patent: 5937409 (1999-08-01), Wetherbee
patent: 6003040 (1999-12-01), Mital et al.
patent: 6009428 (1999-12-01), Kleewein et al.
patent: 6038565 (2000-03-01), Nock
patent: 6163775 (2000-12-01), Walaschin et al.
patent: 6163776 (2000-12-01), Periwal
patent: 6175837 (2001-01-01), Sharma et al.
patent: WO 95/03586 (1995-02-01), None
patent: WO 95/04960 (1995-02-01), None
patent: WO 97/03406 (1997-01-01), None
Fitsilis, P., et al., “Producing Relational Database Schemata From an Object Oriented Design,” 1994, IEEE, pp. 251-257.
“The Enterprise Objects Framework,” Enterprise Objects Framework: Building Reusable Business Objects, Jul. 1994, pp. 1-13.
Arnold and Gosling, “The Java™ Programming Language”, Addison-Wesley 1997.
T. Lindholm and F. Yellin, “The Java Virtual Machine Specification” Second Edition, Apr. 1999, pp. 1-473.
“Customizable Four Pane Layout for Database Table Definition,” Dec. 1992, pp. 268-269.
H. Bank, “OQL,” Sep. 15, 1997 (Rev. 0.11), pp. 1-7.
“Applications in Java and Extended Java,” Sep. 28, 1998, pp. 1-21.
“Sun Simplifies Database Programming with Java Blend,” Aug. 21, 1997, pp. 1-3.
S. Wang, “Improvement of Concurrency Control Within Object-Oriented Database Systems,” Apr. 5, 1990, IEEE, pp. 68-70.
S. Heiler and S. Zdonik, “Object Views: Extending the Vision,” 1990 IEEE, pp. 86-93.
D. Agrawal, A. Bernstein, P. Gupta, and S. Sengupta, “Distributed Multi-Version Optimistic Concurrency Control for Relational Database,” Mar. 1986, pp. 416-421.
X. Qian and L. Raschid, “Query Interoperation Among Object-Oriented and Relational Databases,” Mar. 6, 1995, IEEE, pp. 271-278.
S. Gantimahapatruni and G. Karabatis, “Enforcing Data Dependencies in Cooperative Information Systems,” May 12, 1993, IEEE, pp. 332-341.
IBM Technical Disclosure Bulletin, vol. 38, No. 01, Jan. 1995, Fast and Secure Stored Procedures for a Client/Server DBMS, pp. 79-82.
A. Alashqur and C. Thompson, “O-R Gateway: A System for Connecting C++ Application Programs and Relational Databases,” Aug. 10, 1992, pp. 151-169.
R. Ahad and T. Cheng, Hewlett-Packard Journal 44 Jun. 1993,

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for creating indexes in a relational... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for creating indexes in a relational..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for creating indexes in a relational... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2830040

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.