Multi-model database management system engine for database having complex data models
First Claim
1. A computer database management system for storing, retrieving and modifying complex data stored in a database, said 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 programinterfaces 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 first schema coupled to said number of application processes, said first schema translating said predefined intermediate data format into one of a plurality of logical data model formats and for translating said plurality of logical data model formats into said intermediate data format;
a second schema coupled to said first schema, said second schema defining a conceptual data model for translating said plurality of logical data model formats into a conceptual data format and for translating said conceptual data format into one of said logical data model formats; and
a database server including storage means for storing and retrieving the complex data objects in and from the database, said server storing and retrieving the data objects according to said conceptual data format, said storage means including;
a number of files, each of said files occupying a unique location within said storage means;
a number of pages associated with each of said files, said pages being variable in number within each of said files, each of said variable number of pages occupying a unique location within each of said number of files and having an object portion for storing at least one of said database objects and a header portion for storing at least one offset number, each of said offset numbers occupying a unique location within said header and corresponding to one of said database objects stored on said page;
a database key portion for storing a database key associated with each of said database objects, said database key including a page identification portion for identifying a unique one of said pages containing said database object and an object identification portion for identifying said unique location within said header portion of said unique page containing said offset number corresponding to said database object,wherein any of said database objects contained on said unique one of said pages within one of said number of files is stored at a location within said unique page determined by adding said offset number corresponding to said database object to the starting location of said unique page.
0 Assignments
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.
176 Citations
8 Claims
-
1. A computer database management system for storing, retrieving and modifying complex data stored in a database, said 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 first schema coupled to said number of application processes, said first schema translating said predefined intermediate data format into one of a plurality of logical data model formats and for translating said plurality of logical data model formats into said intermediate data format; a second schema coupled to said first schema, said second schema defining a conceptual data model for translating said plurality of logical data model formats into a conceptual data format and for translating said conceptual data format into one of said logical data model formats; and a database server including storage means for storing and retrieving the complex data objects in and from the database, said server storing and retrieving the data objects according to said conceptual data format, said storage means including; a number of files, each of said files occupying a unique location within said storage means; a number of pages associated with each of said files, said pages being variable in number within each of said files, each of said variable number of pages occupying a unique location within each of said number of files and having an object portion for storing at least one of said database objects and a header portion for storing at least one offset number, each of said offset numbers occupying a unique location within said header and corresponding to one of said database objects stored on said page; a database key portion for storing a database key associated with each of said database objects, said database key including a page identification portion for identifying a unique one of said pages containing said database object and an object identification portion for identifying said unique location within said header portion of said unique page containing said offset number corresponding to said database object, wherein any of said database objects contained on said unique one of said pages within one of said number of files is stored at a location within said unique page determined by adding said offset number corresponding to said database object to the starting location of said unique page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification