100% found this document useful (2 votes)
283 views19 pages

Bank Management System

This document is a project report for a Bank Management System created in Python. It includes an introduction, overview of databases and DBMS, software and hardware requirements, advantages of the project, Python libraries used, MySQL database integration, and source code examples. The project allows users to perform basic banking functions like inserting, viewing, and updating customer accounts and transactions in a database.

Uploaded by

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

Bank Management System

This document is a project report for a Bank Management System created in Python. It includes an introduction, overview of databases and DBMS, software and hardware requirements, advantages of the project, Python libraries used, MySQL database integration, and source code examples. The project allows users to perform basic banking functions like inserting, viewing, and updating customer accounts and transactions in a database.

Uploaded by

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

A Computer Science

ProjectReport On

“Bank Management System”

Submitted By
.....................................
Class: XII (Science)

Zilla Public School, Tamluk


CERTIFICATE
This is certified that ……………...……………………., a
student of Zilla Public School, studying in Class 12th
(Science) having Roll number ………..........…………… had
successfully completed the project on the topic “Bank
Management System” under the guidance of our Computer
Science teacher during the year 2022-23 in partial fulfillment
of Computer Science Examination conducted by CBSE, New
Delhi.

Submitted By: Submitted To:

Date: Date:

Principal’s Signature:
Acknowledgement
I would like to express my sincere gratitude to my Computer
Science teacherfor her vital support, guidance and
encouragement – without which this project would not have
come forth.

I would also like to express my gratitude to my school,Zilla


Public School for letting me use the school laboratory.

I would also like to thank my parents and friends who helped


me a lot in finalizing this project within the limited time frame.
Index / Contents

Sl. No. Description Page No.

1. Brief Overview of project 1

2. Characteristics of DBMS 2

3. Need for Computation 3

4. Software and Hardware Requirements 4

5. Advantages of the Project 5

6. Python Libraries Used 6

7. Source Code in Python 7- 10

8. MySQL Database Query 11

9. MySQL Table Description 12

10. Output Screen 13 - 14

11. Limitations of Bank Management Project 15


Page-1 of 15

Brief Overview of project


This is a project based on bank management. The program helps us to enter,
display or alter the details of different accounts in the bank. Moreover, and
most importantly the program helps us to deposit money in the account or
close the account from the bank.

The program also helps us to know all the details of customers of the bank. It
includes various function programs to do the above-mentioned tasks. Data file
handling has been effectively used in the program.

Database is a collection of interrelated data to serve multiple applications, i.e.,


database programs create files of information. So, we see that files are worked
with most inside the program itself.

DBMS
The software required for management of data is called DBMS. It has three
models

• Relation model: It stores information in form of rows(cardinality) and


columns (degree).
• Hierarchical model: In this type of model, we have multiple records
inside a single record.
• Network model: In this, the data is represented by collections of record
and relationship is represented by associations.
Page-2 of 15

Characteristics of DBMS

• Way of Storing the data: In database management system data is stored


into tables, structure for the table is created initially. This table structure
is also known as schema in DBMS. Schema in DBMS provides the
information about various attributes of name the table, data type of the
attribute. DBMS a provide a facility to represent a relationship among
the related table.

• Reduced Redundancy: This is one of the important features of the DBMS


that it reduces the redundancy. Here the term redundancy can be seen as
unnecessary repetition or duplication of data in database. To reduce the
redundancy DBMS use Normalization in DBMS concept which
decompose the given table into smaller tables in order to minimize the
redundancy.

• Concurrent Access and Consistent Data: DBMS support the concurrent


access of the database to the multiple users. Multiple users can work on
the database at the same time and still maintained the consistency. Here
the term consistency represents the correctness of the database. The term
data consistency means state of data should be consistent means it
should be correct at any instant of time. Result of any manipulation or
updating should be reflected.

• Support to Structure Query Language: DBMS support to SQL. SQL


Queries provide an easy way to the user to create, insert, update, delete
the data in database.
Page-3 of 15

Need for computerization

The profile of Indian Banking has undergone a metamorphosis in the post


