0% found this document useful (0 votes)
29 views12 pages

Swamy

Uploaded by

swamylns707
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views12 pages

Swamy

Uploaded by

swamylns707
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

A PBL Report

On
BANK ACCOUNT MANAGEMENT

Submitted to CMREC (UGC Autonomous) In Partial Fulfillment


of the requirements for the Award of Degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
(Artificial Intelligence and Machine Learning)

Submitted By
G.JAGAN - 228R1A6686
G.SHASHI - 228R1A6685
V.L.N.SWAM - 228R1A66C8
Y K.DANIEL - 228R1A6697

Under the guidance of


Mrs. M. SOUJANYA
Assistant Professor, Department of CSE (AI & ML)

Department of Computer Science & Engineering (AI & ML)


CMR ENGINEERING COLLEGE
(Accredited by NBA, Approved by AICTE, NEW DELHI, Affiliated to JNTU, Hyderabad)
Kandlakoya, Medchal Road, R.R. Dist. Hyderabad-501 401)
2023-2024
CMR ENGINEERING COLLEGE
(Accredited by NBA, Approved by AICTE NEW DELHI, Affiliated to JNTU, Hyderabad)
Kandlakoya, Medchal Road, Hyderabad-501 401
Department of Computer Science & Engineering
(Artificial Intelligence and Machine Learning)

CERTIFICATE
This is to certify that the project entitled “BANK ACCOUNT MANAGEMENT”
is a bonafide work carried out by

G.JAGAN - 228R1A6686
G.SHASHI - 228R1A6685
V.L.N.SWAM - 228R1A66C8
Y K.DANIEL - 228R1A6697

in partial fulfillment of the requirement for the award of the degree of BACHELOR
OF TECHNOLOGY in COMPUTER SCIENCE AND ENGINEERING (AI & ML)
from CMR Engineering College, under our guidance and supervision.

The results presented in this project have been verified and are found to be satisfactory.
The results embodied in this project have not been submitted to any other university
for the award of any other degree or diploma.

Internal Guide Head of the Department


Mrs. M. SOUJANYA Dr. M . KUMARA SWAMY
Assistant Professor Professor & HOD
Department of CSE (AI & Department of CSE (AI &ML),
ML), CMREC, Hyderabad
CMREC, Hyderabad
DECLARATION

This is to certify that the work reported in the present project entitled "BANK ACCOUNT
MANAGEMENT" is a record of bonafide work done by me in the Department of Computer Science
and Engineering (AI & ML), CMR Engineering College. The reports are based on the project work
done entirely by me and not copied from any other source. I submit my project for further development
by any interested students who share similar interests to improve the project in the future.
The results embodied in this project report have not been submitted to any other University or Institute
for the award of any degree or diploma to the best of our knowledge and belief.

G.JAGAN - 228R1A6686
G.SHASHI KUMAR - 228R1A6685
V.L.N.SWAMY - 228R1A66C8
K.DANIEL - 228R1A6697
CONTENTS

S.NO CONTENTS PAGE.NO

1. Abstract 1

2. Problem Statement 2

3. ER Diagram 3

4. Source Code 4

5. Relational model 6

6. Normalization 7

7. Conclusion 7

8. Future Enhancement 8

9. References 8

IV
ABSTRACT

The rapid evolution of technology in the financial sector has underscored the need for modern,
efficient, and secure systems for managing bank accounts. This project aims to develop a
comprehensive bank account management system that addresses the inherent challenges of traditional
manual methods. These challenges include frequent human errors in data entry and calculations, time-
consuming processes, data inconsistencies, difficulties in tracking and auditing transactions, and
significant security vulnerabilities.

The proposed system leverages the power of a relational database to automate and streamline the
management of customer information, account details, and transactions. This automation minimizes
the likelihood of human errors, ensuring higher accuracy in maintaining account balances and
recording transactions. By offering a user-friendly interface, the system enables bank staff to perform
account-related activities quickly and efficiently, thereby reducing customer wait times and enhancing
overall productivity.

Security is a paramount concern in the banking industry, and the proposed system addresses this by
incorporating robust security measures. These measures include encryption of sensitive data, stringent
access controls, and regular security audits to protect against unauthorized access and data breaches.
Additionally, automated backup and disaster recovery protocols are implemented to ensure data
integrity and availability even in adverse conditions.

The bank account management system developed in this project not only enhances operational
efficiency but also significantly improves customer satisfaction. By automating repetitive and error-
prone tasks, bank staff can focus more on customer service and other critical activities. Customers
benefit from quicker and more reliable banking services, leading to a better overall banking
experience.

