New 2
New 2
New 2
On
Submitted By
G.JAGAN - 228R1A6686
G.SHASHIDAR - 228R1A6685
V.L.N.SWAMY - 228R1A66C8
K.DANIEL BABU - 228R1A6697
CERTIFICATE
This is to certify that the project entitled “BANK ACCOUNT MANAGEMENT” is a
bonafide work carried out by
G.JAGAN - 228R1A6686
G.SHASHIDAR 228R1A6685
-
V.L.N.SWAMY
- 228R1A66C8
K.DANIEL BABU
- 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.
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.SHASHIDAR - 228R1A6685
V.L.N.SWAMY - 228R1A66C8
1.Abstract
2.Introduction
3.Problem Statement
Existing Problem
Proposed
Solution
4.ER Diagram
5.Source Code
Database Schema (MySQL)
Application Logic (Python with SQLAlchemy)
6. Relational Model
7.Normalization
First Normal Form (1NF)
Second Normal Form (2NF)
Third Normal Form (3NF)
8.Conclusion
9.Future Enhancements
10. References
BANK ACCOUNT MANAGEMENT
ABSTRACT
Effective bank account management is a cornerstone of financial
stability and growth for both individuals and businesses. This
comprehensive examination delves into the multifaceted aspects of
managing bank accounts, emphasizing its critical role in financial
planning, budgeting, and overall economic health. The process
involves a series of strategic activities including monitoring account
balances, ensuring timely transactions, safeguarding against fraud,
and optimizing cash flow. Advanced digital banking technologies
have revolutionized account management by providing real-time
access to financial data, enabling automated transactions, and
offering sophisticated analytical tools.
Moreover, this analysis highlights the challenges and best practices in bank
account management. Challenges such as cybersecurity threats,
maintaining liquidity, and navigating complex financial regulations
are discussed, along with strategies to mitigate these risks.
Existing Problem
Manual management of bank accounts leads to several issues, including:
- Human errors in data entry and calculations.
- Time-consuming processes for bank staff and customers.
- Inconsistent data storage and retrieval.
- Difficulty in tracking and auditing transactions.
- Security vulnerabilities in handling sensitive information.
Proposed Solution
Bank Entity : Attributes of Bank Entity are Bank Name, Code and Address.
Code is Primary Key for Bank Entity.
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.
SOURCE CODE
Database Schema(MySQL)
CREATE DATABASE BankManagement;
USE BankManagement;
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="john.doe@example.com")
session.add(new_customer)
session.commit()
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
FUTURE ENHANCEMENTS