Multi-model database management system engine for databases having complex data models
First Claim
1. A computer database management system for storing, retrieving and modifying data objects stored in a database, said database management system comprising:
- a number of application processes, each of said application processes including;
a user accessible external application; and
one of a multiplicity of application program interfaces for translating complex input data from said external application into a predefined intermediate data format and for translating said predefined intermediate data format into complex output data for said external application;
a schema coupled to said number of application processes, said schema defining a number of predetermined data models for translating said predefined intermediate data format into a predetermined data model format and for translating said predetermined data model format into said intermediate data format; and
a database server including storage means for storing and retrieving the data objects in and from the database, said server storing and retrieving the data objects according to said predetermined data model format,said predetermined data model format including;
a plurality of owner records each having associated therewith at least some data;
a plurality of member records each having associated therewith at least some data, wherein set relationships exist between certain ones of said owner records and said member records, each of said owner records of any of said set relationships being linked directly to a corresponding member record when only said corresponding member record exists in said set relationship, and each of said member records of any of said set relationships being linked directly to a corresponding owner record when only said corresponding owner record exists in said set relationship; and
a plurality of dynamic pointer arrays for linking each of said member records of any of said set relationships to a corresponding owner record when a multiplicity of member records exist in said set relationship, and for linking each of said owner records of any of said set relationships to a corresponding member record when a multiplicity of owner records exist in said set relationship.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-model database management system (DBMS) presents to its users a variety of logical models, or views of stored data, using industry-standard interfaces, while the physical storage of data is managed in a manner that closely follows the data model. Databases are built from sets of records using the entity-relationship data model. Space is reserved in each owner record for a set pointer pointing to either a member record or a Dynamic Pointer Array (DPA) structure that relates the owner record to member records. The DPA itself contains set pointers to all of the related member records. Each member record, in turn, has a set pointer pointing back to a particular owner record, or, in certain instances, to another DPA. In such cases, the DPA contains set pointers pointing to all of the related owner records. The DBMS supports a variety of logical models including the relational model, and further supports a plurality of industry-standard Application Program Interfaces using SQL query access language.
-
Citations
52 Claims
-
1. A computer database management system for storing, retrieving and modifying data objects stored in a database, said database management system comprising:
-
a number of application processes, each of said application processes including; a user accessible external application; and one of a multiplicity of application program interfaces for translating complex input data from said external application into a predefined intermediate data format and for translating said predefined intermediate data format into complex output data for said external application; a schema coupled to said number of application processes, said schema defining a number of predetermined data models for translating said predefined intermediate data format into a predetermined data model format and for translating said predetermined data model format into said intermediate data format; and a database server including storage means for storing and retrieving the data objects in and from the database, said server storing and retrieving the data objects according to said predetermined data model format, said predetermined data model format including; a plurality of owner records each having associated therewith at least some data; a plurality of member records each having associated therewith at least some data, wherein set relationships exist between certain ones of said owner records and said member records, each of said owner records of any of said set relationships being linked directly to a corresponding member record when only said corresponding member record exists in said set relationship, and each of said member records of any of said set relationships being linked directly to a corresponding owner record when only said corresponding owner record exists in said set relationship; and a plurality of dynamic pointer arrays for linking each of said member records of any of said set relationships to a corresponding owner record when a multiplicity of member records exist in said set relationship, and for linking each of said owner records of any of said set relationships to a corresponding member record when a multiplicity of owner records exist in said set relationship. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer database management system for storing, retrieving and modifying data objects stored in a database, said system coupled to a number of application processes each having a user accessible external application and one of a multiplicity of application program interfaces for translating input data from said external application into a predefined intermediate data format and for translating said predefined intermediate data format into output data for said external application;
- said database management system comprising;
a schema defining a number of predetermined data models for translating said predefined intermediate data format into a predetermined data model format and for translating said predetermined data model format into said intermediate data format; and a database server including storage means for storing and retrieving the data objects in and from the database, said server storing and retrieving the data objects according to said predetermined data model format, said predetermined data model format including; a plurality of owner records each having associated therewith at least some data and a number of first set pointers; a plurality of member records each having associated therewith at least some data and a number of second set pointers; and a plurality of dynamic pointer arrays (DPAs) each having associated therewith a multiplicity of third set pointers; wherein set relationships exist between certain ones of said owner records and said member records, each of said first set pointers corresponding to a distinct set relationship that its associated owner record participates in and each of said second set pointers corresponding to a distinct set relationship that its associated member record participates in, and further wherein each of said first set pointers points to one of a single member record and a distinct one of said plurality of DPAs, each of said multiplicity of third set pointers of said distinct DPA pointing to one of said member records related to the owner record associated with said first set pointer, and each of said second set pointers points to one of a single owner record and another distinct one of said plurality of DPAs, each of said multiplicity of third set pointers of said another distinct DPA pointing to one of said owner records related to the member record associated with said second set pointer. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
- said database management system comprising;
-
48. A method of storing, retrieving and manipulating data objects in a computer system having storage means, said computer system being coupled to a number of application processes each having a user accessible external application and one of a multiplicity of application program interfaces for translating input data from said external application into a predefined intermediate data format and for translating said predefined intermediate data format into output data for said external application;
- said method comprising the steps of;
(1) translating said predefined intermediate data format into an entity-relationship model format; (2) storing entities of said entity-relationship model format in said storage means; (3) pointing a first set pointer for each relationship in which one of said entities participates in to another entity if said one of said entities is related solely to said another entity; (4) otherwise pointing said first set pointer for each relationship in which said one of said entities participates in to a dynamic pointer array (DPA) and performing steps (5)-(6); (5) pointing a second set pointer from said DPA to every entity related to said one of said entities via said first set pointer; (6) pointing a third set pointer from each of said related entities back to said one of said entities if said one of said entities is solely related to each of said related entities; (7) otherwise pointing a third set pointer from each of said related entities to a distinct DPA corresponding to a separate relationship and performing step (8); (8) pointing a fourth set pointer from each of said distinct DPAs to every entity related to said related entities; (9) performing steps (3)-(8) until each of said entity-relationships is associated with a pointer pointing to all related entities; and (10) translating said entity-relationship model format into said predefined intermediate data format. - View Dependent Claims (49, 50, 51, 52)
- said method comprising the steps of;
Specification