You are on page 1of 24

A Course based Project Report On

Payroll management system

Submitted in partial fulfillment of requirement


for the completion of the
DBMS Laboratory course.

B.Tech Computer Science and Engineering

of

VNRVJIET

By

1.N.Manasa -22071A0597
2.N.Aloukya -22071A0598
3.P.Meghana -22071A05A1
4.T.Sri Varsha -22071A05B7

2023-2024

VALLURIPALLI NAGESWARARAO
VIGNANA JYOTHI INSTITUTE OF ENGINEERING &
TECHNOLOGY (AUTONOMOUS INSTITUTE)
NAAC ACCREDITED WITH ‘A++ GRADE
VignanaJyothi Nagar, Bachupally, Nizampet (s.o), Hyderabad
500090 Phone no: 040-23042758/59/60, Fax: 040-23042761
Email:postbox@vnrvjiet.ac.in Website: www.vnrvjiet.ac.in
1
A Project Report On

Payroll management system

Submitted in partial fulfillment of requirement


For the completion of the
DBMS Laboratory course.

B.Tech Computer Science Engineering

of

VNRVJIET

2023-2024

Under the Guidance of

Dr.Madhubala
Professor
CSE Department

2
VNR VIGNANA JYOTHI INSTITUTE
OF ENGINEERING &
TECHNOLOGY
(AUTONOMOUS INSTITUTE)
NAAC ACCREDITED WITH ‘A++’
GRADE

CERTIFICATE
This is to certify that the project entitled “ payroll management system ”

submitted in partial fulfilment for the course of Dbms Laboratory being offered for

the award of

B.Tech (CSE-B) by VNR VJIET is a result of the bonafide work carried out by

22071A0597,22071A0598,22071A05A1,22071A05B7 during the year 2023-2024. This

has not been submitted for any other certificate or course.

Signature of Faculty Signature of Head of the Department

3
ACKNOWLEDGEMENT

An endeavor over a long period can be successful only with the advice and support of
many well wishers. We take this opportunity to express our gratitude and appreciation to all
of them.
We wish to express our profound gratitude to our honorable Principal and HOD,
CSE department, VNR Vignana Jyothi Institute of Engineering and Technology for their
constant and dedicated support towards our career moulding and development.

With a great pleasure we express our gratitude to the internal guide Dr Madhubala,
Professor, CSE department for her timely help, constant guidance, cooperation, support and
encouragement throughout this project as it has urged us to explore many new things.

Finally, we wish to express my deep sense of gratitude and sincere thanks to our
parents, friends and all our well wishers who have technically and non-technically
contributed for the successful completion of this course based project.

4
DECLRATION
We hereby declare that this Project Report titled “ payroll management system” submitted
by us of Computer Science & Engineering in VNR Vignana Jyothi Institute of Engineering
and Technology, is a bonafide work under taken by us and it is not submitted for any other
certificate /Course or published any time before.

Signature of the Student Date:

5
INDEX
S.NO TOPIC PAGE
7
ABSTRACT
8
1 INTRODUCTION
9
2 METHODOLOGY

3 IMPLEMENTATION 10-12

4 RESULTS

5 APPLICATIONS 16

6 REFERENCES 16

6
ABSTRACT

“Employee Database And Payroll Management System” is designed to make the existing
manual system automatic with the help of computerised equipment and full-edged
computer software, fulfilling their requirements, so that their valuable data and
information can be stored for a longer period with easy access and manipulation of the
same. The required software is easily available and easy to work with. This web
application can maintain and view computerised records without getting redundant entries.
The project describes how to manage user data for good performance and provide better
services for the client.

7
INTRODUCTION

The proposed project “Employee Database and Payroll Management System” has been
developed to overcome the problems faced in the practicing of manual system. This
software is built to eliminate and in some cases reduce the hardships faced by the
existing system. Moreover this system is designed for particular need of the company to
carry out its operations in a smooth and effective manner. This web application is
reduced as much as possible to avoid errors while entering data. It also provides error
message while entering invalid data. It is user-friendly as no formal knowledge is
required to use the system. Human resource challenges are faced by every organization
which has to be overcome by the organization. Every organization has different
employee and payroll management needs. Therefore I have design exclusive Employee
and payroll Management System that are adapted to the organization’s Managerial
Requirements.

