Universal storage for dynamic databases

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000

Reexamination Certificate

active

06766326

ABSTRACT:

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
N/A
REFERENCE TO A MICROFICHE APPENDIX
N/A
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention pertains in general to data management, and in particular to a system and method of storing in one relational database with a fixed number of physical tables, data from an arbitrary number of arbitrarily designed relational schemas in such a manner that the structure of the database is unaffected by any changes in the structures of the schemas.
2. General Background and Prior Art
Conventional implementations of relational data models map logical entities to physical tables with fixed structures. A major disadvantage of such implementations is the isomorphism of logical constructs and physical objects. Changes in the logical data model, such as the addition and deletion of entities and attributes, require a restructuring of the database. Systems of storage have been devised that attempt to reduce the effects of schema evolution on the storage system. One strategy, to which the present invention belongs, is abstraction, a technique that treats metadata (such as table names like “Employees” and column names like “Payroll_Number”) as data that can be manipulated at runtime. A review of prior art shows that current inventions using metadata abstraction are only partially independent from the architecture of the logical model; with physical tables still defined in terms of business- or content-specific constructs. Another shortcoming of prior art is the failure to address matters pertaining to data integrity policies, such as primary key, foreign key, unique key and the like as well as data access and security policies, which are of paramount importance in transaction-oriented commercial applications.
3. Statement of Need
Network and hierarchical data aggregations—such as parts of a complex machinery like an aircraft, network of telecommunication devices, components of networked computer systems, corporate assets—typically are characterized by a high degree of volatility. Component attributes can and do change. Likewise, the relationships among components also undergo many changes. Components are attached and detached from other components, or moved around from one location to another. New components are introduced, old ones retired. Such events typically require database restructure. Other data aggregations have sets of record types that for practical purposes may be considered unbounded, for example, intelligence data about contacts, customers, and competitions. One cannot identify at design time the full set of entities and attributes that will be of interest to users of such systems. When implemented using physical tables to represent entities, such systems require too much maintenance effort to catch up to user needs. Soon users are using unstructured multi-subject fields like “Notes,” “Comments,” or “Remarks” to store otherwise structured data.
Of immediate interest is the problem posed by the need for a better way to store the data contained in structured documents, for example, XML documents. With the increasing use of XML documents as the preferred container of structured data for transmission in electronic transactions, the need has become apparent for a database system that is fully independent of the structural shapes of logical data models. While XML data inside XML documents can be processed, businesses still prefer to store structured data in relational tables for storage efficiency and ease of manipulation. Storing XML data in relational tables requires prior creation of matching tables. This can be impractical. An XML document contains its own logical data model (as specified in its data type definition or schema) that describes the elements of the documents and their relationships. The data model may change any number of times in the lifetime of the document. Processing an XML document that suddenly has a modified schema, under a system that stores classes of facts in separate fixed tables, requires database restructure. The essence of self-describing documents is the removal of the need for a preliminary handshake between document publisher and consumer. With self-describing documents, the expectation is that the consumer can comprehend the structure of the document by reading its schema. This convention permits unannounced modifications to the document data model.
What is needed is a dynamic storage system whose physical structure is independent of the architecture of the schemas that underlie the stored databases such that changes in the schemas do not require changes in the structure of the storage system. The present invention satisfies this need.
SUMMARY OF THE INVENTION
This invention is a method of storing data values of arbitrarily defined record types in a single fact table and using a system of indexes to retrieve record instances. The invention provides a single database storage system for any number of databases and one whose physical configuration is unaffected by changes to the architecture of the underlying data models. This storage system is referred to hereinafter as “Universal Database Storage System” or “UDSS”.
To achieve this objective, the UDSS schema operates at the meta-metadata level with constructs like “Elements”, “Entities”, “(Entity) Composition”, “(Entity) Occurrences”, and “Data Values”, and treats metadata such as “Employees” and “Employee Name” as data, alongside with data values like “John Jones”, “Jun. 1, 2000”, and the like. Operating at this abstract level makes it possible to limit the number of physical tables to at most five, as follows:
Four structural tables:
The Elements table, which contains the inventory of elements metadata for all the implemented data models, consisting of two element types: simple elements (also referred to as “fields”) and complex elements (also referred to as “record types”), and attributes that apply to both or either of the element types;
The Entities table, which contains record types metadata for all the implemented data models, and attributes global to instances of record types (this table is required only if at least one entity can have more than one instance, for example, if entity versioning is required);
The Composition table, which specifies the elements that compose record types for all the implemented data models, and specifies attributes specific to instances of record types;
The Occurrences table, which contains information about occurrences (equivalent to the rows of a conventional relational table) of instances of record types for all the implemented data models; and
One fact table:
The Data Values table, which contains the values of the fields of occurrences of instances of record types for all the implemented data models.
As mentioned, an element may be a record type or a field type. A record type may consist of fields alone, or of other record types alone, or a combination of fields and record types. Each record type has a corresponding record in the Entities table. Each entity or record type in the Entities table has associated with it a number of elements, and this element-of relationship is specified in the Composition table. Each record in the Occurrences table contains information about specific occurrences of an instance of a record type. The field values of an occurrence of an instance of a record type are stored individually as rows in the Data Values table.
Each row in the Data Values table consists of a data value field, an Occurrences key value field that relates the field to a unique record in the Occurrences table, and a Composition key value that relates the field to a unique row in the Composition table. These two key values make possible the retrieval of structural information relating to the field and the record type itself as contained in the Composition, Entities, and Elements tables.
In essence, UDSS implements a relational database as a system of indexes to a single fact table. With a system of indexes rather than a set of physical tables, the addition, deletion, and modification of tab

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Universal storage for dynamic databases does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Universal storage for dynamic databases, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Universal storage for dynamic databases will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3240981

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.