GSIM Data Structure: Proposal for Revision
These seem to be:
- Retain the distinction between unit record data and dimensional data (the reasoning for this distinction is argued in the issue).
- Make the model simpler (at least with fewer classes).
The essential ingredients of this solution are:
- It is necessary to retain each of Unit Data Structure and Dimensional Data Structure and the corresponding data sets (Unit Data Set and Dimensional Data Set). Not the least is the necessity to have a place to define each of these and the distinction between them.
- Remove all of the specific sub structures (i.e. sub classes) that distinguish Unit from Dimensional as these do not really serve any purpose in a conceptual model as they include too much structural detail which is more of an implementation issue.
- Retain the abstract structures from which the Unit and Dimensional classes are derived, but make these concrete classes. These classes are sufficient to describe both Unit and Dimensional data.
- Where there are relationships to classes that are specific to Unit or Dimensional data, constrain the relationship accordingly (in reality this is the relationship to Record Structure which is constrained to Unit Data Structure).
Explanation (very brief)
A Data Structure can be one of two types: Unit Data Structure and Dimensional Data Structure (the role of each and the difference to be elaborated in detail). Each of these data structures is organised in the same way comprising Identifiers (Identifier Component), Measures (Measure Component), and Attributes (Attribute Component). These three classes are sub classes of the Structure Component which has the common relationship that identifies the Represented Variable that is the Concept and Value Domain used by the Identifier/Measure/Attribute.
Each of the Identifier Component, Measure Component, and Attribute Component can have a relationship to a Logical Record. This relationship is restricted to the Unit Data Structure.
Comparison the V 1.0 Model
This is virtually identical to the existing 1.0 model. The differences are:
- The Data Point is made a concrete class and the sub classes of Unit Data Point and Dimensional Data Point are removed.
- The Unit Data Record now has a relationship to Data Point and not the Unit Data Point.