Part III. Associations

Associations are important elements of information models. Software applications have to implement them in a proper way, typically as part of their model layer within a model-view-controller (MVC) architecure. Unfortunately, application development frameworks do often not provide much support for dealing with associations.

Table of Contents

8. Reference Properties and Unidirectional Associations
1. References and Reference Properties
2. Referential Integrity
3. Modeling Reference Properties as Unidirectional Associations
4. Representing Unidirectional Associations as Reference Properties
5. Adding Directionality to a Non-Directed Association
6. Our Running Example
7. Eliminating Unidirectional Associations
7.1. The basic elimination procedure restricted to unidirectional associations
7.2. Eliminating associations from the Publisher-Book-Author design model
8. Rendering Reference Properties in the User Interface
9. Collection Types for Multi-Valued Reference Properties
9. Implementing Unidirectional Functional Associations with AngularJS and Parse.com
1. Many-to-One Relation in Parse
1.1. Create/Update Pointer
1.2. Retrieve Objects
1.3. Remove Pointer
2. New issues
3. Encode our Web Application with Unidirectional Functional Association
3.1. List Objects Use Case
3.2. Create Object Use Case
3.3. Update Object Use Case
3.4. Delete Object Use Case
10. Implementing Unidirectional Non-Functional Associations with AngularJS and Parse.com
1. One-to-Many or Many-to-Many Relations in Parse
1.1. Using Array
1.2. Using Join Table
1.3. Using Parse Relation
2. New issues
3. Encode our Web Application with Unidirectional Non-Functional Association
3.1. Special processing for Date
3.2. List Objects Use Case
3.3. Create Object Use Case
3.4. Update Object Use Case
3.5. Delete Object Use Case
4. Run the App and Get the Code
11. Bidirectional Associations
1. Inverse Reference Properties
2. Making an Association-Free Information Design Model
2.1. The basic procedure
2.2. How to eliminate uni-directional associations
2.3. How to eliminate bi-directional associations
2.4. The resulting association-free design model
12. Implementing Bidirectional Associations with AngularJS and Parse.com
1. Make a JavaScript Data Model
2. New issues
3. Encode our Web Application with Bidirectional Association
3.1. Show information about published books in the List Publishers use case
3.2. Show information about authored books in the List Authors use case
4. Run the App and Get the Code
13. Part-Whole Associations
1. Aggregation
2. Composition