Suppose you are given the James River Jewelry database design as follows:
CUSTOMER ( CustomerID, LastName, FirstName, Phone, Email)
PURCHASE ( InvoiceNumber, Date, PreTaxAmount, CustomerID)
PURCHASE_ITEM ( InvoiceNumber , ItemNumber, RetailPrice)
ITEM ( ItemNumber, Description, Cost, ArtistName)
OWNER ( OwnerID, Name, Phone, Email, AmountOwed)
JEWELRY_ITEM ( I temNumber, DateReceived, DateSold, NegotiatedSalesPrice, ActualSalesPrice, CommissionPercentage, OwnerID)
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
OwnerID in JEWELRY_ITEM must exist in OwnerID in OWNER
ItemNumber in JEWELRY_ITEM must exist in ItemNumber in ITEM
The OWNER and JEWELRY_ITEM tables are used to record data and maintain owner data about jewelry accepted on consignment. JEWELRY_ITEM (which is a subtype of ITEM-n ote 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 owner’s percentage of the ActualSalesPrice value. This third transaction is called a Sales Transaction
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.
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 services provided for an entire year. If it ever loses its database, it plans to restore it from a backup and reprocess all service requests.
1. Which of the three application transactions must be made atomic (e.g., specify transaction boundaries)to prevent possible lost update? Why and why not?
2. Describe processing rights that you think would be appropriate for the identified three groups of company users.
3. Comment on the company’s strategy on DB backup and recovery. Describe any changes you think the company should make to its current backup and recovery scheme.
First of all, it the fundamental property of a transaction that it should be atomic and thus all the three must be atomic.
Also all the three transactions should be atomic as:
- In Acceptance Transaction, the newly added item’s price should be updated in all the tables of the database, so as to make it available for the customers to choose.
- In Price Adjustment Transaction, the manager whenever changes the price of any item, it should be depicted in the main database.
- In Sales Transaction, the owner and the saler must have the date and the amount related information of the item sold.
Thus they should be made atomic, to have proper changes throughout the scenario.
Processing rights of:
- System Administrator: It has the right to make changes in the overall database schema or meta data of the database;
- Administrative Personnel: It has the right to administor the functioning and the transactions of the type, acceptance and sales transaction;
- Manager: It has the right to view the overall functioning and all the rights of administrative personnel along with the price related changes int Price adjustment transaction.
On an whole the company’s strategy is good, but it should have to use other means of storing data as CDs have less life expectancy then various other cheaper means of storage like metallic disk.