This is the domain of the attribute. It points to either the entity, if it is an attribute in the domain of an entity (i.e. is an attribute that represents a relationship), or to a type if in the domain of an ndt, or to an epic_type if in the domain of an EXPRESS simple or Epicentre extension type. This simple type attribute really represents a relationship through a select type. However, this capabality is not availabe in the projection toolkit. For performance reasons this attribute is implemented using a natural key.
fixed_length (M: boolean)
This is TRUE (Y) if the attribute is fixed length.
is_active (M: boolean)
This is TRUE (Y) if the attribute is part of the current subset.
If the attribute is an aggregate this is the name of the aggregate type, e.g. BAG, SET, LIST, ARRAY, UNIQUE LIST, UNIQUE ARRAY.
max_card (O: integer)
The "active" maximum cardinality of the attribute, that is the maximum cardinality that is defined for the current subset.
max_length (O: integer)
This is the maximum length allowed for the attribute if the attribute is a variable length string.
min_card (O: integer)
The minimum cardinality of the attribute if it is an aggregate.
orig_card (O: integer)
The maximum cardinality of the attribute as defined in the full schema. If the current subset has not restricted the maximum cardinality of the attribute, then this will have the same value as the max_card.
verb_phrase (O: string(40))
If the attribute represents a relationship, the verb_phrase attribute contains the verb phrase that describes the relationship from this attribute/entity to the attribute/entity it is related to.
The unique rules that include this attribute in thier declaration.
Local rules:
Uniqueness Constraint
parent_ent, name
Instance Value Constraint
If an attribute is an aggregate (aggr_name not null) then it must also have a value for both min_card (minimum cardinality) and max_card (maximum cardinality).