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

Database generator

Assignee: Google LLC
•
Filing: 1996-07-17
•
Granted: 1998-10-06
•
Expires: 2016-07-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data base is created by storing a plurality of data objects in a memory. Each data object has attributes including a key value and a data value. The data objects are partitioned into a plurality of classes, each class having one or more members, each member including the same attributes of the data objects. An access method is defined for at least one member of a specific class to access the data objects of the specific class by key values. For another member of the specific class, an access method to access the data objects of a related class is defined. A specific data value of a specific data object is compared with the key values of the data objects of the related class, and if the specific data value is equal to the key value of a related data object a memory address of the related data object is associated with the specific data value.

Inventors

  • 👤 Donald F. Hooper
  • 👤 Jay S. Newcomb

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 23:13
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/30; G06F16/35; G06F16/90; G06F16/901; G06F16/9017; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 51
Claim 1
Independent Claim 308 words
A method for translating a relational database to an object-oriented database, comprising: storing a plurality of data objects in a memory, each data object having attributes including a key value and a data value; partitioning the data objects into a plurality of classes, each class having one or more members, each member including data objects having the same attributes; organizing each of the plurality of classes into a relational table, each column corresponding to a grouping of data objects having the same attributes, and each row corresponding to one member of the class, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; defining, for at least one member of a specific class, an access method to access the data objects of the specific class by key values; defining, for another member of the specific class, an access method to access the data objects of a related class; comparing a specific data value of a specific data object with the key values of the data objects of the related class; associating, in response to the specific data value being equal to the key value of a related data object of the related class, a memory address of the related data object with the specific data value to enable direct access to the related data object while accessing the specific data object; pre-compiling the relational tables into source files of an object-oriented language; compiling the source files into object files; linking the object files into an executable file; and loading and executing the executable file to create the object-oriented database, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 2
Independent Claim 308 words
A method for translating a relational database to an object-oriented database, comprising: storing a plurality of data objects in a memory, each data object having attributes including a key value and a data value; partitioning the data objects into a plurality of classes, each class having one or more members, each member including data objects having the same attributes; organizing each of the plurality of classes into a relational table, each column corresponding to a grouping of data objects having the same attributes, and each row corresponding to one member of the class, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; defining, for at least one member of a specific class, an access method to access the data objects of the specific class by key values; defining, for another member of the specific class, an access method to access the data objects of a related class; comparing a specific data value of a specific data object with the key values of the data objects of the related class; associating, in response to the specific data value being equal to the key value of a related data object of the related class, a memory address of the related data object with the specific data value to enable direct access to the related data object while accessing the specific data object; pre-compiling the relational tables into source files of an object-oriented language; compiling the source files into object files; linking the object files into an executable file; and loading and executing the executable file to create the object-oriented database, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 3
Dependent Claim 29 words
The method as in claim 1 including assigning a data type to each member, the data type for storing the data objects according to a predetermined physical data structure.
Claim 4
Dependent Claim 17 words
The method as in claim 1 where each member includes a member name for referencing the member.
Claim 5
Dependent Claim 19 words
The method as in claim 1 wherein said comparing step is performed whenever the specific data object is referenced.
Claim 6
Dependent Claim 16 words
The method as in claim 1 wherein the access method includes linearly searching the key values.
Claim 7
Dependent Claim 45 words
The method as in claim 1 including categorizing each row of the relationship table in a prepended column, the particular row categorized as a method row if the data object of the row defines the access method for accessing the data objects of the class.
Claim 8
Independent Claim 313 words
A method for creating an object-oriented database, comprising: storing a plurality of data objects in a memory, each data object having attributes including a key value and a data value; partitioning the data objects into a plurality of classes, each class having one or more members, each member including data objects having the same attributes; organizing each of the plurality of classes into a relational table, each relational table rows and columns, each column corresponding to a grouping of data objects having the same attributes, and each row corresponding to one member of the class, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; defining, for at least one member of a specific class, a first access method to access the data objects of the specific class by key values; defining, for another member of the specific class, a second access method to access the data objects of a related class; comparing a specific data value of a specific data object with the key values of the data objects of the related class; associating, in response to the specific data value being equal to the key value of related data object of the related class, a plurality of memory addresses of the related data object with the specific data value to enable direct access to the related data objects while accessing the specific data object; pre-compiling the relational tables into source files of an object-oriented language; compiling the source files into object files; linking the object files into an executable file; and loading and executing the executable file to create the object-oriented database, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 9
Independent Claim 313 words
A method for creating an object-oriented database, comprising: storing a plurality of data objects in a memory, each data object having attributes including a key value and a data value; partitioning the data objects into a plurality of classes, each class having one or more members, each member including data objects having the same attributes; organizing each of the plurality of classes into a relational table, each relational table rows and columns, each column corresponding to a grouping of data objects having the same attributes, and each row corresponding to one member of the class, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; defining, for at least one member of a specific class, a first access method to access the data objects of the specific class by key values; defining, for another member of the specific class, a second access method to access the data objects of a related class; comparing a specific data value of a specific data object with the key values of the data objects of the related class; associating, in response to the specific data value being equal to the key value of related data object of the related class, a plurality of memory addresses of the related data object with the specific data value to enable direct access to the related data objects while accessing the specific data object; pre-compiling the relational tables into source files of an object-oriented language; compiling the source files into object files; linking the object files into an executable file; and loading and executing the executable file to create the object-oriented database, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 10
Dependent Claim 32 words
The method as in claim 7 wherein the comparing is a logical comparing using logical operators, and associating the plurality of memory addresses if the logical comparing generates a true logical value.
Claim 11
Dependent Claim 29 words
The method as in claim 8 wherein the logical operators include greater than, less than, equal to, not equal to, and combinations of the logical operators in logical expressions.
Claim 12
Dependent Claim 19 words
The method as in claim 7 including organizing the plurality of memory addresses as an array of memory address.
Claim 13
Independent Claim 264 words
A method for creating an object-oriented database, comprising: storing a plurality of data objects in a memory, each data object having attributes including a key value and a data value; partitioning the data objects into a plurality of classes, each class having one or more members, each member including the same attributes of the data objects; defining, for at least one member of a specific class, an access method to access the data objects of the specific class by key values; defining, for another member of the specific class, an access method to access the data objects of a related class; comparing a specific data value of a specific data object with the key values of the data objects of the related class; associating, in response to the specific data value being equal to the key value of a related data object of the related class, a memory address of the related data object with the specific data value to enable direct access to the related data object while accessing the specific data object; organizing the data objects of each of the classes into a relational table, each relational table having rows and columns, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; and converting the relational tables into a high-level object-oriented source language, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 14
Independent Claim 264 words
A method for creating an object-oriented database, comprising: storing a plurality of data objects in a memory, each data object having attributes including a key value and a data value; partitioning the data objects into a plurality of classes, each class having one or more members, each member including the same attributes of the data objects; defining, for at least one member of a specific class, an access method to access the data objects of the specific class by key values; defining, for another member of the specific class, an access method to access the data objects of a related class; comparing a specific data value of a specific data object with the key values of the data objects of the related class; associating, in response to the specific data value being equal to the key value of a related data object of the related class, a memory address of the related data object with the specific data value to enable direct access to the related data object while accessing the specific data object; organizing the data objects of each of the classes into a relational table, each relational table having rows and columns, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; and converting the relational tables into a high-level object-oriented source language, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 15
Dependent Claim 27 words
The method as in claim 11 wherein the source language is C++, and converting the source language to an executable file to run the object oriented database.
Claim 16
Independent Claim 190 words
A method for translating a relational database to an object-oriented database, comprising: storing a plurality of data objects in a relational database, said relational database stored in a computer memory, each data object having attributes including a key value and a data value, said data objects searchable by said key value in said relational database; partitioning said data objects into a plurality of classes; organizing each of said plurality of classes into a relational table, each said relational table corresponding to a designated class, columns of said relational table having an attribute of said data objects, a row of said relational table having one member of said designated class, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; and, generating an executable file of an object-oriented language from said relational tables, said executable file capable of generating said object-oriented database, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 17
Independent Claim 190 words
A method for translating a relational database to an object-oriented database, comprising: storing a plurality of data objects in a relational database, said relational database stored in a computer memory, each data object having attributes including a key value and a data value, said data objects searchable by said key value in said relational database; partitioning said data objects into a plurality of classes; organizing each of said plurality of classes into a relational table, each said relational table corresponding to a designated class, columns of said relational table having an attribute of said data objects, a row of said relational table having one member of said designated class, said relational table having at least one definition row giving a definition of said designated class, said relational table having an indicator to indicate that a designated row contains data objects or that said designated row contains a definition of a class; and, generating an executable file of an object-oriented language from said relational tables, said executable file capable of generating said object-oriented database, said definition rows of said relational tables controlling said object-oriented database to have said plurality of classes.
Claim 18
Dependent Claim 21 words
The method of claim 13 further comprising: said at least one definition row has names of attributes of said data objects.
Claim 19
Dependent Claim 22 words
The method of claim 13 further comprising: said at least one definition row has designations of methods of accessing said data objects.
Claim 20
Dependent Claim 24 words
The method of claim 13 further comprising: said at least one definition row has designations of types of data stored in said data objects.
Claim 21
Dependent Claim 23 words
The method of claim 13 further comprising: said at least one definition row has names of queries, said queries accessible through said names.
Claim 22
Dependent Claim 42 words
The method of claim 13 wherein said indicator further comprises: a column in said relational table, said column having definition indicator for said at least one definition row, and said column having a data indicator for a row containing a data object.
Claim 23
Independent Claim 229 words
A method for translating a relational database to an object-oriented database, comprising: storing a plurality of data objects in a relational database, said relational database stored in a computer memory, each data object having attributes including a key value and a data value, said data objects searchable by said key value in said relational database; partitioning said data objects into a plurality of classes; organizing each of said plurality of classes into at least one relational table, columns of said at least one relational table having an attribute of said data objects, a row of said at least one relational table having one member, said member selected from selected attributes of one of said data objects, said at least one relational table having at least one processing row, said processing row containing processing information to control generation of said object-oriented database, said at least one relational table having an indicator to indicate that a designated row contains a member or that said designated row is a processing row; generating an executable file of an object-oriented language from said relational tables, said executable file capable of generating said object-oriented database; and, controlling said generating an executable file, in response to said indicator, to have processing information in said at least one processing row of said relational table control said object-oriented database to have a structure specified by said processing information.
Claim 24
Independent Claim 229 words
A method for translating a relational database to an object-oriented database, comprising: storing a plurality of data objects in a relational database, said relational database stored in a computer memory, each data object having attributes including a key value and a data value, said data objects searchable by said key value in said relational database; partitioning said data objects into a plurality of classes; organizing each of said plurality of classes into at least one relational table, columns of said at least one relational table having an attribute of said data objects, a row of said at least one relational table having one member, said member selected from selected attributes of one of said data objects, said at least one relational table having at least one processing row, said processing row containing processing information to control generation of said object-oriented database, said at least one relational table having an indicator to indicate that a designated row contains a member or that said designated row is a processing row; generating an executable file of an object-oriented language from said relational tables, said executable file capable of generating said object-oriented database; and, controlling said generating an executable file, in response to said indicator, to have processing information in said at least one processing row of said relational table control said object-oriented database to have a structure specified by said processing information.
Claim 25
Dependent Claim 32 words
The method as in claim 19 wherein said processing information further comprises a name of a designated class, said designated class associated with members stored in said at least one relational table.
Claim 26
Dependent Claim 20 words
The method as in claim 19 wherein said processing information further comprises names of attributes of members of a class.
Claim 27
Dependent Claim 20 words
The method as in claim 19 wherein said structure further comprises accessing methods for accessing data of said data objects.
Claim 28
Dependent Claim 18 words
The method as in claim 19 wherein said structure further comprises a type of attributes of said members.
Claim 29
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises integer.
Claim 30
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises string.
Claim 31
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises floating.
Claim 32
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises real.
Claim 33
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises long-string.
Claim 34
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises canonical.
Claim 35
Dependent Claim 12 words
The method as in claim 23 wherein said type further comprises hexadecimal.
Claim 36
Dependent Claim 14 words
The method as in claim 23 wherein said type further comprises a class name.
Claim 37
Dependent Claim 16 words
The method as in claim 23 wherein said type further comprises a user defined data type.
Claim 38
Dependent Claim 14 words
The method as in claim 23 wherein said type further comprises an enumerate type.
Claim 39
Dependent Claim 14 words
The method as in claim 23 wherein said type further comprises a list type.
Claim 40
Dependent Claim 14 words
The method as in claim 23 wherein said type further comprises names of queries.
Claim 41
Dependent Claim 18 words
The method as in claim 23 wherein said type further comprises a query written in SQL query language.
Claim 42
Dependent Claim 24 words
The method as in claim 19 wherein said processing information further comprises a specification of methods of accessing said data in said object-oriented database.
Claim 43
Dependent Claim 22 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects related to a class.
Claim 44
Dependent Claim 22 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a primary key.
Claim 45
Dependent Claim 22 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a secondary key.
Claim 46
Dependent Claim 21 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a pointer.
Claim 47
Dependent Claim 21 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using an array.
Claim 48
Dependent Claim 21 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a list.
Claim 49
Dependent Claim 22 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a linked list.
Claim 50
Dependent Claim 22 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a hashing table.
Claim 51
Dependent Claim 21 words
The method as in claim 19 wherein said processing information further comprises a method of accessing data objects using a B-tree.

References Cited (Backward Citations)

EP0248287A2 Cited
EP0637806A2 Cited
US4864497A Cited
US5115504A Cited
US5253361A Cited
EP0425412A2 Cited
US5295256A Cited
US5402524A Cited
US5504885A Cited
US5548749A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-05 2002-04-06 2002-10-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-05 2006-04-06 2006-10-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-05 2010-04-06 2010-10-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag