Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Bank Database Project


Published on

1 week project at SetFocus where students were required to create a bank database and corresponding stored procedures to make it functonal.

  • Be the first to comment

Bank Database Project

  1. 1. Piggy Bank Project Duration: 1 week Program: SetFocus SQL Server 2005 Masters Program The PIGGY bank wants to upgrade their current business process from paper to electronic. They have hired you to help develop an application. Your goal is to support their internal business processes. In the second phase, you will implement Reporting, and all its supporting features, including backup schedules, etc. We have purchased SQL Server 2005, and have deployed it on our new production servers. You will use that to create our internal banking application. This application will be run from workstations by the teller to assist the customer. Account: As of now, we only support 2 types of accounts: Checking and Saving. Both accounts are tracked by an account number that is assigned by us. The account number is 6 digits. We would like the account number to be automatically generated. If a savings account is opened and has a number of 100000 and a Checking account is opened next, we would like that to have an account number of 100001. One customer can open multiple accounts. No account can be deleted. We do not allow the account balance to drop below 0. If a customer has both a Checking and a Savings account, he/she can sign up for our overdraft protection. In this process, the customer is allowed to withdraw an amount from the Checking account that is not greater than the total of both accounts plus a $2.00 service charge. The Savings account has a fixed interest rate, which is currently 3% per year. We may need to change this interest rate depending on external economic factors. The interest on savings account needs to be calculated at the end of every month. Transactions: Every action performed on an account ex. Deposit, Withdraw, etc, must be recorded. We need to record the type of action, Date and time, account number, amount, old balance, new balance, description. Not all transactions will have a description. (refer to the xml file for the different type of transactions) Customer: We need to track the customer’s name, address, e-mail, home phone, work phone, mobile phone. The name, address and the Home phone number is required. When a customer opens an account, an initial deposit is required. This amount will be determined by the person authorizing the creation of the account, and must be recorded along with the creation of the account.
  2. 2. Access to the data is highly restricted and must be audited. Transactions cannot be modified or deleted, once entered. Failed transactions must be logged separately. Application: The Bank tellers will use a windows application to connect to this database and perform their duties. The teller will need to search for customers by phone, name, or account number. They will need to search for accounts by customer and account number. The application should also be able to list all Checking accounts for a customer and list all Savings accounts for a customer. The application should support all the actions like Deposit, Withdraw, Transfer funds, linking accounts, obtaining account history (of current month), account history (of any month), etc. The data from the old system has been output to an XML file. You will be responsible for importing this data into the new application. We would also like you to provide the database administrator with test scripts, which he/she and our testing department will use to evaluate your solution. Your immediate responsibility is to create the back-end system, and provide our IT department with all the scripts for creating the database, and testing every object. The test scripts need to include one success and one failure run.
  3. 3. Project: Piggy Bank Project Grade Sheet - SetFocus SQL Server 2005 Masters Program Date corrected: Student: Score: ____ correct out of 86 or _____% Functionality -- 51 Comments: Successful Create Customer Stored Procedure. Successful Update Customer Stored Procedure. Successful Create Bank Account Stored Procedure. Checking Account can be created. Savings Account can be created. Includes Initial Required Deposit. Successful Update Account Stored Procedure. Create Employee Stored Procedure. Update Employee Stored Procedure. Promote Employee to Manager Stored Procedure. Successful Deposit Stored Procedure. Successful Withdrawal Stored Procedure. Successful GetBalance Stored Procedure. Successful Transfer Stored Procedure Successful GetTransactions Stored Procedure Deposit, Withdraw, and Transfer actions prevent negative balance. Successful close of account Deposit/Withdrawal/Transfer prevented for inactive accounts. Successful Reactivation of inactive Account Successful Update Interest Rate stored procedure (for Savings) Create DML Trigger to prevent delete on Customer Create DML Trigger to prevent delete on Savings Create DML Trigger to prevent delete on Checking Create DML Trigger to prevent delete on Transaction Create DML Trigger to prevent delete on Audit Prevent Drop and Alter on all tables (DDL Triggers) Account History for past month Account History for any month Account Info (with option to include customer info?) Queries for Searching Customer accounts by Name, Phone Number, and Account Number
  4. 4. Planning/Problem Solving - 27 Comments: Normalized Database Design Schema well thought out and correctly implemented. Consistent, robust validation strategy implemented in all stored procedures. Consistent, proper transaction handling implemented where needed. Consistent, robust error detection and notification implemented in all stored procedures. All procedures properly commented Organized, well planned approach Worked effectively and independently Test Script -8 Comments: All Test scripts must test create/read/update capability with both normal and abnormal ( bad ) data. Must indicate success or error message, and must display return values or query results. ____ correct out of 86 or _____%