Column Checks (PDM)

PowerDesigner provides default model checks to verify the validity of columns.

Check

Description and Correction

Name/Code contains terms not in glossary

[if glossary enabled] Names and codes must contain only approved terms drawn from the glossary.
  • Manual correction - Modify the name or code to contain only glossary terms.
  • Automatic correction - None.

Name/Code contains synonyms of glossary terms

[if glossary enabled] Names and codes must not contain synonyms of glossary terms.
  • Manual correction - Modify the name or code to contain only glossary terms.
  • Automatic correction - Replaces synonyms with their associated glossary terms.

Name/Code uniqueness

Object names must be unique in the namespace.
  • Manual correction - Modify the duplicate name or code.
  • Automatic correction - Appends a number to the duplicate name or code.

Column code maximum length

The column code length is limited by the maximum length specified in the DBMS definition (MaxLen entry, in the Objects > Column category) or in the naming conventions of the model options.
  • Manual correction: Modify the column code length to meet this requirement

  • Automatic correction: Truncates the code length to the maximum length specified in the DBMS definition

Domain divergence

Divergence is verified between columns, domains, and data types. Various checks and attributes are also examined. One or more of the Enforce non divergence model options must be selected.
  • Manual correction: Select one or more of the Enforce non divergence model options to enforce non divergence

  • Automatic correction: Restores divergent attributes from domain to column (domain values overwrite column values)

Column mandatory

In some DBMS, the columns included in a key or a unique index should be mandatory.
  • Manual correction: Select the Mandatory check box in the column property sheet

  • Automatic correction: Makes the column mandatory

Detect inconsistencies between check parameters

The values entered in the check parameters tab are inconsistent for numeric and string data types: default does not respect minimum and maximum values, or default does not belong to list of values, or values in list are not included in minimum and maximum values, or minimum is greater than maximum value. Check parameters must be defined consistently.
  • Manual correction: Modify default, minimum, maximum or list of values in the check parameters tab

  • Automatic correction: None

Precision > Maximum length

The data type precision should not be greater than the length. Note that some DBMS accept a precision higher than the length.
  • Manual correction: Make the data type length greater than the precision

  • Automatic correction: None

Undefined data type

A model should not contain columns with undefined data type, all columns should have a defined data type.
  • Manual correction: Select a data type in the column property sheet

  • Automatic correction: None

Foreign key column data type and constraint parameters divergence

Primary/alternate and foreign key columns involved in a join should have consistent data types and constraint parameters.
  • Manual correction: Modify foreign key data types and constraint parameters to make them consistent

  • Automatic correction: Parent column overwrites existing data type and constraint parameters in the foreign key column

Column with sequence not in a key

Since a sequence is used to initialize a key, it should be attached to a column that is part of a key. This applies to those DBMS that support sequences.
  • Manual correction: Attach the sequence to a column that is part of a key

  • Automatic correction: None

Auto-incremented column with data type not numeric

An auto-incremented column must have a numeric data type.
  • Manual correction: Change the column data type

  • Automatic correction: Changes data type to numeric data type

Auto-incremented column is foreign key

A foreign key column should not be auto-incremented.
  • Manual correction: Deselect the Indentity check box in the column property sheet

  • Automatic correction: None

Missing computed column expression

A computed column should have a computed expression defined.
  • Manual correction: Add a computed expression to the column in the Details tab of the column property sheet

  • Automatic correction: None

Invalid mapping from source column

A column in a table managed by a lifecycle policy in which the first phase is associated with an external database must not be mapped to more than one column in the corresponding table in the external database.
  • Manual correction: Remove the additional mappings.

  • Automatic correction: None

Data type compatibility of mapped columns

A column in a table managed by a lifecycle policy in which the first phase is associated with an external database must be mapped to a column with the same data type in the corresponding table in the external database.
  • Manual correction: Harmonize the data types in the source and target columns.

  • Automatic correction: None

Existence of mapping for mandatory columns

A mandatory column in a table managed by a lifecycle policy in which the first phase is associated with an external database must be mapped to a column in the corresponding table in the external database.
  • Manual correction: Map the mandatory column to a column in the external database.

  • Automatic correction: None