|
The Innovative 3-Dimensional Data Model D3 significantly improves on the relational data structure by providing the ability to store all of the information that would require three separate tables in a relational database, in a single 3-dimensional file. Through the use of variable field and variable record lengths, the D3 database system uses what is called a "post-relational" or "three-dimensional" data model. Using the same example (project reporting by state and fiscal period), a single file can be set up for a project. Values that are specific to each state are grouped logically and stored in the project record itself. In addition, the monthly budget and actual numbers can then be located in the same project definition item. There is no limit to the amount of data that can be stored in a single record using this technology. Figure A shows how the same data that requires a multi-table relational database structure can be constructed using a single file in D3.
Figure A: Using D3 to Maintain Unlimited Data Relationships In this diagram, the entire cube represents a single project. For each state participating in the project, a row is added to the face of the cube. There is no limit to the number of states that can be added, nor is there a minimum number. Reporting months that are established for a project are represented by the columns on the face of the cube. And finally, reporting years are established simply by adding another "layer" to the cube, thus making it a truly 3-dimensional data structure. It is important to note that in D3, the data items themselves are not tied to a specific database schema. In other words, files can be added to the database, and up to three levels of fields can be added to any file without requiring any additional database or schema maintenance. In addition, since the database uses variable length fields and items, there are no minimums or maximums on the total database size. D3 only stores data when data is there. The total amount of data that can be stored is limited only by the total physical disk space available. Other Relational Data Models In a typical relational database, data is stored in "tables" with separate table elements broken into records (typically represented as "rows"). Data in records is categorized into fields (also referred to as "columns") representing the different data elements (e.g., name, phone number, ZIP Code, etc.). The result is that for each record, only one piece of data can be assigned to a specific field. If multiple entries are required for a field, either additional fields must be provided in the table, or a separate table must be set up and links established between the tables defining the relationship between the two tables. The layout of such a database is referred to as a "schema." A simple example of a schema design would be one that can be used to store budget and actual spending information for a project. Assume that the data is to be stored by state and fiscal period. If projects are always managed identically across all states, and projects always last a fixed number of months (periods), a table can easily be constructed to contain the budget and actual numbers by state. If, however, projects are managed differently in different states, and the number of months for projects varies from project to project (as is usually the case), things become more complex. One table must be set up to contain basic project information, a second table must be set up to contain the project information specific to a state, and a third table must be established to store the monthly budget and actual amounts. The three tables are then linked using what is called a "one-to-many" relationship. This means that there is one project record and many state records. Additionally, each state record has a one-to-many relationship with the monthly records.
Figure
B: Using a Relational Database to Maintain
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


