7. Create an E-R model and define its table structures for the following requirements.

 

¨      An INVOICE is written by a SALESREP. Each sales representative can write many invoices, but each invoice is written by a single sales representative.

 

¨      The INVOICE is written for a single CUSTOMER. However, each customer may have many invoices.

 

¨      An INVOICE may include many detail lines (LINE) which describe the products bought by the customer.

 

¨      The product information is stored in a PRODUCT entity.

 

¨      The product's vendor information is found in a VENDOR entity.

 

 

Note: The E-R model reflects business rules that you are (within reason!) free

to define. Make sure that your E-R model reflects the conditions you require.

 

 


Figure P4.7  The ERD for Problem 7

 

 

 

Teacher's note: Keep in mind that the preceding E-R diagram reflects

a set of business rules that may easily be modified. For example,

if customers are supplied via a commercial customer list, many of

the customers on that list will not (yet!) have bought anything, so

INVOICE would be optional to CUSTOMER. We are assuming here

that a product can be supplied by many vendors and that each

vendor can supply many products. The PRODUCT may be optional

to VENDOR if the vendor list includes potential vendors from which

you have not (yet) ordered anything. Some products may never sell,

so LINE is optional to PRODUCT... because an unsold product will

never appear in an invoice line. You may also want to show the

students how the composite entities may be represented at the

final implementation level. For example, LINE is shown as weak to

INVOICE, because it borrows the invoice number as part of its primary

key and it is existence-dependent on INVOICE. The modified E-R

diagram is shown next. The point of this exercise is that the design's

final iteration depends on the exact nature of the business rules and

the desired level of implementation detail.

 

 


Figure P4.7A  The Revised ERD for Problem 7