Dbms Mini Project Report
Dbms Mini Project Report
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE AND ENGINEERING
Submitted By
Dr. Varun E
Associate Professor
2023-2024
CERTIFICATE
This is to Certify that the DBMS Mini-Project(21CSL55) work entitled “BANK
MANAGEMENT SYSTEM” carried out by Mr. Anurag Kumar (1VA21CS005) a bonafide
student of SAI VIDYA INSTITUTE OF TECHNOLOGY, Bengaluru, in partial
fulfillment for the award of Bachelor of Engineering in Department of Computer Science
& Engineering of VISVESVARAYA TECHNOLOGICAL UNIVERSITY, Belagavi
during the year 2023-24. It is certified that all corrections/suggestions indicated for
Internal Assessment have been incorporated in the report. The Mini-Project report has
been approved as it satisfies the academic requirements in respect of DBMS Mini-Project
work prescribed for the said Degree.
External Viva
ACKNOWLEDGEMENT
The completion of project brings with and sense of satisfaction, but it is never
completed without thanking the persons who are all responsible for its successful
completion. First and foremost, I wish to express our deep sincere feelings of gratitude to
my Institution, Sai Vidya Institute of Technology, for providing me an opportunity to do
our education.
I would like to thank the Management and Prof. M R Holla, Director, Sai Vidya
Institute of Technology for providing the facilities.
Finally, I would like to thank all the Teaching, Technical faculty and supporting
staff members of Department of Computer Science & Engineering, Sai Vidya Institute of
Technology, Bengaluru, for their support.
ABSTRACT
II
CONTENTS
ACKNOWLEDGEMENT I
ABSTRACT II
LIST OF TABLES IV
1 INTRODUCTION 1
3 DATABASE DESIGN 6
4 IMPLEMENTATION 9
7 REFRENCES 24
LIST OF FIGURES
LIST OF TABLES
2 BRANCH 9
3 LOGIN 10
4 FEEDBACK 10
5 USERACCOUNTS 11
6 NOTICE 12
7 TRANSACTION 12
Chapter 1
INTRODUCTION
The data is scattered across multiple transactional systems, so we have to extract it from
those systems, transform it into a standardized format and finally load it into a central
repository called a data warehouse. The data has to be reorganized so that it is presented to the
users in an understandable way.
“The database Management System” is a system that manages databases and organizes
the data, so that it can be easily retrieved by the users. This system can be used to manage
transactional databases, such as HR systems, banking systems, hospital systems and so on. This
project is typically optimized for performing transactions and it provides discrete pieces of
information for the users.
The database management system organizes the files to give user more control over
their data. The system makes it possible for users to create, edit and update data in database
files. Once created, the system makes it possible to store and retrieve data from those database
files. It provides functions such as concurrency, security, backup, integrity and data
description. It also provides reliability. Database administrators are responsible for creating
backups of databases, controlling access and, in general, making sure it works the way it was
intended.
The system provides automated methods to create, store and retrieve data and also can
make tedious manual tasks a thing of the past. A data base system reduces data redundancy and
inconsistency. It allows for concurrent access by multiple users, each with their own specific
role. Some users only need to view the data, some contribute to adding new data, while others
design and manages the database- all at the same time.
Chapter 2
The Bank Management System is a web-based application developed using PHP and
MySQL. It provides a comprehensive platform for managing banking operations, including
staff accounts, user accounts, feedback, and transaction records. The system incorporates
features such as account creation, balance tracking, fund transfers, and notice generation. With
a user-friendly interface, it enables efficient monitoring and administration of bank activities,
enhancing customer interactions and streamlining managerial tasks for a seamless banking
experience.
As previously mentioned there are many software that will be part of this project and all
of them are required for development.
2.2.1.1 MySQL
2.2.1.2 HTML
HTML is a markup language used for structuring and presenting content on the World
Wide Web.HTML includes detailed processing models.HTML5 would be used to design front-
end.
• Server : Apache.
Most of the current computer have enough specification to implement a database. But we
need to mention some minimal requirement. These would be the minimum specifications to
run the DBMS project. Use cases that describe interactions the users will have with the
software
A basic fast processor is essential for efficient handling of load during server time and
development time. A processor with minimum 2 cores can handle the workload. Minimum
requirement processor is a Pentium 4(P4). Recommended processor is one with 4 cores like
core i5 Sandy Bridge with larger L3 cache.
The RAM memory will be needed to efficiently run the server and the front end, hence at least
2GB of DDR3 RAM would be necessary.
Python require 100MB of disk space. MySQL requires 1.3GB for Enterprise running.
So in total a minimum of 2GB disk space is required.
• Intel I3 or Above
• 2GB RAM
Chapter 3
DATABASE DESIGN
Figure 3.2 illustrates key information about bank, including entities such as branches,
customers and accounts. It allows us to understand the relationships between entities.
The relational schema presented in the provided SQL code outlines the structure of a
comprehensive banking application database. It encompasses essential entities such as
branches, user accounts, login credentials, feedback, notices, and transactions. The schema
employs primary and foreign keys to establish relationships between tables, ensuring data
integrity and efficient retrieval. Auto-incrementing primary keys are implemented for unique
identification of records within their respective tables. This well-designed schema enables the
systematic organization of banking data, providing a foundation for secure user authentication,
account management, transaction tracking, and communication through feedback and notices.
Its flexibility supports future enhancements and optimizations to meet evolving banking system
requirements.
Chapter 4
IMPLEMENTATIONS
Below table shows the list of tables used in implementation of the Bank Database Management
System.
Table1: All Tables List
mysql> show tables;
+-----------------------+
| Tables_in_Database |
+-----------------------+
| branch |
| login |
| feedback |
| useraccounts |
| notice |
| transaction |
+-----------------------+
branch:
The `branch` table stores unique branch details with `branchId`, `branchNo`, and
`branchName`, facilitating organization and management in the system. Attribute’s and their
description of this table is:
Table2: Branch Details.
mysql> desc branch;
+---------------+-------------+------+-----+---------+-------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------------+
| branchId | int | NO | PRI | NULL | |
| branchNo | varchar(10) | YES | | NULL | |
| branchName | varchar(20) | YES | | NULL | |
+---------------+-------------+------+-----+---------+-------------+
login:
The `login` table manages user credentials with fields like `id`, `email`, `password`, `type`, and
`date`, ensuring secure access and authentication.
feedback:
Stores user feedback with unique IDs, user association, feedback messages, and submission
timestamps for system improvement.
useraccounts:
The `useraccounts` table stores user-specific data, such as account details (`name`, `balance`,
`ifsc`, `number`, etc.) and account-related information like `accountNo`, `branch`, and `accountType`.
notice:
Manages notices with unique IDs, user associations, notice content, and timestamps, ensuring
effective communication within the system.
transaction:
Records diverse financial transactions, utilizing unique IDs, action types, account numbers,
user associations, and chronological timestamps for clarity and tracking.
DELIMITER $$
IN p_email VARCHAR(30),
IN p_password VARCHAR(20)
BEGIN
END$$
DELIMITER ;
DELIMITER $$
IN p_email VARCHAR(30),
IN p_password VARCHAR(20),
IN p_name VARCHAR(20),
IN p_balance VARCHAR(20),
IN p_ifsc VARCHAR(10),
IN p_number INT(20),
IN p_city VARCHAR(15),
IN p_address VARCHAR(50),
IN p_accountNo VARCHAR(10),
IN p_branch INT(3),
IN p_accountType VARCHAR(10),
IN p_date TIMESTAMP
BEGIN
END$$
DELIMITER ;
<?php
$userData = $ar->fetch_assoc();
?>
<script type="text/javascript">
$(function () {
$('[data-toggle="tooltip"]').tooltip()
}) </script>
<?php
session_start();
if (!isset($_SESSION['userId'])) {
header('location:login.php');
?>
HTML Head Section: This section includes the HTML head with the title and includes
necessary PHP files for autoloading, database connection, and functions.
<head>
<title>Banking</title>
</head>
Navigation Bar: The navigation bar contains links to different sections of the application and
includes a side button, possibly for user actions.
</nav>
Content Section: The content section is divided into two columns. The left column contains a
jumbotron with a welcome message and notifications, as well as a carousel for displaying
images. The right column contains cards with buttons for account summary, funds transfer,
notifications, and contact information.
</div>
</div>
</div>
<div class="col">
</div>
</div>
</div>
JavaScript for Tooltip: This script initializes tooltips, possibly for providing additional
information when hovering over certain elements.
<script type="text/javascript">
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
</script>
Some queries which are used in the project are listed below:
It performs a simple join operation between two tables, useraccounts and branch. The
query retrieves all columns (*) from both tables where the branch column in the
useraccounts table matches the branchId column in the branch table.
It retrieves all columns (*) from the table named login where the value in the type
column is equal to 'cashier'. This query is filtering the records to only include those
where the user type is specified as 'cashier'.
It performs a join operation between the tables useraccounts and branch based on the
specified conditions. It selects all columns (*) from both tables where the id column in
the useraccounts table is equal to the provided $_GET[id] value and where the branch
column in the useraccounts table matches the branchId column in the branch table.
It is used to retrieve records from the notice table where the userId column matches the
value stored in the PHP session variable $_SESSION[userId]. The ORDER BY date
DESC clause arranges the results in descending order based on the date column.
It is used to retrieve records from the userAccounts table where the email column
matches the provided $user value and the password column matches the provided $pass
value. This query is commonly used for user authentication, checking if a user with a
specific email and password combination exists in the database. If a record is found, it
typically means the user is authenticated and can proceed with the intended action, such
as logging into an application or system.
Chapter 5
RESULTS
5.1 Output 1
5.2 Output 2
5.3 Output 3
5.4 Output 4
5.5 Output 5
5.6 Output 6
Chapter 6
6.1. Conclusion
In conclusion, this mini banking project establishes a user-friendly web application for
basic banking operations. It incorporates secure user authentication for customers, managers,
and cashiers. The system provides a visually appealing interface, offering functionalities such
as viewing account information, making fund transfers, and checking notifications. However,
to enhance security, implementing password hashing and further error handling could be
beneficial. Overall, this project serves as a foundation for a robust banking system,
demonstrating fundamental web development and database management skills. Future
improvements may include additional security measures, transaction history tracking, and an
enriched user experience.
The future enhancements for this mini banking project include implementing a robust
transaction history feature for users to track financial activities. Strengthening security
measures with password hashing and introducing multi-factor authentication will fortify user
data protection. Email notifications for transactions and updates, along with user profile
management, will enhance user communication and control. Ensuring a responsive design,
incorporating data encryption, and integrating advanced analytics for user insights will
contribute to a more secure, user-friendly, and feature-rich banking application, meeting
evolving expectations and industry standards.
REFERENCES
[1] Elmasri, Nawathe, Fundamentals of Database Systems, Pearson Education, 5th Edition,
2006, ISBN- 978-81-317-1625-0.
[2] Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, Tata
McGraw-Hill, 3rd Edition, 2003, ISBN- 0-07-123151-X.
[3] Silberschatz, Korth and Sudarshan, Database System Concepts, Tata McGraw-Hill, 5th
Edition, 2002, ISBN- 007-124476-X.
[4] H.P. Mooney, J.W. Evans, ‘A complete relational DBMS for an EMS product’, IEEE
Transactions on Power Systems, Volume: 3, Issue: 1, Feb 1988.
[5] Andreas Lubcke , Martin Schaler , Veit Koppen , Gunter Saake, ‘Relational on demand
data management for IT-services’ ,2014 IEEE Eighth International Conference on research
Challenges in Information Science (RCIS), 28-30 May 2014.