Intended learning outcomes: Explain the association class formed by breaking up an n-to-n association into a 1-to-n association and an n-to-1 association.
An association class is formed by breaking up an n-to-n association into two 1-to-n relationships.
Figure 20.3.6.1 shows the last three examples in Figure 20.3.5.1 with the new association class that is formed by splitting an n-to-n association.
Fig. 20.3.6.1 Breaking up an n-to-n association into a 1-to-n association and an n-to-1 association.
Characteristic of this important phenomenon of breaking up is that a total and single-valued role always leads from the new class to the initial classes. This means that the role name chosen can always be “belongs to.” The two initial roles lead from the two initial classes to the new class.
Each n-to-n association can be broken up with the help of an association class. In some cases, it is given naturally; in other cases, it must first be postulated artificially, but after doing so, it is frequently found that, although it is hidden, it really exists in reality or has meaning. This meaning becomes clear especially when attributes appear that cannot be assigned to either of the initial classes and for which the new class provides a location. For example, the attributes order quantity and delivery due date can be put into the association class order position in Figure 20.3.6.1. Order quantity and delivery due date are typical attributes of an order position. As each customer (it is hoped) places several orders, there are also several order quantities and delivery due dates. Consequently, neither of the two attributes can be entered into the class customer. The same holds analogously for the class item.
Incidentally, association class corresponds to the concept entity relationship model in Chen’s entity-oriented modeling approach. See here [Chen76].
Course section 20.3: Subsections and their intended learning outcomes
20.3 Modeling Information Systems in the Data View and Object View
Intended learning outcomes: Present terms such as object, attribute, object class, view, primary and secondary keys. Explain basic concepts such as association, association role and type. Describe the breaking up of an n-to-n association – in particular a reflexive one – and the association class. Disclose the use of the hierarchical constructs for developing a company-wide generic object model.
20.3.1 Object, Attribute, and Object Class
Intended learning outcomes: Differentiate between entity, object, and data record. Differentiate between attribute and data field. Differentiate between object class, file, and table. Explain the class customer as a table in the relational database model.
20.3.2 View and Primary and Secondary Keys
Intended learning outcomes: Produce an overview on the view on a class. Differentiate between primary key and secondary key. Describe characteristics for a “good” primary key. Explain the representation of a class in an object-oriented approach (with example) and the representation of an object.
20.3.3 Association and (Association) Role
Intended learning outcomes: Differentiate between binary association and reflexive association. Explain Abrial’s access function and the example of the association of the classes “book” and “customer” in library systems. Identify the (association) role.
20.3.4 Single-Valued and Multivalued Roles, and Total and Partial Roles
Intended learning outcomes: Differentiate between a single-valued role and a multivalued role. Differentiate between a total and a partial role, or access function.
20.3.5 Association Types
Intended learning outcomes: Differentiate between the 1-to-1 association, the 1-to-n association, the n-to-1 association, and the n-to-n association. Explain various examples of different binary associations.
20.3.6 Breaking up an n-to-n Association; Association Class
Intended learning outcomes: Explain the association class formed by breaking up an n-to-n association into a 1-to-n association and an n-to-1 association.
20.3.7 The Crow’s-Foot Notation and the Common Entity-Oriented Notation
Intended learning outcomes: Describe the commonly used crow’s-foot notation for depicting associations in the entity-oriented approach. Identify the common notation for associations in the entity-oriented approach.
20.3.7b The Reidentification Key and the Object-Oriented Notation
Intended learning outcomes: Explain the Representation of associations in an object-oriented form, as well as the concept of the reidentification key.
20.3.8 Breaking Up a Reflexive n-to-n Association, Step 1: Duplicate, and Step 2: Breakdown
Intended learning outcomes: Explain Breaking up a reflexive n-to-n association, step 1: Duplicate the class to create its two subclasses, and step 2: Classical breakdown of the n-to-n association.
20.3.8b Breaking Up a Reflexive n-to-n Association, Step 3: Merge
Intended learning outcomes: Explain Breaking up a reflexive n-to-n association, step 3: Merge the generating classes.
20.3.9 Using the Hierarchical Constructs Based on Basic Object Classes: The Company-Wide Generic Object Model
Intended learning outcomes: Explain the basic object classes and possible subclasses (specializations) of an industrial company. Describe the concept of a company-wide data model, or generic model.