database homework problems

James River Jewelry Project Questions for Chapter 6


The James River Jewelry database design that was used in the James River Jewelry Project Questions for

Chapter 3 in this Appendix was:

CUSTOMER (CustomerID, LastName, FirstName, Phone, Email)


PURCHASE (InvoiceNumber, InvoiceDate, PreTaxAmount, CustomerID)


PURCHASE_ITEM (InvoiceNumber, ItemNumber, RetailPrice)


ITEM (ItemNumber, Description, Cost, ArtistName)


The referential integrity constraints are:


CustomerID in PURCHASE must exist in CustomerID in CUSTOMER InvoiceNumber in PURCHASE_ITEM must exist in InvoiceNumber in PURCHASE ItemNumber in PURCHASE_ITEM must exist in ItemNumber in ITEM

James River Jewelry has modified the database by adding two tablesOWNER and JEWELRY_ITEMas

shown below:

OWNER (OwnerID, LastName, FirstName, Phone, Email, AmountOwed)


JEWELRY_ITEM (ItemNumber, DateReceived, DateSold, NegotiatedSalesPrice, ActualSalesPrice, CommissionPercentage, OwnerID)


OwnerID in JEWELRY_ITEM must exist in OwnerID in OWNER


ItemNumber in JEWELRY_ITEM must exist in ItemNumber in ITEM


The tables are used to record data and maintain owner data about jewelry accepted on consignment.

JEWELRY_ITEM (which is a subtype of ITEMnote the referential integrity constraint) is used to record the negotiated sales price, the commission percentage, and the actual sales price for each item of

consigned jewelry.


Assume that office personnel at James River Jewelry use a database application to record consignment data. When an item is received on consignment, owner data are stored in OWNER if the owner is new; otherwise existing owner data are used. New ITEM and JEWELRY_ITEM rows are created. In ITEM, ItemNumber and Description are recorded, Cost is set to $0.00, and if there is an artist associated with the piece, ArtistName is entered. For JEWELRY_ITEM, data are stored for all columns except DateSold and ActualSalesPrice. James River Jewelry personnel refer to these actions as an Acceptance Transaction. Later, if the jewelry item does not sell, the NegotiatedSalesPrice and CommissionPercentage values may be reduced. This is called a Price Adjustment Transaction. Finally, when an item sells, the DateSold and ActualSalesPrice fields for the item are given values, and the AmountOwed value in OWNER is updated by increasing AmountOwed by the owners percentage of the ActualSalesPrice value. This third transaction is called a Sales Transaction.



A.              Explain why it is important for the changes made by each of these transactions to be atomic.



B.              Describe a scenario in which an update of AmountOwed could be lost.


C.              Describe a scenario for a nonrepeatable read and a scenario for a phantom read.


D.             Explain how locking could be used to prevent the lost update in your answer to part B.


E.              Is it possible for deadlock to occur between two Acceptance Transactions? Why or why not? Is it possible for deadlock to occur between two Sales Transactions? Why or why not? Is it possible for deadlock to occur between an Acceptance Transaction and a Sales Transaction? Why or why not?


F.              For each of these three types of transaction, describe whether you think optimistic or pessimistic locking would be better. Explain the reasons for your answer.


G.             Suppose James River Jewelry identifies three groups of users: managers, administrative personnel, and system administrators. Suppose further that managers and administrative personnel can perform Acceptance Transactions and Sales Transactions, but only managers can perform Price Adjustment Transactions. Describe processing rights that you think would be appropriate for this situation. Use Figure 616 as an example.


H.             James River Jewelry has developed the following procedure for backup and recovery. The company backs up the database from the server to a second computer on its network each  night. Once a month, it copies the database to a CD and stores it at a manager’s house. It keeps paper records of all purchase and sales transactions for an entire year. If it ever loses its database, it plans to restore it from a backup and unrecorded transactions. Do you think this backup and recovery program is sufficient for James River Jewelry? What problems might occur? What alternatives exist? Describe any changes you think the company should make to this system.