The Foreign Keys tab of the constraint editor is used to specify the role name applied to the primary key when it is propagated to the child table.
The Primary Key Name column displays the names of the primary key components of the parent entity. The values displayed in this field cannot be modified by the user; they are copied directly from the column name of the primary key in the table.
The Role Name is the name of the foreign key attribute in the child entity after foreign key propagation.
Role names are most useful when a table that is the child of many parent tables can have many columns of the same name after FK propagation.
For example, assume a child table, PURCHASE_ORDER, with two parent tables: CUSTOMER and ORDER. The primary key in CUSTOMER is ID, and the primary key in ORDER is also ID. Without role names, System Architect will propagate the foreign keys in PURCHASE_ORDER as ID and ID-1.
However, if we add a role name for ID in the CUSTOMER table as CUST_NUM, and a role name in the ORDER table as ORDER_NUM, the foreign keys in PURCHASE_ORDER after foreign key propagation will be CUST_NUM and ORDER_NUM.