8
METHODOLOGY

Creating a robust payroll management system involves several steps and considerations. Here's a
methodology you can follow:

Requirement Analysis:

Understand the specific needs of the organization.


Identify the number of employees, pay structure, benefits, deductions, tax obligations, etc.

Designing the System:

Create a blueprint or architecture of the payroll system.


Determine data flow, user roles, modules, and integration with other systems (HR, accounting, time-
tracking, etc.).

Development and Testing:

If building in-house, develop the system based on the design.


Rigorous testing is crucial to ensure accuracy, security, and compliance.
Test for different scenarios, including regular payroll cycles, bonuses, overtime, etc.

Implementation:

Plan a phased implementation to minimize disruptions.


Migrate existing data accurately to the new system.

Compliance and Security:

Ensure compliance with local laws, tax regulations, and labor laws.
Implement security measures to protect sensitive employee information.

User Feedback and Iteration:

Gather feedback from users post-implementation to address any issues or improvements needed.
Continuously iterate and update the system based on user feedback and changing regulations.

Documentation and Support:

Document system functionalities, procedures, and troubleshooting guides.


Provide ongoing support and training to users.

Continuous Improvement:

Monitor system performance and gather insights to improve efficiency and accuracy.
Explore automation and integration possibilities to streamline processes further.
Remember, a successful payroll management system requires attention not only during the initial
development but also ongoing maintenance and adaptation to changing requirements and regulations.
Regularly reassess and update your system to ensure it remains efficient, accurate, and complaint
9
IMPLEMENTATION

ER DIAGRAM:

Fig: ER digram of payroll mangement system

10
KEYS:
1.Employees Table:
Primary Key: employee_id
A unique identifier for each employee.
2. department Table:
Primary Key: dept_no
A unique identifier for each department.
3. Salary Table:
Foreign Key: employee_id
An integer indicating salary of different employee based on their employee id.
It references to Employee table.
4. Leaves Table:
Foreign Key: dept_no.
Different amount of leaves are available to different tables based on the dept_no.
It references to departmnet table.
5. Accdetails Table:
Primary Key: acc_number
Foreign Key: employee_id
Every employee based on their employee id has a unique account number.
The foreign key references to Empoyees table.

Relationships:
Many-to-One Relationship :
1) Employees and department->
Every department consists many different employees present based on their given department numbers
but, one employee is in only one department.
One-to-One Relationship :
1) Employee and acc_details->
One employee has only one account number and one account number is associated to a single employee.
2) Departmet and leaves->
One department has only one leaves set and one leaves set is associated with single department.
3) Employees and salary->
One employee has only one salary and one salary set is associated with single employee.

11
DATABASE DESIGN:

Accdetails table

Customers table

Department table

Employees table

Leaves table

12
TABLE CREATION:

EMPLOYEES:-

SQL> create table Employees(


2 employee_id number(6),
3 first_name varchar2(25),
4 last_name varchar2(25),
5 hire_data date,
6 dept_no number(6),
7 leaves_no number,
8 constraint employee_pk primary key(employee_id));

DEPARTMENT:-

SQL> create table department(


2 dept_no number(6),
3 dept_name varchar2(25),
4 constraint department_pk primary key(dept_no));

SALARY:-

SQL> create table salary(


2 employee_id number(6),
3 salary number,
4 tax number,
5 bonus number,
6 foreign key(employee_id) references Employees(employee_id));

LEAVES:-

SQL> create table Leave(


2 dept_no number(6),
3 sick_leaves number,
4 casual_leaves number,
5 paid_leaves number,
6 foreign key(dept_no)references department(dept_no));

ACCDETAILS:-

SQL> create table accdetails(


2 employee_id number(6),
13
3 acc_number number,
4 bank_name varchar2(35),
5 constraint accdetails_pk primary key(acc_number),
6 foreign key(employee_id) references Employees(Employee_id));

INSERTION OF VALUES:

EMPLOYEES:

Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)