nationalization era. The change is characterized by radical transformation
in its role, scope and extent of business operations and the industry has
grown dramatically in size as well as complexity of operations.

The banks in India have also emerged as effective catalytic agent of socio-
economic change. This massive expansion and diversification of the
banking system also brought its attendant strains. Housekeeping and
control functions got neglected owing to exponential increase in business.
The customer service tended to deteriorate and attracted criticism.

Bottlenecks developed in the flow of information compromising control


and monitoring on the one hand and MIS based policy formulation on the
other. This massive growth in network of branches and volume of business
was achieved mostly by enlarging manpower resources.

Then, this industry entered into a phase with assent on consolidation and
qualitative improvement on its operations by using suitable contemporary
technological tools.
Page-4 of 15

Software and HardwareRequirements:

Software Specification: -
Operating system : Windows 10/8/7

Platform : Python IDLE 3.8

Database : MySQL

Languages : Python

Hardware specification: -
Processor : Dual core or above

Hard Disk Space : 40 GB

Ram : 1024 MB
Page-5 of 15

Advantages of Project

In order to meet competition, avoid obsolescence, and seize opportunities, a


bank must be able to:

• Respond rapidly to new or changing information needs.


• Maintaining the past data to ensure the satisfaction of the customer.
• Reduce error
• Provide better protection
• Make work easier
• Reduce manual labor
Page-6 of 15

Python Libraries Used


• OS module: The OS module in Python provides functions for
interacting with the operating system. OS comes under Python’s
standard utility modules. This module provides a portable way of
using operating system-dependent functionality. The *os* and
*os.path* modules include many functions to interact with the file
system.

• Platform module: The Platform module is used to retrieve as much


possible information about the platform on which the program is
being currently executed. Now by platform info, it means information
about the device, it’s OS, node, OS version, Python version, etc. This
module plays a crucial role when you want to check whether your
program is compatible with the python version installed on a
particular system or whether the hardware specifications meet the
requirements of your program.

• MySQL Connector module: MySQL Connector is a database


connector provided by MySQL. It provides access to the MySQL
drivers to the Python i.e., it is employed when we have to use MySQL
with Python. It allows the conversion between Python and MySQL
datatypes. MySQL Connector API is implemented using pure Python
and does not require any third-party library.MySQL Connector
module of Python is used to connect MySQL databases with the
Python programs, it does that using the Python Database API
Specification v2.0 (PEP 249).

• Pandas module: Pandas is an open-source library that is built on top


of NumPy library. It is a Python package that offers various data
structures and operations for manipulating numerical data and time
series. It is mainly popular for importing and analyzing data much
easier. Pandas is fast and it has high-performance & productivity for
users.
Page-7 of 15

Source Code in Python

import os
import platform
import mysql.connector
import pandas as pd

mydb = mysql.connector.connect(host="localhost",
user="root",
password="admin123",
database="Bank")
mycursor = mydb.cursor()

def AccInsert():
L = []
Accno = int(input("Enter the Account number : "))
L.append(Accno)
name = input("Enter the Customer Name: ")
L.append(name)
age = int(input("Enter Age of Customer : "))
L.append(age)
occup = input("Enter the Customer Occupation : ")
L.append(occup)
Address = input("Enter the Address of the Customer : ")
L.append(Address)
Mob = int(input("Enter the Mobile number : "))
L.append(Mob)
Aadharno = int(input("Enter the Aadhar number : "))
L.append(Aadharno)
Amt = float(input("Enter the Money Deposited : "))
L.append(Amt)
AccType = input("Enter the Account Type
(Saving/RD/PPF/Current) : ")
L.append(AccType)
sql = 'Insert into ACCOUNT(Accno
,Name,Age,occup,Address,Mob,Aadharno,amt,AccType) ' \
'values(%s,%s,%s,%s,%s,%s, %s,%s,%s)'
mycursor.execute(sql, L)
sql = f"Insert into AMT(Accno) values({L[0]})"
mycursor.execute(sql)
mydb.commit()

def AccView():
print("Select the search criteria : ")
Page-8 of 15

print("1. Acc no")


print("2. Name")
print("3. Mobile")
print("4. Aadhar")
print("5. View All")
ch = int(input("Enter the choice : "))
if ch == 1:
s = int(input("Enter ACC no : "))
rl = (s,)
sql = "select * from account where Accno=%s"
mycursor.execute(sql, rl)
elifch == 2:
s = input("Enter Name : ")
rl = (s,)
sql = "select * from account where Name=%s"
mycursor.execute(sql, rl)
elifch == 3:
s = int(input("Enter Mobile No : "))
rl = (s,)
sql = "select * from account where Mob=%s"
mycursor.execute(sql, rl)
elifch == 4:
s = input("Enter Aadhar : ")
rl = (s,)
sql = "select * from account where Aadharno=%s"
mycursor.execute(sql, rl)
elifch == 5:
sql = "select * from account"
mycursor.execute(sql)
res = mycursor.fetchall()
print("The Customer details are as follows : ")
k = pd.DataFrame(res, columns=['AcNo', 'Name', 'Age',
'Occn', 'Add', 'Mob', 'Aadh', 'Amt', 'AccTy'])
print(k)

def AccDeposit():
L = []
Accno = int(input("Enter the Account number : "))
L.append(Accno)
Amtdeposit = eval(input("Enter the Amount to be deposited :
"))
L.append(Amtdeposit)
month = input("Enter month of Salary : ")
L.append(month)
sql = f"Select amt from bank.account where accno={L[0]}"
mycursor.execute(sql)
res = mycursor.fetchall()[0][0]
res += L[1]
Page-9 of 15

sql = f"Updatebank.AMT set Amtdeposit={L[1]}, Month='{L[2]}'


where Accno={L[0]}"
mycursor.execute(sql)
sql = f"Updatebank.account set amt={res}"
mycursor.execute(sql)
mydb.commit()

def accView():
print("Please enter the details to view the Money details :")
Accno = int(input("Enter the Account number of the Customer
whose amount is to be viewed : "))
sql = 'Select Account.Accno, Account.Name,
Account.Age,Account.occup,Account.Address,Account.Mob,' \
'Account.Aadharno,Account.Amt,Account.AccType,
sum(amt.Amtdeposit), amt.month from Account INNER JOIN amt ' \
'ON Account.Accno=amt.Accno and amt.Accno = %s '
rl = (Accno,)
mycursor.execute(sql, rl)
res = mycursor.fetchall()[0]
print(res)

def closeAcc():
Accno = int(input("Enter the Account number of the Customer to
be closed : "))
rl = (Accno,)
sql = "Delete from amt where Accno=%s"
mycursor.execute(sql, rl)
sql = "Delete from Account where Accno=%s"
mycursor.execute(sql, rl)
mydb.commit()

def MenuSet():
print("Enter 1 : To Add Customer")
print("Enter 2 : To View Customer ")
print("Enter 3 : To Deposit Money ")
print("Enter 4 : To Close Account")
print("Enter 5 : To View All Customer Details")
try:
userInput = int(input("Please Select An Above Option: "))
except ValueError:
exit("\nThat's Not A Number")
else:
print("\n")
if userInput == 1:
AccInsert()
elifuserInput == 2:
Page-10 of 15

AccView()
elifuserInput == 3:
AccDeposit()
elifuserInput == 4:
closeAcc()
elifuserInput == 5:
accView()
else:
print("Enter correct choice. . . ")

def runAgain():
runAgn = input("\nwant To Run Again Y/n: ")
while runAgn.lower() == 'y':
if platform.system() == "Windows":
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()

MenuSet()
runAgain()
Page-11 of 15

MySQL Database Query


Page-12 of 15

MySQL Table Description


Page-13 of 15

Output Screen
Page-14 of 15
Page-15 of 15

Limitations of Bank Management


Project
Though this project seems to be complete but there are some limitations of
this project. Few of them are as follows:

• The system is directly accessible by anyone. A login system can be


maintained to reduce misuse.

• Reports can be made more user friendly

• More report options can be there.

• Searching options can be increased.

• GUI version is highly recommended.

• It is dealing with only the core functionality of the bank.

You might also like