CIS661 - Principles of Data Management S05: Project

CIS661 - Principles of Data Management S05: Project

CIS661 - Principles of Data Management S05: Project

Assigned:Monday, Apr11, 2005
Due:noon, Monday, May9, 2005

Definition

When buying some merchandise on a revolving charge account, a customer receives an invoice containing all data pertinent to the transaction, and the customer's account is debited for the amount of sale. When the customer later reimburses a portion - or - all of the balance, the account is credited for the amount of the payment. In a manual organization, this information is called a "journal".

Operation

  • Operation that data organization must support. First consider a sale transaction for customer X. If X is a known customer, then the name X already exists in the customer file and the corresponding journal also exists (otherwise the name must be added to the customer file and the journal created), the transaction then consists of inserting a row in the journal.
  • Preparation of a reminder for late payment. The operation involves finding the customers who have a positive balance due and whose journals do not contain any recent record of payment. For each of these customers, the program will format the information and print it. You can use a batch operation.
  • Customers with late payments are charged an interest at a rate of 20%/year.
  • Customers with no record of payment for 3 months or more should have their account suspended.
  • List all customers with their address and ssn in the journal.

Extra Credits

You can come up with any other transactions that you feel are pertinent to your database that would improve its application.

Software

You can use an RDBMS of your choice. Use of Oracle is preferred.

Grading

The project will be graded according to the following guidelines:

  • Submit a report (hardcopy and electronic copy) of the database design of your program and state reasons why you took this approach. Your goal is to design the database in a way that provides good performance both for short transactions and longer batch operations.
  • Submit the Transaction file (Input file), the source code, and output file along with the report.
  • At the time of submission, name your executable file as Project1, input file as Trans.dat, and output file as Output.dat and email the path to your code organized in a separate directory called cis616project to .
  • Report on the database design [40 pts.]
  • Code correctness and completeness [50 pts.]
  • Output format [10 pts.]