Furthermore, the system is designed with scalability in mind, allowing for future enhancements and
integrations. Potential future developments include integration with online banking platforms to
provide customers with easy access to their accounts, the creation of mobile applications for on-the-go
banking, and the incorporation of advanced security features such as multi-factor authentication.
Additionally, the system could leverage data analytics and artificial intelligence to provide insights
into customer behavior, detect fraudulent activities, and offer personalized banking services.

In conclusion, this project demonstrates the significant advantages of automating bank account
management through a well-designed relational database system. It addresses critical issues of
accuracy, efficiency, and security, paving the way for a more modern and reliable banking experience.
The implementation of this system not only enhances current banking operations but also lays a strong
foundation for future technological advancements in the financial sector.

1
PROBLEM STATEMENT

Traditionally, bank account management refers to the strategic and operational processes involved in
effectively overseeing and controlling a company's bank accounts, including all functions related to
opening, maintaining, and optimizing bank accounts to achieve financial efficiency, security, and
compliance. Bank account management is a critical aspect of financial institutions. With the
increasing number of customers and transactions, managing bank accounts manually becomes
challenging and error-prone. This project aims to develop a bank account management system that
automates the process involved, providing a user-friendly interface for bank staff and customers.
The system will manage customer information, account details, transactions, and security, ensuring
data integrity and efficiency.

Existing Problem:

 Human Errors: Manual data entry and calculations are prone to mistakes, leading to incorrect
account balances, erroneous transaction records, and ultimately, financial discrepancies. Such
errors undermine the trust customers place in the banking institution.
 Time-Consuming Processes: Manual processing of account-related activities, such as opening
new accounts, updating customer information, and recording transactions, is labor-intensive and
slow. This inefficiency translates into longer wait times for customers and reduced productivity
for bank employees.
 Data Inconsistency: Without a centralized and automated system, maintaining consistent and
accurate data across various branches and departments is challenging. Disparate records can lead
to confusion and errors during account management and auditing processes.
 Security Vulnerabilities: Handling sensitive customer information manually increases the risk of
data breaches and unauthorized access. Ensuring the confidentiality, integrity, and availability of
customer data is a significant concern in a manual setup.

Proposed Solution:
The key features and benefits of the proposed system include:
 Error Reduction: By automating data entry and processing, the system minimizes the likelihood
of human errors. Automated validation checks and standardized input methods ensure data
accuracy and reliability.
 Efficiency and Speed: The system will provide a user-friendly interface for bank staff, enabling
quick and efficient processing of account-related activities. This will significantly reduce the time
required to open accounts, update information, and process transactions.
 Data Consistency: A centralized database ensures that all customer and account data are
consistently updated and accessible across all branches and departments.
 Enhanced Tracking and Auditing: The system will facilitate easy tracking and auditing of
transactions through comprehensive logging and reporting features. Historical data can be quickly
retrieved and analyzed, supporting efficient monitoring and compliance efforts.

2
ER DIAGRAM OF BANK ACCOUNT MANAGEMENT

This bank ER diagram illustrates key information about bank, including entities such as branches,
customers, accounts, and loans. It allows us to understand the relationships between entities. Entities
and their Attributes are :
Bank Entity : Attributes of Bank Entity are Bank Name, Code and Address.
Customer Entity : Attributes of Customer Entity are Customer_id, Name, Phone Number and Address.
Customer_id is Primary Key for Customer Entity
Branch Entity : Attributes of Branch Entity are Branch_id, Name and Address. Branch_id is primary
Key for Branch Entity.
Account Entity : Attributes of Account Entity are Account_number, Account_Type and Balance.
Account_number is Primary Key for Account Entity.
Loan Entity : Attributes of Loan Entity are Loan_id, Loan_Type and Amount. Loan_id is primary key
for Loan Entity.

3
SOURCE CODE

 Database Schema(MySQL)
CREATE DATABASE BankManagement; USE BankManagement;
CREATE TABLE Customer (
CustomerID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100),
Address VARCHAR(255), Phone VARCHAR(15), Email VARCHAR(100)
);
CREATE TABLE Account (
AccountID INT AUTO_INCREMENT PRIMARY KEY,
AccountType VARCHAR(50), Balance DECIMAL(10, 2),
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID)
);
CREATE TABLE Transaction (
TransactionID INT AUTO_INCREMENT PRIMARY KEY, Date DATETIME,
Amount DECIMAL(10, 2), Type VARCHAR(50),
AccountID INT,
FOREIGN KEY (AccountID) REFERENCES Account(AccountID)
);

4
Application Logic(Python with SQLAlchemy)

from sqlalchemy import create_engine, Column, Integer, String, Float, DateTime, ForeignKey from
sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
import datetime
Base = declarative_base() class
Customer(Base):
tablename = 'Customer'
CustomerID = Column(Integer, primary_key=True, autoincrement=True)
Name = Column(String(100))
Address = Column(String(255))
Phone = Column(String(15)) Email
= Column(String(100))

class Account(Base):
tablename = 'Account'
AccountID = Column(Integer, primary_key=True, autoincrement=True) AccountType
= Column(String(50))
Balance = Column(Float)
CustomerID = Column(Integer, ForeignKey('Customer.CustomerID')) customer
= relationship(Customer)

class Transaction(Base):
tablename = 'Transaction'
TransactionID = Column(Integer, primary_key=True, autoincrement=True)
Date = Column(DateTime, default=datetime.datetime.utcnow)
Amount = Column(Float)
Type = Column(String(50))
AccountID = Column(Integer, ForeignKey('Account.AccountID'))
account = relationship(Account)

engine = create_engine('mysql+pymysql://username:password@localhost/BankManagement')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine) session
= Session()

# Example Usage
new_customer = Customer(Name="John Doe", Address="123 Elm Street", Phone="555-1234",
Email="[email protected]")
session.add(new_customer)
session.commit()

new_account = Account(AccountType="Checking", Balance=1000.00,


CustomerID=new_customer.CustomerID)
session.add(new_account)
session.commit()

5
RELATIONAL TABLES

ACCOUNT TABLE
Attribute Data type constraints Description
Account_ID INT PRIMARY KEY, Unique identifier for
AUTO_INCREMENT each account

Account_Type VARCHAR(50) NOT NULL Type of account(e.g.,


Attribute Data type Constraints Description
Savings,Checking)
Transaction_ID INT PRIMARY KEY, Unique identifier for
AUTO_INCREMENT each transaction
Balance
Date DECIMAL(10,2)
DATETIME NOT
NOTNULL
NULL Current
Datebalance in the
and time of the
account
transaction
Amount
Customer_ID INTDECIMAL(10,2) NOT NULL KEY, NOT Reference
FOREIGN Amount toof the money
NULL customer who owns the the
involved in
transaction
account
Type VARCHAR(50) NOT NULL Type of transaction(e.g.,
Deposit,Withdrawal)
Account_ID INT FOREIGN KEY, NOT NULL Reference to the account
involved in the
transaction

CUSTOMER TABLE
Attribute Data type Constraints Description
Customer_ID INT PRIMARY KEY, Unique identifier for
AUTO_INCREMENT each customer
Name VARCHAR(100) NOT NULL Customer’s full name
Address VARCHAR(255) NOT NULL Customer’s address
Phone VARCHAR(15) NOT NULL Customer’s phone
number
Email VARCHAR(100) NOT NULL Customer’s email
address

TRANSACTION TABLE

6
EXPLANATION OF RELATIONSHIPS
Bank has Branches => 1 : N
 One Bank can have many Branches but one Branch can not belong to many Banks, so the
relationship between Bank and Branch is one to many relationship.

Branch maintain Accounts => 1 : N


 One Branch can have many Accounts but one Account can not belong to many
Branches, so the relationship between Branch and Account is one to many relationship.

Branch offer Loans => 1 : N


 One Branch can have many Loans but one Loan can not belong to many Branches, so the
relationship between Branch and Loan is one to many relationship.

Account held by Customers => M : N


 One Customer can have more than one Accounts and also One Account can be held by
one or more Customers, so the relationship between Account and Customers is many to
many relationship.

Loan availed by Customer => M : N


(Assume loan can be jointly held by many Customers).
 One Customer can have more than one Loans and also One Loan can be availed by one or
more Customers, so the relationship between Loan and Customers is many to many
relationship.

NORMALIZATION

The tables are normalized to ensure data integrity and eliminate redundancy:
 1NF: Each table has a primary key, and each column contains atomic values.
 2NF: All non-key columns are fully functionally dependent on the primary key.
 3NF: There are no transitive dependencies among non-key columns.

CONCLUSION

The bank account management system developed in this project automates and streamlines the processes
involved in managing bank accounts. The system enhances data accuracy, efficiency, and security,
benefiting both the bank staff and customers. The use of a relational database ensures data integrity and
facilitates easy tracking and auditing of transaction.

7
FUTURE ENHANCEMENTS

 Integration with Online Banking: Allow customers to access and manage their accounts online.
 Mobile Application: Develop a mobile app for convenient access and management of accounts.
 Advanced Security Features: Implement multi-factor authentication and encryption for enhanced
security.
 Data Analytics: Incorporate data analytics to provide insights into customer behaviour and bank
performance.
 AI and Machine Learning: Use AI and ML for fraud detection and personalized banking services.

REFERENCES
Books and Articles
Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems (7th Edition). Pearson.
Websites
GeeksforGeeks: MySQL CREATE Database

You might also like