Relationship Checks (CDM/LDM)

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

Check

Description and Correction

Relationship name and code uniqueness

Relationship names and codes must be unique in the model.

Manual correction: Modify the duplicate name/code

Automatic correction: Appends a number to the duplicate name/code.

Reflexive dependency

A dependency means that one entity is defined through a relationship with another. A dependent relationship cannot therefore be reflexive.

Manual correction: Change or delete the reflexive dependency.

Automatic correction: None.

Reflexive mandatory

A reflexive mandatory relationship exists.

Manual correction: Deselect the Mandatory check boxes for the relationship to be non-mandatory.

Automatic correction: None.

Bijective relationship between two entities

There is a bijective relationship between two entities when there is a two-way one to one relationship between the entities. This is equivalent to a merge of two entities.

Manual correction: Merge the entities or modify the relationship.

Automatic correction: None.

Name uniqueness constraint for many to many relationships and entities

A many-to-many relationship and an entity cannot have the same name or code.

Manual correction: Change the name or code of the many-to-many relationship or the name or code of the entity. If you do not, PDM generation will rename the generated table.

Automatic correction: None.

Consistency between dominant and dependent relationships

A dependent relationship between entities cannot also be a dominant relationship.

Manual correction: Select the Dominant check box on the other (correct) side of the relationship.

Automatic correction: None.

Relationship with child shortcut

External shortcut could be generated as child table. An entity that is at the "many" end of a one-to-many relationship or which is non-dominant should not be an external shortcut as the reference will not be generated during the generation of a PDM.

Manual correction: Change the cardinality of the relationship cardinality or the entity, which should not be an external shortcut.

Automatic correction: None.

'Many-many' relationships

[LDM only] 'Many-to-many' relationships are not permitted.

Manual correction: Create an intermediary entity, which contains the primary identifiers of the previous 'many-to-many' entities.

Automatic correction: None.