ABOUT
Associations are an important concept in wCMF, since they describe the relations between entities, namely the parent-child relation. There are three different types of associations supported: Composite, shared and one-directional normal associations.
It is important to understand how wCMF recognized parents and children in an association. In the case of composite and shared associations the parent is always the class, that is connected with the diamond end of the association. Normal associations are treated as parent-child relation, if they are only navigable in one direction, which is then defined as the child to parent direction.
Associations differ in the treatment of children in case of deletion of the parent. In shared and normal associations children are
not deleted, while composite children are deleted on parent deletion. On the other hand the default wCMF application allows creation of child nodes in an composite association, while the other two only allow association of existing nodes.
Note, that the multiplicity of children is taken into account when adding children. For example a 2 at the childs end means that the maximum number of children to add is two.
Navigability
Another aspect of associations is the use of arrow ends that describe the navigability. If an arrow end is omitted on one end, that means that the appropriate entity type is not seen from the other end.
Regarding the database model all three association types will result in creation of a foreign key column in the child table that points to the parent table.
In an wCMF application the different association types shown in Figure 5 result in different behaviors regarding the operations allowed on child entities.