Advanced Database Project Group 8 Bank Managment System Database
Advanced Database Project Group 8 Bank Managment System Database
FACULTY OF TECHNOLOGY
Woldia , Ethiopia
Banking Management System
Table of content
Contents
Pages
1. Introduction...................................................................................1
1.1 Purpose......................................................................................1
2. System Features.............................................................................2
2.1 Functional Requirements...........................................................2
2.2 Technical Issues..........................................................................3
2.3 Non-functional Requirements....................................................3
3. Database Design.............................................................................5
3.1 E-R Diagram...............................................................................5
3.2 Entity-Relationship Diagram Overview:......................................5
4. SQL code.......................................................................................10
5. Conclusion....................................................................................22
6. References....................................................................................23
1. Introduction
1.1 Purpose
The purpose of this document is to present a detailed description of the Online
Banking System. It will describe the system’s functions, features, interfaces, what
it will accomplish, the limitations it must work under, and how it will respond to
outside stimuli. This document is meant for both system developers and
stakeholders, and it will be responsible for determining if the Bank community
approves or disapproves of the project.
2. System Features
2.1 Functional Requirements
A. User Authentication and Authorization
The BMS allows new users to register and create accounts.
Login: Users should be able to login using username and password.
Roles: Different user roles should have different levels of access and
privileges.
B. Account Management
The BMS allows customers to open all types of accounts like savings, fixed
deposit, etc.
Account holders will be able to view their transaction history and their
available balance.
They will be able to transfer funds between their own accounts or to others
accounts.
C. Loan Management
Customers should be able to apply for loans and view their loan status.
The system should calculate loan interest rates and provide repayment
schedules.
Loan officers should be able to review and approve loan applications.
D. Customer Support
Users should be able to contact customer support through the system,
including email or chat.
Customer support agents should have access to customer data to provide
assistance.
E. Account Statements and Reports
Account holders should be able to generate and download account
statements.
Managers should have access to various reports, such as daily transaction
summaries, account balances, and audit logs.
F. Online Bill Payment
Customers should be able to pay bills online, such as utility bills, credit card
bills, and loan payments.
The system should securely process these payments and provide payment
confirmation.
G. Online Banking for Mobile Devices
The system should be accessible via web browsers and mobile applications.
It should provide a user-friendly interface for mobile users.
H. Automatic Alerts for Unusual Activities
The system should automatically detect and alert users to unusual or
suspicious account activities, such as large transactions from new locations.
2.2 Technical Issues
Database: The Banking Management system will use the MySQL Database,
which is open source and free to use.
2.3 Non-functional Requirements
A. Security
The system should implement robust security measures to protect against
unauthorized access, data breaches, and fraud.
It should use encryption for data transmission and storage.
Access control should be granular, and data should be protected against
SQL injection and other common vulnerabilities.
B. Performance
The system should provide fast response times for common operations
(e.g., account balance inquiries, funds transfers).
It should be able to handle a high number of concurrent users and
transactions during peak times.
Response times should remain within acceptable limits even during periods
of heavy usage.
C. Scalability
The system should be scalable to accommodate an increasing number of
users, accounts, and transactions.
It should allow for the addition of new servers or resources as the system
grows.
D. Reliability
The system should have a high level of availability, with minimal downtime
for maintenance or upgrades.
It should have a mechanism to ensure uninterrupted service in case of
hardware or software failures.
E. Recovery and Backup
The system should have a robust data backup and recovery strategy to
prevent data loss in case of system failures.
Regular backups should be performed and tested for reliability.
A disaster recovery plan should be in place to restore service quickly in the
event of a catastrophic failure.
F. Compliance
The system should adhere to relevant banking and financial industry
regulations, including Know Your Customer (KYC) and Anti-Money
Laundering (AML) requirements.
It should comply with data protection and privacy laws, such as GDPR or
HIPAA, as applicable.
G. Usability
The user interface should be intuitive and user-friendly, catering to users of
varying technical abilities.
The system should be accessible to individuals with disabilities and comply
with accessibility standards (e.g., WCAG).
H. Load Testing and Performance Monitoring
The system should be subject to load testing to ensure it can handle
expected levels of usage.
Continuous performance monitoring should be in place to detect and
address performance bottlenecks.
3. Database Design
3.1 E-R Diagram
3.2 Entity-Relationship Diagram Overview:
The ERD illustrates the primary entities, attributes, and relationships in the
Banking Management System:
1. Entities:
a. Customer
- CustomerID (Primary Key)
- First Name
- Middle Name
- Last Name
- Date of Birth
- Gender
- Email
- Contact
- Permanent Account Number (PAN)
- Nationality
- Salary
- Gender
- Address
b. Account
- Account No (Primary Key) - CustomerID (Foreign Key)
- Account Type (e.g., Savings, Checking)
- Balance
- Interest Rate
- Date Created
- Interest ID
- Interest Amount
c. Transaction
- CustomerID
- TransactionID (Primary Key)
- Account No (Foreign Key)
- Transaction Type (e.g., Deposit, Withdrawal, Transfer)
- Amount
- Transaction Date and Time
- Total Balance
d. Deposit Account
- Deposit Account No (Primary Key)
- Account No
- Closure type
- Interest ID
- Initial Amount
- CustomerID
- Deposit Account Type
- Interested Amount
- Current Balance
- Duration
- Interest Rate
- Open Date
- Close Date
- Days
e. Officer
- EmployerID (Primary Key)
- Username
- Password
- Email
- Nationality
- Salary
- Address
- Gender
- Contact
- Date of Birth
- First Name
- Middle Name
- Last Name
f. Manager
- EmployerID (Primary Key)
- Username
- Password
- Email
- Nationality
- Salary
- Address
- Gender
- Contact
- Date of Birth
- First Name
- Middle Name
- Last Name
g. Interest
- InterestID (Primary Key)
- Savings Interest
- Loan Interest
- RD Interest
- FD Interest
- Current Interest
h. Loan Account
- Account No (Primary Key)
- Loan ID
- Loan Type
- Date of Loan
- Duration
- Total Amount
- Remaining Amount
- Status
- Description
- Interest
4. SQL code
use BankAccountManagementSystem1
--drop database BankAccoutManagementSystem
-- Define Relationships
-- start a trigger
-- Create Trigger for updating TotalBalance in Transactions table after insert
/*
--drop trigger if exists update_total_balance_trigger
go
CREATE TRIGGER update_total_balance_trigger
AFTER INSERT ON Transactions
FOR EACH ROW
BEGIN
UPDATE Transactions
SET TotalBalance = TotalBalance + NEW.Amount
WHERE TransactionID = NEW.TransactionID;
select * from updated
END;
go
*/
--ddl in trigger
rollback
-- dml in trigger
rollback
-----testing in trigger
update account set Accounttype = 'Savings' where AccountNo=2000
update account set datecreated =getdate()
select *from account
drop trigger admin2
-- Start a transaction
BEGIN TRANSACTION;
update customer set middlename ='desalegn' where customerid=2
select * from customer;
commit transaction
rollback transaction
begin transaction
save transaction s1
update account set datecreated =getdate()
go
use BankAccountManagementSystem1
use BankAccountManagementSystem1
use BankAccountManagementSystem1
sp_addroloemember 'editor','Etsubdink1';
5. Conclusion
The System Requirements Specification (SRS) for a Banking Management System
is a critical document that outlines the functional and non-functional
requirements of the software system.the System Requirements Specification for a
Banking Management System is an indispensable document that lays the
foundation for the successful development and deployment of a sophisticated
and secure banking software solution. It encompasses the critical aspects of
functionality, security, performance, and user experience, all of which are
essential in the banking industry. A well-defined SRS reduces ambiguity,
minimizes risks, and serves as a roadmap for developers and stakeholders. By
following the guidelines and requirements set forth in this document, the bank
can look forward to a robust, secure, and customer-centric Banking Management
System that will not only meet their immediate needs but also adapt to future
challenges and opportunities in the ever-evolving world of banking.
6. References
1. Books: Books on banking technology and management, particularly those
written by experts in the field. Some books which deserve special mention
are: