Modeler: Tutorial/Integrity Checks
From CaseTalk Wiki
Revision as of 09:59, 30 July 2018 by Marcow (talk | contribs) (→The subtype rule must be valid for every subtype)
Every fact type must have an intra UC
For each fact type, there must be at least one uniqueness constraint that concerns one or more roles of this fact type only.
The N rule must be valid for every nominalized fact type
Every nominalized fact type with n roles only has exactly one uniqueness constraint over all n roles.
The N-1 rule must be valid for every fact type
If a fact type with n roles has at least one uniqueness constraint on less than n-1 roles, then the fact type is splittable. The n-1 rule-test simply consists of the check that there are no UCs that are too small.
The subtype rule must be valid for every subtype
- There can be no single role totality constraint on the role of a unary fact type.
- Each derivable subtype must have a derivation rule, in which only roles can occur (apart from the role of the subtype itself) from fact types that
- either are played by one or more of its supertypes
- or are found in one or more of its supertypes
- In a fact type that is a subtype, all roles have a single role uniqueness constraint. For nominalized subtypes, all object type expressions concern exactly one role.
The alias of an object/fact type must be unique.
All object type expressions must be used.
Non-lexical object types without totality constraints must have a fact type expression
If no totality constraint at all applies to any of the roles played by a certain nominalized fact type, then that fact type must have an existence postulating fact type expression.