The design of a unified data model
A unified data model is presented which offers a superset of the data modelling constructs and semantic integrity constraints of major existing data models. These semantic integrity constraints are both temporal and non-temporal, and are classified by constraint type (attribute, membership, set, temporal) and semantic integrity category (type, attribute value, intra-tuple, intra-class, inter-class). The unified data model has an onion-skin architecture comprising a DB state, DB state transition and temporal models, the realization of all three providing the facilities of a temporal DB. The DB state model is concerned with object-entities and the DB state transition model deals with event-entities and the non-destructive updating of data. A third species of entity is the rule. The temporal model conveys the times of object existence, event occurrence, retro-/post-active update, data error correction, the historical states of objects, and Conceptual Schema versions. Times are either instantaneous/durational time-points or time-intervals. Object and event classes are organized along the taxonomic axes of aggregation, association, categorization and generalization. Semantic integrity constraints and attribute inheritance are defined for each kind of data abstraction. A predicate logic oriented Conceptual Schema language is outlined for specifying class definitions, abstraction and transformation rules, and semantic integrity constraints. Higher-order abstraction classes are primarily defined in terms of the constraints for their lower-order, definitive classes. Transformation rules specify update dependencies between classes. Support is shown for the major features of the main semantic data models, and a token implementation is presented.