Table and View Checks (PDM)

PowerDesigner provides default model checks to verify the validity of tables and views.

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.

Name and code length

The table and view name and code length is limited by the maximum length specified in the DBMS definition (MaxLen entry, in the Objects > Table and View categories) and in the naming conventions of the model options.

  • Manual correction: Modify the name/code length to meet this requirement

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

Constraint name conflicts with index name

[tables only] A constraint name of the table cannot be the same as an index name.

  • Manual correction: Change the name of the table constraint

  • Automatic correction: None

Existence of column, reference, index, key

[tables only] A table should contain at least one column, one index, one key, and one reference.

  • Manual correction: Add missing item to the definition of the table

  • Automatic correction: None

Number of auto-incremented columns

[tables only] Auto-incremented columns contain automatically calculated values. A table cannot contain more than one auto-incremented column.

  • Manual correction: Delete all but one auto-incremented column

  • Automatic correction: None

Table index definition uniqueness

[tables only] Identical indexes are indexes with the same columns, order and type. A table cannot have identical indexes.

  • Manual correction: Delete index or change its properties

  • Automatic correction: None

Table mapping not defined

[tables only] When a table belongs to a model containing one or several data sources, it must be mapped to tables or views in the data source in order to establish a relational to relational mapping.

  • Manual correction: Map the current table to one or several tables or views in the model belonging to the data source

  • Automatic correction: Destroys the mapping for the table. This removes the data source from the Mapping list in the table Mapping tab

Column mapping not defined

[tables only] When a column belong to a table in a model containing one or several data sources, it should be mapped to columns in the data source in order to establish a relational to relational mapping.

  • Manual correction: Map the current column to one or several columns in the models belonging to the data source

  • Automatic correction: Destroys the mapping for the column. This removes the columns that are not mapped to any object in the Columns Mapping tab of the table Mapping tab

Existence of permission

Permissions are usage restrictions set on a table or view for a particular user, group or role.

  • Manual correction: Define permissions on the table or view for users, groups and roles

  • Automatic correction: None

Existence of partition key

[tables only] A table managed by an age-based lifecycle policy must have a column specified as its partition key.

  • Manual correction: Specify a column as the partition key.

  • Automatic correction: None

Invalid start date setting

[tables only] A table managed by an age-based lifecycle policy must not have a start date earlier than the start date of the lifecycle.

  • Manual correction: Change one or other date so that the table start date is equal to or later than the lifecycle start date.

  • Automatic correction: Changes the table start date to the lifecycle start date.

Missing lifecycle policy

[tables only] A table managed by a lifecyle must not reference tables not managed by a lifecycle.

  • Manual correction: Add the referenced tables to the lifecycle.

  • Automatic correction: None

Invalid mapping from source table

[tables only] In a lifecycle where the first phase references an external database, each archive table must be mapped to exactly one external table.

  • Manual correction: Remove the additional mappings.

  • Automatic correction: None

Partial column mapping of source table

[tables only] In a lifecycle where the first phase references an external database, all columns in each source table must be mapped to columns in the same archive table.

  • Manual correction: Create the missing mappings.

  • Automatic correction: None

Existence of partition key mapping

[tables only] In a lifecycle where the first phase references an external database, the partition key column in the archive table must be mapped to a column in the source table.

  • Manual correction: Create the missing mapping.

  • Automatic correction: None

Tablespace outside lifecycle

[tables only] A table managed by a lifecycle must be assigned to a tablespace associated with the lifecycle.

  • Manual correction: Assign the table to a tablespace associated with the lifecycle.

  • Automatic correction: If the table is not assigned to any tablespace it will be assigned to the tablespace associated with the first phase of the lifecycle.