UML - association type | UML - multiplicity of parent role | UML - multiplicity of child role | Logical data model - relationship type | Logical data model - existence | Logical data model - cardinality |
---|---|---|---|---|---|
Simple | * | */(1..*) | Many to many | Optional | */ (1..*) |
Simple | 1..* | */(1..*) | Many to many | Mandatory | */(1..*) |
Simple or aggregation | (0..1) | (0..1) /1/*/(1..*) | Non-identifying | Optional | (0..1) /1/*/(1..*) |
Simple or aggregation | 1 | (0..1) /1/*/(1..*) | Non-identifying | Mandatory | (0..1) /1/*/(1..*) |
Composition | (0..1) /1 | (0..1) /1/*/(1..*) | Identifying | Not applicable (Mandatory) | (0..1) /1/*/(1..*) |
Each UML AssociationClass is transformed into a relationship entity and two relationships, which are referred to here as Relationship 1 and Relationship 2. Relationship 1 is from the entity with the parent role to the relationship entity. Relationship 2 is from the relationship entity to the entity with the child role, with one exception. In the case of simple association, the identifying Relationship 2 is from the entity with the child role (which is the parent in the relationship) to the relationship entity (which is the child in the relationship).
The following table shows the mappings from the UML association type or multiplicity of role to the relationship type, existence, and cardinality for Relationship 1 in the logical data model .
UML - association type | UML - multiplicity of parent role | UML - multiplicity of child role | Logical data model - relationship type | Logical data model - existence | Logical data model - cardinality |
---|---|---|---|---|---|
Simple | * | */(1..*) | Identifying | Not applicable (Mandatory) | */ (1..*) |
Simple | 1..* | */(1..*) | Identifying | Not applicable (Mandatory) | */(1..*) |
Simple or aggregation | (0..1) | (0..1) /1/*/(1..*) | Identifying | Not applicable (Mandatory) | (0..1) /1/*/(1..*) |
Simple or aggregation | 1 | (0..1) /1/*/(1..*) | Identifying | Not applicable (Mandatory) | (0..1) /1/*/(1..*) |
Composition | (0..1) /1 | (0..1) /1/*/(1..*) | Identifying | Not applicable (Mandatory) | (0..1) /1/*/(1..*) |
The following table shows the mappings from the UML association type or multiplicity of role to the relationship type, existence, and cardinality for Relationship 2 in the logical data model .
UML - association type | UML - multiplicity of parent role | UML - multiplicity of child role | Logical data model - relationship type | Logical data model - existence | Logical data model - cardinality |
---|---|---|---|---|---|
Simple | * | */(1..*) | Identifying | Not applicable (Mandatory) | * |
Simple | 1..* | */(1..*) | Identifying | Not applicable (Mandatory) | 1..* |
Simple or aggregation | (0..1) | (0..1) /1/*/(1..*) | Non-identifying | Optional | 1 |
Simple or aggregation | 1 | (0..1) /1/*/(1..*) | Non-identifying | Mandatory | 1 |
Composition | (0..1) /1 | (0..1) /1/*/(1..*) | Identifying | Not applicable (Mandatory) | 1 |