CIS209 Project Task "Banking Program"
To be done individually or in groups of two.
Hardcopy of work needs to be handed it (SQL statements with report). Running of program to be checked in class. 5% off for each additional day handed in late.
Grade: The project is worth 15% of your total grade.
The Goal: Get experience in programming using databases.
What you need to know for this project: Designing relational databases, SQL, stored procedures. The project is based on the material of Class/Labs.
The Task: Implement a Banking Program of a bank providing account/loan services to customers by several branches. Here is the minimum functionality of the application:
1. Define/update a customer having id, name, address, date of birth, sex.
2. Define/update branch having branch name, address.
3. Define/update an employee having id, name, branch, position, salary, enter date. An employee has customers assigned to them.
4. Define/update account having account number, balance, history of operations on it. Each account pertains to a unique branch. History of operations shows operation (deposit/withdraw), amount deposited/withdrawn, balance before and after operation, date, employee responsible for it.
5. Define/update loan having loan number, amount, history of operations on it. Each loan pertains to a unique branch. History of operations shows operation (borrow/return payment), amount of money borrowed/returned, resulting loan amount before and after operation, date, responsible for it employee.
6. List customers together with their number of accounts, total account balances, number of loans, and total loan amounts, living in a given city, having given sex and age, and having accounts and/or loans in a given branch.
7. List employees together with the number of assigned to them customers and salary who work in a given branch and who entered it not before a given date.
8. List branches together with the number of employees and assigned to them customers, total loan amount, total account balance for branches residing in the given city.
9. List customers who made account and loan operations in the given time period
10. List employees and the number of served by each of them customers in the given time period
Methodology: You should write queries/stored procedures for each one of the above options.
What to hand in: You should hand in a report which contains the design of your database as an E-R diagram, the tables in the database, all the stored procedures, and all the data in your tables. References to the sources you used (textbooks, manuals, web-sites, etc.) shall be also shown. Give an explanation for each stored procedure. Be sure to include a title page and table of contents for the report.
Copying: Any copying attempt will not be tolerated, and students whose projects are found to be "similar enough" to other projects will get zero for the assignment (it is not important who was the donor and who was the recipient). If you want to help your friends, you can show them how to do this or that, but you cannot give code away.
Grading: Each partner should know about all aspects of the project. You will each receive an individual grade for how well you know the project implementation. So it is quite possible that you and your partner will get different grades for the assignment. Detailed breakdown of grading is as follows:
• Database design (E-R diagrams + relational design) - 30%
• Stored procedures- 50% (they will be individually tested as well)
• Documentation - 20%