POSC Meta Model Specifications Version 2.3 |
Logical Data Model |
This holds the definitions of a column defined for a table in a relational implementation of the logical data model.
- parent_table (M, K: table_def(columns))
- The table in which this column is defined.
- name (M, K: string(40))
- This is the name of the column.
- optionality (M: boolean)
- This is TRUE (Y) if the column is optional.
- part_of_si (M: boolean)
- This is TRUE (Y) if this is a column that is projected from an attribute that is part of a UNIQUE clause. The UNIQUE clause must either apply directly to the entity that is projected as the parent table for this column, or applies to a supertype of the entity projected as the parent table.
- type_code (M: string(1) FIXED)
- Type_code values: "C" for normal column "S" for surrogate key column "N" for (part of) natural key column "E" for entity type name column "T" for table type name column "F" for foreign key based on surrogate key "K" for (part of) foreign key based on natural key
- prod_versn (M: prod_versn)
- The production version number of the projection run that produced this column_def.
- sql_type_nm (M: sql_type)
- This is the underlying sql type of the column.
- fixed_length (O: boolean)
- This is TRUE (Y) if the column is fixed length.
- max_length (O: integer)
- This holds the maximum length of the column.
- column_group (V: SET[0:?] column_group(column_def))
- The column_groups this column belongs to.
- duplicate_from (O: column_def)
- If this is a denormalized column, then this points to the source of the denormalization.
- duplicate_thru (V: attribute(duplicate))
- Points to the attribute that the column was duplicated 'through'. Basically, this attribute establishes the relationship between the original column(s) and the duplicated column(s). Each column_def may have as duplicates one attribute.
- duplicate_to (V: SET[0:?] duplication(source_column))
- Points to the places where this column is duplicated (denormalized) to.
- related_column (O: column_def)
- If the column represents a relationship to another table, this column points to the column_def instance that is the destination of the relationship. This column will be populated only if there is a related table, i.e. not for all columns that represent a relationship. If a column represents a relationship to an entity that is projected into multiple tables, we cannot point to a single column, and this column (and the related table column) will not be populated.
- related_ent (O: entity_def)
- Holds the entity that the attribute that this column is a projection of points to, if it is a relationship attribute/column Each column_def may related to one entity_def.
- related_table (O: table_def)
- This points to the table that this column points to, if it is only one (i. e. no _t column.
Local rules:
- Uniqueness Constraint
- parent_table, name
Entity projects as table COLUMN_DEF.
Referenced in Diagrams:
© Copyright 1997-2001 POSC. All rights reserved.