This project implements a comprehensive Database Management System (DBMS) for Inden Bank using MySQL. The system is designed to efficiently manage financial data, client information, transactions, and services, ensuring seamless operations and superior customer experiences.
An ERD was created to visualize the relationships between key entities:
- Branches
- Products and Services
- Clients
- Accounts
- Transactions
The schema includes five main tables:
- Branches: ID (PK), asset, name, city
- Products and Services: ID (PK), name, description, account_id (FK)
- Clients: ID (PK), name, city, dob, email, contact_no
- Accounts: ID (PK), balance, type, client_id (FK), branch_id (FK)
- Transaction: ID (PK), amount, date, src_id (FK), dst_id (FK)
Eight SQL queries were implemented to demonstrate various database operations:
- WHERE clause
- Data aggregation
- Sorting data
- Joins
- Subquery
- Aggregating data with GROUP BY
- Finding clients with maximum total balance
- Calculating average transaction amount for each source account
A stored procedure named control was created to manage transactions, including:
- Checking account balance
- Updating balances for source and destination accounts
- Inserting transaction records
- Handling insufficient funds scenarios
- Efficiency and high-performance data retrieval
- Security and compliance with regulations (GDPR, PCI DSS)
- Scalability for growing data volume and user load
- ACID properties adherence
- CAP theorem application in the banking context
This project demonstrates a robust DBMS solution for Inden Bank, focusing on data integrity, transaction management, and system reliability in a financial context.