Reference Model Options

To set model options for references, select Tools > Model Options, and select the Reference sub-category in the left-hand Category pane.

You can set the following options on this tab:

Option

Function

Unique code

Requires that references have unique codes. If this option is not selected then different references can have the same code (except when two references share the same child table).

Auto-reuse / Auto-migrate columns

Enable the reuse of columns in child tables as foreign key columns and the migration of primary key columns to child tables during the creation of references (see Automatic Reuse and Migration of Columns).

Mandatory parent

Specifies that the relationship between child and parent tables is, by default, mandatory, i.e., each foreign key value in the child table must have a corresponding key value, in the parent table.

Change parent allowed

Specifies that a foreign key value can change to select another value in the referenced key in the parent table.

Check on commit

Specifies that referential integrity is checked only on commit, rather than immediately after row insertion. This feature can be useful when working with circular dependencies. Not available with all DBMSs.

Propagate column properties

Propagates changes made to the name, code, stereotype, or data type of a parent table column to the corresponding child column.

Default link on creation

Specifies how reference joins are created (see Automatic Reuse and Migration of Columns).

Default implementation

Specifies how referential integrity is implemented in the reference. You can select either:
  • Declarative – referential integrity is defined by constraint in foreign declarations

  • Trigger – referential integrity is implemented by triggers

For more information on referential integrity, see Reference Properties.

Default Constraints: Update

Controls how updating a key value in the parent table will, by default, affect the foreign key value in the child table. Depending on your DBMS, you can choose from some or all of the following settings:
  • None – no effect

  • Restrict – cannot update parent value if one or more matching child values exist (no effect)

  • Cascade - update matching child values

  • Set null - set matching child values to NULL

  • Set default – set matching child values to default value

Default Constraints: Delete

Controls how deleting a key value in the parent table will, by default, affect the foreign key value in the child table. Depending on your DBMS, you can choose from some or all of the following settings:
  • None – no effect

  • Restrict – cannot delete parent value if one or more matching child values exist (no effect)

  • Cascade - delete matching child values

  • Set null - set matching child values to NULL

  • Set default – set matching child values to default value