A
MICRO-PROJECT REPORT ON
CPU Scheduling Algorithms
SUBMITTED BY: Rishikesh
GUIDED BY: Prof. Harsita Kaushik
MASTER OF COMPUTER APPLICATION
GOVERNMENT POLYTECHNIC, AHMEDNAGAR
(2023-24)
VIVEKANANDA GLOBAL UNIVERSITY,JAIPUR
CERTIFICATE
Rishikesh
of 1st Semester Master Of Computer Application students have
submitted their Micro-Project Report on
CPU Scheduling Algorithms
During academic session 2023- 2024 in the practical fulfilment course
for Operating System
Guide Head
Dr. Sanjay Sinha
Prof. Harshita Kaushik Department of Computer Application
ACKNOWLEDGEMENT
We would like to place on record my deep sense of gratitude to Prof. Harshita
Kaushik Dept. of Computer Application(MCA) for her generous guidance, help
and useful suggestions.
I express my sincere gratitude to HOD dr. Sanjay Sinha Head of Dept. of
Computer Application, for his stimulating guidance, continuous
encouragement and supervision throughout the course of present work.
I am extremely thankful to Prof. Harshita kaushik, Hod Dr.sanjay Sinha,
Vivekananda Global Univesity, Jaipur for providing me infrastructural facilities
to work in, without which this work would not have been possible.
Name of students
Rishikesh
CONTENTS
1. Introduction 5
2. Entities 5
2.1 Customers
2.2 Accounts
2.3 Transactions
2.4 Employees
2.5 Loans
2.6 Payments
2.7 Transactions_Log
3. Sql Schema 6
4. DFD(Data Flow Diagram) 6
4.1 Level 0 DFD Diagram
4.2 Level 1 DFD Diagram
5. Actual Resources Used 7
6. Source Code 7-28
7. Output of the Micro-Project 28-31
8. Skill Developed / learning out of this Micro-Project 32
9. Benefits of this Micro-Project 32
10. Conclusion of this Micro-Project 32
1. Introduction
In the dynamic and intricate landscape of the banking sector, the effective management
of data stands as a cornerstone for operational success. A database within a bank
management system serves as the robust foundation upon which every financial
transaction, customer interaction, and administrative process relies.
Creating a comprehensive database for a bank involves multiple tables to manage various
aspects of banking operations
2. Entities:
An entity is a “thing” or “object” in the real world. An entity contains attributes, which
describe that entity. So anything about which we store information is called an entity.
Entities are recorded in the database and must be distinguishable, i.e., easily recognized
from the group.
2.1 Customers:
CustomerID (Primary Key)
Name
Address
Phone
Email
2.2 Accounts:
AccountNumber (Primary Key)
CustomerID (Foreign Key referencing Customers)
Balance
AccountType (Savings, Checking, etc.)
OpenDate
Status (Active, Closed, Frozen)
2.3 Transactions:
TransactionID (Primary Key)
AccountNumber (Foreign Key referencing Accounts)
TransactionType (Deposit, Withdrawal, Transfer, etc.)
Amount
Date
Description
2.4 Employees:
EmployeeID (Primary Key)
Name
Address
Phone
Email
Department
Position
2.5 Loans:
LoanID (Primary Key)
CustomerID (Foreign Key referencing Customers)
LoanType
LoanAmount
InterestRate
StartDate
EndDate
Status (Approved, Pending, Rejected)
2.6 Payments:
PaymentID (Primary Key)
LoanID (Foreign Key referencing Loans)
Amount
PaymentDate
2.7 Transactions_Log:
LogID (Primary Key)
TransactionID (Foreign Key referencing Transactions)
EmployeeID (Foreign Key referencing Employees)
Timestamp
Action (Viewed, Modified, Deleted, etc.)
3. Sql Schema
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Name VARCHAR(100),
Address VARCHAR(255),
Phone VARCHAR(20),
Email VARCHAR(100)
);
CREATE TABLE Accounts (
AccountNumber INT PRIMARY KEY,
CustomerID INT,
Balance DECIMAL(15, 2),
AccountType VARCHAR(50),
OpenDate DATE,
Status VARCHAR(20),
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
CREATE TABLE Transactions (
TransactionID INT PRIMARY KEY,
AccountNumber INT,
TransactionType VARCHAR(50),
Amount DECIMAL(15, 2),
Date DATE,
Description VARCHAR(255),
FOREIGN KEY (AccountNumber) REFERENCES Accounts(AccountNumber)
);
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Name VARCHAR(100),
Address VARCHAR(255),
Phone VARCHAR(20),
Email VARCHAR(100),
Department VARCHAR(50),
Position VARCHAR(50)
);
CREATE TABLE Loans (
LoanID INT PRIMARY KEY,
CustomerID INT,
LoanType VARCHAR(50),
LoanAmount DECIMAL(15, 2),
InterestRate DECIMAL(5, 2),
StartDate DATE,
EndDate DATE,
Status VARCHAR(20),
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
CREATE TABLE Payments (
PaymentID INT PRIMARY KEY,
LoanID INT,
Amount DECIMAL(15, 2),
PaymentDate DATE,
FOREIGN KEY (LoanID) REFERENCES Loans(LoanID)
);
CREATE TABLE Transactions_Log (
LogID INT PRIMARY KEY,
TransactionID INT,
EmployeeID INT,
Timestamp TIMESTAMP,
Action VARCHAR(50),
FOREIGN KEY (TransactionID) REFERENCES Transactions(TransactionID),
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)
);
4. Data Flow Diagram(DFD)
4.1 Level 0 DFD:
Entities:
Customer
Employee
Account
Transaction
Loan
Payment
Transactions Log
Processes:
Manage Customer Information
Manage Employee Information
Manage Accounts
Process Transactions
Manage Loans
Process Payments
Log Transactions
Data Stores:
Customers Database
Employees Database
Accounts Database
Transactions Database
Loans Database
Payments Database
Transactions Log Database
External Entities:
Users
Level 0 DFD Diagram:
Users
Manage Customer
Information System
Manage Employee
Information System
Customer DB
Employee DB
Bank Management System
Processes
(Transactions,Loans,etc)
Accounts DB
Transaction DB
Loans DB
Payment DB
Transation Log DB
This is a simplified Level 0 DFD for the bank management system. In reality, each process may
involve more detailed sub-processes and interactions, but this gives a high-level overview of
how data flows between various components within the system.