US5295256A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Automatic storage of persistent objects in a relational schema
Assignee: Progress Software Corp
•
Filing: 1990-12-14
•
Granted: 1994-03-15
•
Expires: 2010-12-14
Abstract
Abstract A translator for translating objects defined in an object-oriented programming environment to a relational database schema permits persistent storage of object instances as records in a relational database. Object instances are mapped to entity tables with object instances represented by entity records. Simple attributes are mapped to primitive typed attribute columns and class valued attributes are represented by foreign keys into entity attribute tables. Derived attributes are represented by joins of the parent and child entity records.
Inventors
- 👤 Subodh Bapat
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-26 17:06
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/289; G06F16/284; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933
Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
349 words
A method for a computer to translate an object class hierarchy into a relational schema, comprising in combination the steps of: providing said computer with a computer memory; providing in said computer memory a first computer program having at least one class hierarchy organization of object-oriented information and being in source code form, said class hierarchy organization comprising at least one parent class of objects having a first attribute and one derived class including at least one of said objects of said parent class, said derived class having a second attribute, said derived class inheriting said first attribute from said parent class; analyzing said first computer program with a second computer program to locate automatically said class hierarchy organization; using said second computer program to create automatically from said located class hierarchy organization a first source code routine in said computer memory for defining a first table structure, corresponding to said parent class, including a first table name, said first table structure including: a first instance identifier field for storing a unique first instance identifier for each particular object instance of one of said objects, and a first attribute field for storing an attribute instance of said first attribute for said each perpendicular object instance, said first instance identifier field and said first attribute field composing a record of said first table structure; using said second computer program to create automatically from said located class hierarchy organization a second source code routine for defining a second table structure, corresponding to said derived class, including a second table name, said second table structure including: a second instance identifier field for storing a second instance identifier which identifies said particular object instance of said one of said objects included said derived class, and a second attribute field for storing an attribute instance of said second attribute for said particular object instance of said one of said objects included in said derived class, said second instance identifier field and said second attribute field composing a record of said second table structure; and referencing said second identifier field to said first identifier field.
Claim 2
Independent Claim
349 words
A method for a computer to translate an object class hierarchy into a relational schema, comprising in combination the steps of: providing said computer with a computer memory; providing in said computer memory a first computer program having at least one class hierarchy organization of object-oriented information and being in source code form, said class hierarchy organization comprising at least one parent class of objects having a first attribute and one derived class including at least one of said objects of said parent class, said derived class having a second attribute, said derived class inheriting said first attribute from said parent class; analyzing said first computer program with a second computer program to locate automatically said class hierarchy organization; using said second computer program to create automatically from said located class hierarchy organization a first source code routine in said computer memory for defining a first table structure, corresponding to said parent class, including a first table name, said first table structure including: a first instance identifier field for storing a unique first instance identifier for each particular object instance of one of said objects, and a first attribute field for storing an attribute instance of said first attribute for said each perpendicular object instance, said first instance identifier field and said first attribute field composing a record of said first table structure; using said second computer program to create automatically from said located class hierarchy organization a second source code routine for defining a second table structure, corresponding to said derived class, including a second table name, said second table structure including: a second instance identifier field for storing a second instance identifier which identifies said particular object instance of said one of said objects included said derived class, and a second attribute field for storing an attribute instance of said second attribute for said particular object instance of said one of said objects included in said derived class, said second instance identifier field and said second attribute field composing a record of said second table structure; and referencing said second identifier field to said first identifier field.
Claim 3
Dependent Claim
23 words
The method of claim 1, wherein said referencing step comprises placing identical said instance identifiers in said first and second instance identifier fields.
Claim 4
Dependent Claim
96 words
The method of claim 2, further comprising the step of using said second computer program to create automatically a third source code routine in said computer memory for joining said record of said first table structure to said record of said second table structure by using said instance identifier in said first and second instance identifier fields to extract said attribute instances of said first and second attribute fields for said particular object instance, whereby said derived class inheriting said first attribute from said parent class of said class hierarchy is preserved in said relational schema.
Claim 5
Dependent Claim
57 words
The method of claim 1, further comprising the step of using said second computer program to create automatically a third source code routine in said computer memory for querying said table structures using a "JOIN" operator from SQL to find said instances of said attributes in said records having said first and second instance identifier fields referenced.
Claim 6
Dependent Claim
31 words
The method of claim 3, further comprising the step of compiling said first program and said third source code routines to create a run-time computer program stored in said computer memory.
Claim 7
Dependent Claim
23 words
The method of claim 5, further comprising the step of storing said table structures in a persistent media operatively coupled to said computer.
Claim 8
Dependent Claim
31 words
The method of claim 1, further comprising the step of generating a source code routine for a set of dictionary tables which contain information adequate to define the class hierarchy relationship.
Claim 9
Dependent Claim
71 words
The method of claim 1, wherein said steps of creating said source code routines includes creating said source code routines for constructing SQL commands to create said table structures; and further including the steps of providing a relational database management system stored in a persistent memory and sending said SQL commands to said relational database management system to cause said table structures to be generated and stored in said persistent memory.
Claim 10
Dependent Claim
15 words
The method of claim 8, wherein said SQL commands are generated using function call syntax.
Claim 11
Dependent Claim
15 words
The method of claim 8, wherein said SQL commands are generated using imbedded precompiler syntax.
Claim 12
Dependent Claim
33 words
The method of claim 1, further comprising the step of generating a source code routine for creating a view of said second table structure which includes a join into said first table structure.
Claim 13
Dependent Claim
38 words
The method of claim 1, further comprising the step of using said second computer program to create automatically additional source code routines in said computer memory for storage, deletion and retrieval of object instances in said table structures.
Claim 14
Dependent Claim
29 words
The method of claim 12, further comprising the step of generating a source code routine for checking referential integrity upon deletion of said particular instance from said table structures.
Claim 15
Dependent Claim
19 words
The method of claim 1, further comprising the step of generating source code creating indexes on said table structures.
Claim 16
Independent Claim
353 words
An apparatus for translating information represented as an object-class hierarchy into a relational table schema, comprising in combination: central processing means; computer memory means, operatively coupled to said central processing means, for temporary storage of information; a computer program, stored in said computer memory means in source code form, including at least one data organization in the form of said object class hierarchy, said object class hierarchy being for object-oriented data and including at least one parent class of objects having a first attribute and one derived class of at least one of said objects having a second attribute, said derived class inheriting said first attribute from said parent class; schema translator means, stored in said computer memory, for locating automatically said object class hierarchy in said computer program and for translating said object class hierarchy into said relational table schema; said schema translator means including first table means for defining automatically in said relational table schema a first table structure, corresponding to said parent class, including a first table name, said first table structure including: a first instance identifier field for storing a first instance identifier which identifies a particular object instance of said one object, and a first attribute field for storing an attribute instance of said first attribute for said one object, said first instance identifier field and said first attribute field comprising a record of said first table structure; said schema translator means further including second table means for defining automatically in said relational table schema a second table structure, corresponding to said derived class, including a second table name, said second table structure including: a second instance identifier field for storing a second instance identifier which identifies said particular object instance of said one object, and a second attribute field for storing an attribute instance of said second attribute for said one object, said second instance identifier field and said second attribute field comprising a record of said second table structure; and said schema translator means further including reference means for said relational table schema to reference said second instance identifier field to said first instance identifier field.
Claim 17
Independent Claim
353 words
An apparatus for translating information represented as an object-class hierarchy into a relational table schema, comprising in combination: central processing means; computer memory means, operatively coupled to said central processing means, for temporary storage of information; a computer program, stored in said computer memory means in source code form, including at least one data organization in the form of said object class hierarchy, said object class hierarchy being for object-oriented data and including at least one parent class of objects having a first attribute and one derived class of at least one of said objects having a second attribute, said derived class inheriting said first attribute from said parent class; schema translator means, stored in said computer memory, for locating automatically said object class hierarchy in said computer program and for translating said object class hierarchy into said relational table schema; said schema translator means including first table means for defining automatically in said relational table schema a first table structure, corresponding to said parent class, including a first table name, said first table structure including: a first instance identifier field for storing a first instance identifier which identifies a particular object instance of said one object, and a first attribute field for storing an attribute instance of said first attribute for said one object, said first instance identifier field and said first attribute field comprising a record of said first table structure; said schema translator means further including second table means for defining automatically in said relational table schema a second table structure, corresponding to said derived class, including a second table name, said second table structure including: a second instance identifier field for storing a second instance identifier which identifies said particular object instance of said one object, and a second attribute field for storing an attribute instance of said second attribute for said one object, said second instance identifier field and said second attribute field comprising a record of said second table structure; and said schema translator means further including reference means for said relational table schema to reference said second instance identifier field to said first instance identifier field.
Claim 18
Dependent Claim
79 words
The Apparatus of claim 15, wherein said schema translator means further includes joining means for creating automatically said relational table schema to have means for extracting from said table structures said instances of said first and second attributes for said particular object instance by using said referencing of said second identifier field to said first identifier field, whereby said derived class inheriting said first attribute from said parent class of said class hierarchy is preserved in said relational schema.
Claim 19
Dependent Claim
25 words
The apparatus of claim 15, wherein said reference means is adapted for placing identical instance identifier information in said first and second instance identifier fields.
Claim 20
Dependent Claim
77 words
The apparatus of claim 17, further comprising means for joining said record of said first table structure to said record of said second table structure by using said instance identifier information in said first and second instance identifier fields to extract said attribute instances from said first and second attribute fields for said particular object instance, whereby said derived class inheriting said first attribute from said parent class of said class hierarchy is preserved in relational schema.
Claim 21
Dependent Claim
83 words
The apparatus of claim 15 wherein said schema translator means translates elements of said object class hierarchy into elements of said relational table schema according to the following table: ______________________________________
OBJECT-CLASS HIERARCHY
RELATIONAL SCHEMA
ELEMENT ELEMENT
______________________________________
object class relational table
object instance record
simple attribute primitive-typed attribute
column
class-valued attribute
foreign key into entity-
attribute table
derived class (child : parent)
relational table with refer-
ence column to parent table
derived attributes
columns from Join of parent
and child entity records
______________________________________
Claim 22
Dependent Claim
30 words
The apparatus of claim 15, further comprising means for generating a source code routine for a set of dictionary tables which contain information adequate to define the class hierarchy relationship.
Claim 23
Dependent Claim
73 words
The apparatus of claim 15, wherein said first and second table means automatically are operable for generating source code routines for constructing SQL commands to create said first and second table structures, respectively; and further comprising a relational database management system stored in a persistent memory and means for sending said SQL commands to said relational database management system to cause said table structures to be generated and stored in said persistent memory.
Claim 24
Dependent Claim
15 words
The apparatus of claim 21, wherein said SQL commands are generated using function call syntax.
Claim 25
Dependent Claim
15 words
The apparatus of claim 21, wherein said SQL commands are generated using imbedded precompiler syntax.
Claim 26
Dependent Claim
32 words
The apparatus of claim 15, further comprising means for generating a source code routine for creating a view of said second table structure which includes a join into said first table structure.
Claim 27
Dependent Claim
29 words
The apparatus of claim 16, further comprising means for generating a source code routine for checking referential integrity upon deletion of said particular object instance from said table structures.
Claim 28
Dependent Claim
22 words
The apparatus of claim 15, further comprising means for for generating a source code routine for creating indexes on said table structures.
Claim 29
Dependent Claim
34 words
The apparatus of claim 15, wherein said translator means further includes means for generating automatically a plurality of computer routines for storage, deletion and retrieval of said particular object instance in said table structures.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-03-14 | 1997-09-13 | 1998-03-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-03-14 | 2001-09-13 | 2002-03-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-03-14 | 2005-09-13 | 2006-03-15 | $7700.00 | Window Closed / Lapsed |