← Back to Patent Explorer
US5956725A Expired / Lapsed US ⏱️ 0.0 years remaining

Schema mapping to a legacy table with primary and foreign key support

Assignee: International Business Machines Corp
•
Filing: 1997-11-26
•
Granted: 1999-09-21
•
Expires: 2017-11-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for mapping an object and an associated handle between the object-oriented schema of an application program and the relational schema of a database in which the object is persisted. The handle is reconstructed in response to a run-time request by an application program to instantiate the object. The handle may be an independent handle or an embedded handle. The relationships afforded by primary keys and foreign keys in a legacy, i.e., existing, relational database, can be preserved by mapping them to the independent and embedded handles, respectively. The mapping is performed prior to application program run-time, and is defined in a high-level schema mapping language, which may be generated with the aid of a schema mapping software tool.

Inventors

  • 👤 Tracy Kim Burroughs
  • 👤 Steven John Gansemer
  • 👤 Wilson D. Lee
  • 👤 Erik E. Voldal
  • 👤 Cynthia Ann Rogers
  • 👤 Laura Jane Zaborowski

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 11:34
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99942

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 234 words
A computer-implemented method for mapping an object having an object class and an independent handle having a handle class between object-oriented schema and relational database schema, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns for storing a persistent state of said object, the method comprising the steps of: determining whether a group of one or more of said columns is pre-defined as a primary key; selecting a group of one or more fields represented by instance variables of said handle class defining a unique identity for said object; generating mapping software code in a high-level language, said mapping software code defining a mapping between said group of columns pre-defined as a primary key and said instance variables representing said fields of said handle class defining a unique identity for said object; retrieving, in response to an instantiation request at application program runtime, a group of one or more values from said group of one or more columns defined as a primary key; and instantiating a handle object of said handle class in response to said request, said handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 2
Dependent Claim 234 words
A computer-implemented method for mapping an object having an object class and an independent handle having a handle class between object-oriented schema and relational database schema, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns for storing a persistent state of said object, the method comprising the steps of: determining whether a group of one or more of said columns is pre-defined as a primary key; selecting a group of one or more fields represented by instance variables of said handle class defining a unique identity for said object; generating mapping software code in a high-level language, said mapping software code defining a mapping between said group of columns pre-defined as a primary key and said instance variables representing said fields of said handle class defining a unique identity for said object; retrieving, in response to an instantiation request at application program runtime, a group of one or more values from said group of one or more columns defined as a primary key; and instantiating a handle object of said handle class in response to said request, said handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 3
Dependent Claim 62 words
The computer-implemented method recited in claim 1, further comprising the step of: defining a key object class having fields represented by instance variables; wherein said selecting step comprises the step of selecting a group of one or more fields represented by instance variables of said key object class, said instance variables of said handle class defining said unique identity for said object.
Claim 4
Dependent Claim 131 words
The computer-implemented method recited in claim 1, further comprising the step of: adding, at application program run-time, when no group of one or more of said columns is predefined as a primary key, a group of one or more additional columns to said table, a resulting group of columns defining a primary key; wherein said mapping software code defines a mapping between said columns defining a primary key and said instance variables representing said fields of said handle class defining a unique identity for said object; and wherein said instantiating step comprises the step of instantiating a handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 5
Dependent Claim 39 words
The computer-implemented method recited in claim 3, wherein group of fields of said handle class defining a unique identity for said object include a unique system-generated value identifying said object from all other objects defined by said application program.
Claim 6
Dependent Claim 220 words
The computer-implemented method recited in claim 1, further comprising the step of creating a sidetable when a primary key of said table does not correspond to any group of one or more fields of said object, said sidetable having a primary key defined by a group of one or more columns and having a foreign key into a primary key of said table, and wherein: said mapping software code defines a mapping between said group of one or more columns defined as a primary key of said sidetable and said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object, said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object corresponding to a group of one or more fields represented by instance variables of said object; said retrieving step comprises retrieving a group of one or more values from said group of one or more columns of said sidetable defining a primary key; and said instantiating step comprises the step of instantiating a handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 7
Dependent Claim 132 words
The computer-implemented method recited in claim 1, wherein said mapping software code defines, when a primary key of said table does not correspond to any group of one or more fields of said object, a mapping between said group of one or more columns defined as a primary key of said table and said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object, said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object corresponding to said group of one or more columns defined as a primary key of said table but not corresponding to any group of one or more fields represented by instance variables of said object.
Claim 8
Dependent Claim 233 words
A computer-implemented method for mapping an object having an object class and referenced by an embedded handle between object-oriented schema and relational database schema, said embedded handle having a handle class, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns, the method comprising the steps of: determining whether a group of one or more of said columns is pre-defined as a foreign key; selecting a group of one or more fields represented by instance variables of said handle class defining a unique identity for said object; generating mapping software code in a high-level language, said mapping software code defining a mapping between said group of columns pre-defined as a foreign key and said instance variables representing said fields of said handle class defining a unique identity for said object; retrieving, in response to an instantiation request at application program runtime, a group of one or more values from said group of one or more columns defined as a primary key; and instantiating an embedded handle object of said handle class in response to said request, said embedded handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 9
Dependent Claim 233 words
A computer-implemented method for mapping an object having an object class and referenced by an embedded handle between object-oriented schema and relational database schema, said embedded handle having a handle class, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns, the method comprising the steps of: determining whether a group of one or more of said columns is pre-defined as a foreign key; selecting a group of one or more fields represented by instance variables of said handle class defining a unique identity for said object; generating mapping software code in a high-level language, said mapping software code defining a mapping between said group of columns pre-defined as a foreign key and said instance variables representing said fields of said handle class defining a unique identity for said object; retrieving, in response to an instantiation request at application program runtime, a group of one or more values from said group of one or more columns defined as a primary key; and instantiating an embedded handle object of said handle class in response to said request, said embedded handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 10
Dependent Claim 62 words
The computer-implemented method recited in claim 7, further comprising the step of: defining a key object class having fields represented by instance variables; wherein said selecting step comprises the step of selecting a group of one or more fields represented by instance variables of said key object class, said instance variables of said handle class defining said unique identity for said object.
Claim 11
Dependent Claim 127 words
The computer-implemented method recited in claim 7, further comprising the step of: adding, at application program run-time, a group of one or more additional columns to said table, a resulting group of columns defining a foreign key into a secondary table for storing a persistent state of said object; wherein said mapping software code defines a mapping between said columns defining a foreign key and said instance variables representing said fields of said handle class defining a unique identity for said object; and wherein said instantiating step comprises the step of instantiating a handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said object set to said values in accordance with said mapping.
Claim 12
Dependent Claim 199 words
The computer-implemented method recited in claim 7, further comprising the step of creating a sidetable having a primary key defined by a group of one or more columns and having a foreign key into a primary key of said table, and wherein: said mapping software code defines a mapping between said group of one or more columns defined as a primary key of said sidetable and said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object, said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object corresponding to a group of one or more fields represented by instance variables of said object; said retrieving step comprises retrieving a group of one or more values from said group of one or more columns of said sidetable defining a primary key; and said instantiating step comprises the step of instantiating an embedded handle object having said instance variables representing said group of one or more fields of said handle class defining a unique identity for said embedded object set to said values in accordance with said mapping.
Claim 13
Dependent Claim 114 words
The computer-implemented method recited in claim 7, wherein said mapping software code defines, when a foreign key of said table does not correspond to any group of one or more fields of said object, a mapping between said group of one or more columns defined as a primary key of said table and said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object, said group of one or more fields represented by instance variables of said handle class defining a unique identity for said object corresponding to said group of one or more columns defined as a primary key of said table.
Claim 14
Independent Claim 210 words
A system for mapping an object having an object class and an assocated handle having a handle class between object-oriented schema and relational database schema, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns for storing a persistent state of said object, the method comprising the steps of:, the system comprising: a schema mapping tool for receiving from a user a selection of a group of one or more instance variables defining a unique identity for said object, for receiving from said user a mapping between said instance variables and a key of said relational database schema, and for generating mapping software code in a high-level language in response to said selection and said mapping; and a schema map run-time code generator for instantiating a schema map object and a key object at application program run-time, said schema map object instantiating a handle object in response to a request for restoring an object from a database, said handle object having an object identifier field represented by a group of one or more of said instance variables set to values retrieved from said database in accordance with said mapping.
Claim 15
Independent Claim 210 words
A system for mapping an object having an object class and an assocated handle having a handle class between object-oriented schema and relational database schema, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns for storing a persistent state of said object, the method comprising the steps of:, the system comprising: a schema mapping tool for receiving from a user a selection of a group of one or more instance variables defining a unique identity for said object, for receiving from said user a mapping between said instance variables and a key of said relational database schema, and for generating mapping software code in a high-level language in response to said selection and said mapping; and a schema map run-time code generator for instantiating a schema map object and a key object at application program run-time, said schema map object instantiating a handle object in response to a request for restoring an object from a database, said handle object having an object identifier field represented by a group of one or more of said instance variables set to values retrieved from said database in accordance with said mapping.
Claim 16
Dependent Claim 25 words
The system recited in claim 12, wherein said key of said relational database schema is a primary key, and said handle is an independent handle.
Claim 17
Dependent Claim 25 words
The system recited in claim 12, wherein said key of said relational database schema is an foreign key, and said handle is an embedded handle.
Claim 18
Dependent Claim 214 words
A computer program product for mapping an object having an object class and an assocated handle having a handle class between object-oriented schema and relational database schema, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns for storing a persistent state of said object, said computer program product comprising a signal-bearing medium carrying thereon: a schema mapping tool for receiving from a user a selection of a group of one or more instance variables defining a unique identity for said object, for receiving from said user a mapping between said instance variables and a key of said relational database schema, and for generating mapping software code in a high-level language in response to said selection and said mapping; and a schema map run-time code generator for instantiating a schema map object and a key object at application program run-time, said schema map object instantiating a handle object in response to a request for restoring an object from a database, said handle object having an object identifier field represented by a group of one or more of said instance variables set to values retrieved from said database retrieved in accordance with said mapping.
Claim 19
Dependent Claim 214 words
A computer program product for mapping an object having an object class and an assocated handle having a handle class between object-oriented schema and relational database schema, said object class defining fields represented by instance variables, said handle class defining fields represented by instance variables, said relational database schema defined by a table having a plurality of columns for storing a persistent state of said object, said computer program product comprising a signal-bearing medium carrying thereon: a schema mapping tool for receiving from a user a selection of a group of one or more instance variables defining a unique identity for said object, for receiving from said user a mapping between said instance variables and a key of said relational database schema, and for generating mapping software code in a high-level language in response to said selection and said mapping; and a schema map run-time code generator for instantiating a schema map object and a key object at application program run-time, said schema map object instantiating a handle object in response to a request for restoring an object from a database, said handle object having an object identifier field represented by a group of one or more of said instance variables set to values retrieved from said database retrieved in accordance with said mapping.

References Cited (Backward Citations)

US5613099A Cited
US5838965A Cited
US5872973A Cited
US5870749A Cited
US5878411A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-20 2003-03-22 2003-09-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-20 2007-03-22 2007-09-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-20 2011-03-22 2011-09-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag