Ch. 18: Implementing an REA Model in a Relational Database
18.3 Building separate tables for every relationship (1:1, 1:N, and M:N) does not violate
any of the rules for building a well-structured database. Why then do you think that
REA data modelers recommend building separate tables only for M:N relationships
and using foreign keys to implement 1:1 and 1:N relationships?
To reduce the number of tables. It is more efficient to use foreign keys for relationships
than to build separate tables.
This also simplifies queries because fewer tables are needed to retrieve information.
Consider the task of generating a list of payments received from a particular customer. If
the 1:N relationship between customers and the Receive Cash event is implemented using
18.4 Assume that there exists a 1:1 relationship between the Receive Inventory and
Disburse Cash events. How does the manner in which the relationship between the
two events is implemented (i.e., in which table a foreign key is placed) affect the
process used to record payments made to suppliers?
If the primary key of the Receive Inventory table was included as a foreign key in the
Disburse Cash table, then recording payments to suppliers would involve adding a new
18.5 Refer to Figure 18-4 and Table 18-1. How would you determine the amount of cash
that Fred’s Train Shop has at any point in time?
To calculate the amount of cash that Fred’s Train Shop has at a particular point in time,
you would need to query three tables: Cash, Disburse Cash, and Receive Cash. The Cash
table would include the cash on hand at the beginning of the current fiscal year. The
18-2
©2018 Pearson Education, Inc.