2. INTRODUCTION
▪This is a Bank Management System Database Project
▪ The main aim of Bank Management Mini DBMS project is to
keep record of customer transactions in the bank.
▪We aim to demonstrate the use of create, read, update and
delete ORACLE operations through this project.
3. ▪PROJECT DESCRIPTION
▪Firstly, employee registration is done in the concern bank branch.
▪Branch employee creates customer account in the bank, then customer can
credit amount, debit amount and check balance.
▪Customer can even use different services like insurance, loan, bill payments etc.
▪ Bank Management Mini DBMS Project contains 4 modules:
Account Holder: As the name suggests, a record of customer details.
Transaction: Transactions to be made by the customer (credit amount, debit etc).
Services: Additional services that customer may want like (insurance, loan etc.).
Branch/Employee : Manager/Employee details of the concern bank.
7. LIST 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.
8. ▪ 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.
▪ Employee works in Branch=> M : 1
Many Employees work in one Branch , but one employee can
not work in many branches of the bank. So , the relationship
between Employee and Bank is many to one relationship.
12. NORMALIZATION
Bank Table
Bank ( Bank_Name , Bank_Code , Bank_Address )
Prime attributes : Bank_code
1 NF : There are no multi-valued or composite
attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF : There are no Transitive Dependencies.
Hence it is in 3NF
13. Customer Table
Customer ( Customer_id , Customer_Name , Phone_Number ,
Customer_Address , Customer_DOB )
Prime attributes :Customer_id
1 NF :There is a composite attribute Customer_Name having first_name and
last_name as attributes , and Customer_Address and a multi-valued attribute
Phone_Number.
Hence the tables after converting into 1 NF are
▪ Customer ( Customer_id, first_name ,last_name , House_No , city , state ,
country , Customer_DOB)
▪ (Customer_id , Phone_number )
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF : There are no Transitive Dependencies.
Hence it is in 3NF
14. Branch Table
Branch ( Branch_id , Branch_Name , Branch_Address )
Prime attributes : Branch_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
15. Loan Table
Loan ( Loan_id , Loan_type , Amount )
Prime attributes : Loan_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
16. Account Table
Account ( Account_Number , Account_type , Balance )
Prime attributes : Account_number
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
17. Branch_has Table
Branch_has (Branch_id , Bank_code(foreign key) ,
Branch_Name , Branch_Address)
Prime attributes :Branch_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
18. Employee_worksin Table
Employee_worksin (Emp_id , Branch_id(foreign key) ,
Emp_name , Emp_ph , Emp_sal , Emp_DOB )
Prime attributes :Emp_id
1 NF :There are multi-valued attribute Emp_ph,Emp_name
Hence the tables after Normalizing are:
Employee_worksin (Emp_id , Branch_id(foreign key) ,
Emp_firstname , Emp_lastname , Emp_sal , Emp_DOB )
Emp_works (Emp_id , Emp_ph)
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
19. Loan_Offer Table
Loan_offer (Loan_id , Loan_type , Amount ,
Branch_id(foreign key))
Prime attributes :Loan_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
20. Maintain_Account Table
Maintain_account (Account_no , Branch_id(foreign key) ,
Account_type , Balance)
Prime attributes :Account_no
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
21. Availed_by Table
Availed_by (Loan_id , customer_id)
Prime attributes :Loan_id , customer_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
22. Hold_by Table
Hold_by (Customer_id , Account_No)
Prime attributes : Customer_id , Account_No
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
26. INTRODUCTION
▪This is a Bank Management System Database Project
▪ The main aim of Bank Management Mini DBMS project is to
keep record of customer transactions in the bank.
▪We aim to demonstrate the use of create, read, update and
delete ORACLE operations through this project.
27. ▪PROJECT DESCRIPTION
▪Firstly, employee registration is done in the concern bank branch.
▪Branch employee creates customer account in the bank, then customer can
credit amount, debit amount and check balance.
▪Customer can even use different services like insurance, loan, bill payments etc.
▪ Bank Management Mini DBMS Project contains 4 modules:
Account Holder: As the name suggests, a record of customer details.
Transaction: Transactions to be made by the customer (credit amount, debit etc).
Services: Additional services that customer may want like (insurance, loan etc.).
Branch/Employee : Manager/Employee details of the concern bank.
31. LIST 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.
32. ▪ 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.
▪ Employee works in Branch=> M : 1
Many Employees work in one Branch , but one employee can
not work in many branches of the bank. So , the relationship
between Employee and Bank is many to one relationship.
36. NORMALIZATION
Bank Table
Bank ( Bank_Name , Bank_Code , Bank_Address )
Prime attributes : Bank_code
1 NF : There are no multi-valued or composite
attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF : There are no Transitive Dependencies.
Hence it is in 3NF
37. Customer Table
Customer ( Customer_id , Customer_Name , Phone_Number ,
Customer_Address , Customer_DOB )
Prime attributes :Customer_id
1 NF :There is a composite attribute Customer_Name having first_name and
last_name as attributes , and Customer_Address and a multi-valued attribute
Phone_Number.
Hence the tables after converting into 1 NF are
▪ Customer ( Customer_id, first_name ,last_name , House_No , city , state ,
country , Customer_DOB)
▪ (Customer_id , Phone_number )
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF : There are no Transitive Dependencies.
Hence it is in 3NF
38. Branch Table
Branch ( Branch_id , Branch_Name , Branch_Address )
Prime attributes : Branch_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
39. Loan Table
Loan ( Loan_id , Loan_type , Amount )
Prime attributes : Loan_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
40. Account Table
Account ( Account_Number , Account_type , Balance )
Prime attributes : Account_number
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
41. Branch_has Table
Branch_has (Branch_id , Bank_code(foreign key) ,
Branch_Name , Branch_Address)
Prime attributes :Branch_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
42. Employee_worksin Table
Employee_worksin (Emp_id , Branch_id(foreign key) ,
Emp_name , Emp_ph , Emp_sal , Emp_DOB )
Prime attributes :Emp_id
1 NF :There are multi-valued attribute Emp_ph,Emp_name
Hence the tables after Normalizing are:
Employee_worksin (Emp_id , Branch_id(foreign key) ,
Emp_firstname , Emp_lastname , Emp_sal , Emp_DOB )
Emp_works (Emp_id , Emp_ph)
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
43. Loan_Offer Table
Loan_offer (Loan_id , Loan_type , Amount ,
Branch_id(foreign key))
Prime attributes :Loan_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
44. Maintain_Account Table
Maintain_account (Account_no , Branch_id(foreign key) ,
Account_type , Balance)
Prime attributes :Account_no
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
45. Availed_by Table
Availed_by (Loan_id , customer_id)
Prime attributes :Loan_id , customer_id
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF
46. Hold_by Table
Hold_by (Customer_id , Account_No)
Prime attributes : Customer_id , Account_No
1 NF : There are no multi-valued or composite attributes.
Hence it is in 1NF.
2 NF :It is in 1NF and
There are no partial dependencies.
Hence it is in 2 NF
3 NF :
It is in 2 NF and there are no Transitive Dependencies.
Hence it is in 3NF