values(1204 , “Ryle”, “Kincaid”, “17-oct-2001”,1,5);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(2305, "Atlas", "Corrigan", "27-aug-2003",3,6);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(3406 , "Alex", "Volkov", "7-march-2001",3,3);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(1014 , "Rhys", "Larsen", "17-may-2004",2,1);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(2034 , "Josh", "Chen", "29-march-2005",5,7);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(7204 , "Christian", "Harper", "01-may-2004",4,2);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(4201 , "Kirill", "Morozov", "03-july-2005",2,4);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(5304 , "Aiden", "King", "27-dec-2004",5,5);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(4100 , "Xander", "Knight","15-jan-2006",1,7);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(1004 , "Ronan", "Astor", "1-march-2003",4,2);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(6789, "Cole", "Nash", "29-may-2005",4,6);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(9807 , "Zade", "Meadows", "31-july-2002",5,4);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(8024 , "Lily", "Bloom", "21-sep-2007",1,2);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(6657, "Ava", "Chen", "12-feb-2000",3,1);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(2220, "Bridget", "Aschberg","02-apr-2002",4,4);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(5047 , "Jules", "Ambrose","09-sep-2006",2,3);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(4066 , "Victoria", "Evans", "30-june-2001",1,1);
14
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(5678 , "Stella", "Alonso","04-nov-2000",5,4);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(2004 , "Sasha", "Ivanova","06-aug-2007",3,2);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(1897 , "Elsa", "Steel","08-oct-2002",2,2);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(7866 ,"Teal", "Von Doren","10-dec-2005",4,2);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(8976 , "Kimberly", "Reed","19-june-2002",5,7);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(1001 , "Silver", "Queens","07-oct-2007",3,3);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(2005 , "Adeline", "Reily","06-july-2009",2,4);
Insert into Employees(employee_id,first_name,last_name,hire_data,dept_no,leaves_no)
values(3498 , "Jameson", "Hawthorne","17-oct-2001",1,1);
DEPARTMENT:
Insert into department(dept_no,dept_name) values(1,"Administration");
Insert into department(dept_no,dept_name) values(2,"IT");
Insert into department(dept_no,dept_name) values(3 , "Sales");
Insert into department(dept_no,dept_name) values(4 , "HR");
Insert into department(dept_no,dept_name) values(5, "Marketing");
LEAVES:
Insert into Leave(dept_no,sick_leaves,casual_leaves,paid_leaves) values(1,1,2,1);
Insert into Leave(dept_no,sick_leaves,casual_leaves,paid_leaves) values(2,2,1,2);
Insert into Leave(dept_no,sick_leaves,casual_leaves,paid_leaves) values(3,2,2,2);
Insert into Leave(dept_no,sick_leaves,casual_leaves,paid_leaves) values(4,1,1,2);
Insert into Leave(dept_no,sick_leaves,casual_leaves,paid_leaves) values(5,1,1,1);
SALARY:
Insert into salary(employee_id,salary,tax,bonus) values(1204 , 27500,230,2000);
Insert into salary(employee_id,salary,tax,bonus) values(2305, 35000,258, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(3406 , 25000,210, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(1014 , 22000,198, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(1014 , 22000,198, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(2034 , 27624,225, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(7204 , 47000,270, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(4201 , 73163,500, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(5304 , 54629,368, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(4100 , 24858,206, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(1004 , 31000,240, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(6789, 30000 ,237, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(9807 , 70000,490, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(8024 , 24082,207, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(6657, 45000,265, 2000);
15
Insert into salary(employee_id,salary,tax,bonus) values(2220, 43442,260, 2000 );
Insert into salary(employee_id,salary,tax,bonus) values(5047 , 125000,1000, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(4066 , 27964,229, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(5678 , 30000,278, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(2004 , 108824,990, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(1897 , 60000,490, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(7866 , 30000,278, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(8976 , 53598,389, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(1001 , 71011,510, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(2005 , 90000,970, 2000);
Insert into salary(employee_id,salary,tax,bonus) values(3498 , 25000,230, 2000);
ACCDETAILS:
Insert into accdetails(employee_id,acc_id,bank_name) values(1204, 1009900, "Allahabad
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(2305, 2009901,"Andhra
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(3406, 3009902,"Axis
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(1014 ,4009903,"Bank of
Bahrain and Kuwait");
Insert into accdetails(employee_id,acc_id,bank_name) values(2034 ,5009904,"Bank of
Baroda - Corporate Banking");
Insert into accdetails(employee_id,acc_id,bank_name) values(7204 ,6009905,"Bank of
India");
Insert into accdetails(employee_id,acc_id,bank_name) values(4201 ,7009906,"Canara
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(5304 ,8009907,"Central
Bank of India");
Insert into accdetails(employee_id,acc_id,bank_name) values(4100 ,9009908,"Allahabad
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(1004 ,1789909,"Andhra
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(6789 ,2809801 ,"Axis
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(9807 ,9109802,"Axis
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(8024 ,5009803,"Bank of
Bahrain and Kuwait");
Insert into accdetails(employee_id,acc_id,bank_name) values(6657, 6709214,"State Bank
of India");
Insert into accdetails(employee_id,acc_id,bank_name) values(2220, 3202315,"State Bank
of India");
Insert into accdetails(employee_id,acc_id,bank_name) values(5047 , 0997986,"Syndicate
Bank");
16
Insert into accdetails(employee_id,acc_id,bank_name) values(4066 , 0495907,"Federal
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(5678 , 0116574,"Federal
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(2004 , 0229856,"Bank of
Baroda - Corporate Banking");
Insert into accdetails(employee_id,acc_id,bank_name) values(1897 , 0779812,"Syndicate
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(7866 , 0559451,"Bank of
India");
Insert into accdetails(employee_id,acc_id,bank_name) values(8976 , 0889712,"Canara
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(1001 ,
0409853,"Development Credit Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(2005 , 0179314,"Syndicate
Bank");
Insert into accdetails(employee_id,acc_id,bank_name) values(3498 , 0009543,"Syndicate
Bank");

17
RESULTS
1.List the employee name of employee with high salary as highest_salary from
department 1?
SQL> select e.first_name,max(salary) from Employees e join Salary s on
e.employee_id=s.employee_id group by dept_no having dept_no=1;

2.Select Employee details whose salary is above 70,000?


SQL> select * from Employees e join Salary s on e.employee_id=s.employee_id
where salary>70000;

3.List Employees whose No.of Leaves is >5 and salary is above 50,000?
SQL> select first_name from Employees e join Salary s on
e.employee_id=s.employee_id where salary>50000 and leaves_no>5;

4.List the employee firstname,lastname,leaves_no,salary who belongs to HR department


and salary is above 40,000?
SQL> select first_name,last_name,leaves_no,salary from Employees e join Salary s
on e.employee_id=s.employee_id join Department d on e.dept_no=d.dept_no where
salary>40000 and dept_name='HR';

18
5.Print department number and average salary for the department whose average salary is
>50,000?
SQL> select dept_no,avg(salary) as average_salary from Employees e join Salary s
on e.employee_id=s.employee_id group by dept_no having avg(salary)>50000;

6.List Employee details and their salaries excluding tax and including bonus?
SQL>

7.Print Employee firstname,lastname,bankname those who has bank account in Syndicate


Bank?
SQL>select first_name,last_name,bank_name from Employees e join Accdetails a on
e.employee_id=a.employee_id where bank_name='Syndicate Bank';

8.List the department name,firstname,lastname of the Employee Whose lastname starts


with A?
SQL>select dept_name,first_name,last_name from Employees e join Department d
on e.dept_no=d.dept_no where last_name like 'A%';

19
9.List Employee details of Employees who joined the company in year 2004?

INITIAL CONSOLE SCREEN :

20
PERFOMING DIFFERENT MOVES

21
NEXT MOVE

By pressing a right arrow we get

NEXT MOVE

By pressing a down arrow

22
NEXT MOVE

By pressing a left arrow we get

We continue to perform different moves and try to get the number


2048 in the least possible moves we can. If we fail to do that then this
will be the output

23
APPLICATIONS

This payroll management system is only a project made for reference


purposes only. This payroll management system was specifically for a
semester project. It aims to give beginners a good understanding of
programming. This is the main purpose to take this course project.

REFERENCES

 DBMS Tutorial - Database Management System - GeeksforGeeks


 Employee Database Management System | Zimyo HRMS

24

You might also like