Employee Management System
Employee Management System
On
EMPLOYEE MANAGEMENT
SYSTEM
For
AISSCE 2024 Examination
[As a part of the Computer Science Course
(083)]
Submitted By
Name:
Board Roll No:
VIVEK VIDYALAYA
JAMSHEDPUR
CERTIFICATE
has not been submitted for any other examination and does not form
…………………………………… ……………………………………
Signature of Student Signature of
Teacher/Guide
Place: Jamshedpur
Date:
ACKNOWLEDGMENT
I undertook this Project work, as the part of my XII-Computer
Science course. I had tried to apply my best of knowledge and
experience, gained during the study and class work experience.
However, developing software system is generally a quite
complex and time-consuming process. It requires a systematic
study, insight vision and professional approach during the
design and development. Moreover, the developer always feels
the need, the help and good wishes of the people near you,
who have considerable experience and idea.
Prem
Tiwari
Class XII (Science)
CONTENT
1. Introduction
2. Theoretical Background
3. System Implementation
4.1Database Design:
5. User Manual
6. References
3.1 What is Database?
Introduction and Concepts:
A database is a collection of information related to a particular
subject or purpose, such as tracking customer orders or maintaining a
music collection. Using any RDBMS application software like MS SQL
Server, MySQL, Oracle, Sybase etc, you can manage all your
information from a single database file. Within the file, divide your
data into separate storage containers called tables. You may and
retrieve the data using queries.
To find and retrieve just the data that meets conditions you specify,
including data from multiple tables, create a query. A query can also
update or delete multiple records at the same time, and perform
built-in or custom calculations on your data.
APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are
available, enabling MySQL clients to be written in many
languages.
What is Python?
Python is a popular programming language. It was created by Guido van Rossum,
and released in 1991.
It is used for:
Why Python?
Python works on different platforms (Windows, Mac, Linux, Raspberry Pi,
etc).
Python has a simple syntax similar to the English language.
Python has syntax that allows developers to write programs with fewer
lines than some other programming languages.
Python runs on an interpreter system, meaning that code can be executed
as soon as it is written. This means that prototyping can be very quick.
Python can be treated in a procedural way, an object-orientated way or a
functional way.
Good to know
The most recent major version of Python is Python 3, which we shall be
using in this tutorial. However, Python 2, although not being updated with
anything other than security updates, is still quite popular.
In this tutorial Python will be written in a text editor. It is possible to write
Python in an Integrated Development Environment, such as Thorny,
Pycharm, Netbeans or Eclipse which are particularly useful when managing
larger collections of Python files.
Hardware used:
Software used:
SQL:
IDLE:
3. Search record
i. ID
ii. NAME
iii. DEPARTMENT
iv. GENDER
v. HIRE DATE
vi. SALARY
4. Delete record
5. Graphical Representation
i. EMPLOYEES DEPARTMENT
Input:
Output:
2. Gender Graph
i. INPUT
ii. OUTPUT
6. Update record
i. ID
ii. NAME
iii. DEPARTMENT
iv. GENDER
v. HIRE DATE
vi. SALARY
7. EXIT
CODING:
ans="y"
def empgr():
print("1. emloyees department \n2. gender graph")
x=int(input("enter the no:"))
if x==1:
deptgraph()
elif x==2:
sexgraph()
elif x!=[1,2]:
print("INVAILD INPUT")
def deptgraph():
import pymysql
import matplotlib.pyplot as plt
d1=pymysql.connect(host="localhost",user="root",passwd="",database="office")
c1=d1.cursor()
quer="select count(*) from emp where dept='hr';"
c1.execute(quer)
x=c1.fetchone()
lst=list(x)
quer="select count(*) from emp where dept='manageing';"
c1.execute(quer)
y=c1.fetchone()
lst1=list(y)
quer="select count(*) from emp where dept='sales';"
c1.execute(quer)
z=c1.fetchone()
lst2=list(z)
quer="select count(*) from emp where dept='accounts';"
c1.execute(quer)
a=c1.fetchone()
lst3=list(a)
quer="select count(*) from emp where dept='production';"
c1.execute(quer)
d1.commit()
a=c1.fetchone()
lst4=list(a)
lstt=lst+lst1+lst2+lst3+lst4
y=["HR","Manageing","Sales","Accounts","Production"]
plt.bar(y,lstt,width=0.50)
plt.xlabel("Department")
plt.ylabel("No. of employees")
plt.show()
def sexgraph():
import pymysql
import matplotlib.pyplot as plt
d1=pymysql.connect(host="localhost",user="root",passwd="",database="office")
c1=d1.cursor()
quer="select count(*) from emp where gender='male';"
c1.execute(quer)
x=c1.fetchone()
lst=list(x)
quer="select count(*) from emp where gender='female';"
c1.execute(quer)
y=c1.fetchone()
lst1=list(y)
lstt=lst+lst1
y=["Male","Female"]
plt.bar(y,lstt,width=0.25)
plt.xlabel("Sex")
plt.ylabel("no. of teachers")
plt.show()
def showallrecords():
import pymysql
import pandas as pd
d1=pymysql.connect(host="localhost",user="root",passwd="",database="office")
c1=d1.cursor()
quer="select empid from emp;"
c1.execute(quer)
rec=c1.fetchall()
lst=[]
for t in rec:
for x in t:
lst.append(x)
quer1="select empname from emp;"
c1.execute(quer1)
rec1=c1.fetchall()
lst1=[]
for t in rec1:
for x in t:
lst1.append(x)
quer2="select dept from emp;"
c1.execute(quer2)
rec2=c1.fetchall()
lst2=[]
for t in rec2:
for x in t:
lst2.append(x)
quer3="select gender from emp;"
c1.execute(quer3)
rec3=c1.fetchall()
lst3=[]
for t in rec3:
for x in t:
lst3.append(x)
quer4="select hire_date from emp;"
c1.execute(quer4)
rec4=c1.fetchall()
lst4=[]
for t in rec4:
for x in t:
lst4.append(x)
quer5="select sal from emp;"
c1.execute(quer5)
rec5=c1.fetchall()
lst5=[]
for t in rec5:
for x in t:
lst5.append(x)
data={"id":lst,"name":lst1,"dept":lst2,"gender":lst3,"hire date":lst4,"salary":lst5}
df=pd.DataFrame(data)
print(df)
def addrecords():
import pymysql
d1=pymysql.connect(host="localhost",user="root",passwd="",database="office")
c1=d1.cursor()
print("")
print("DEPARTMENT: \n1. hr=$30000 \n2. manageing=$40000 \n3. sales=$50000 \n4.
accounts=$60000 \n5. production=$70000")
print("")
ans1="yes"
while ans1=="yes":
x=int(input("Enter the id:"))
quer1="select * from emp where empid=%d;" %x
c1.execute(quer1)
if c1.rowcount>0:
print("duplicate record")
elif c1.rowcount==0:
ans1="no"
y=input("Enter the name:")
a=input("Enter the dept:")
b=input("Enter the gender:")
c=input("Enter the hire date:")
if a=="hr":
v=30000
elif a=="manageing":
v=40000
elif a=="sales":
v=50000
elif a=="accounts":
v=60000
elif a=="production":
v=70000
quer="Insert into emp values(%d,'%s','%s','%s','%s',%d);" %(x,y,a,b,c,v)
c1.execute(quer)
d1.commit()
print("Record Added")
f=input("Want to see the added record:")
if f=="y":
quer="select * from emp where empid=%d;"%x
c1.execute(quer)
rec=c1.fetchone()
tid,name,dept,gender,hiredate,sal=rec
print("id= %d"%tid,"name= %s"%name,"department= %s"%dept,"gender= %s"%gender,"hire
date= %s"%hiredate,"salary= %d"%sal,sep="\n")
else:
print("Thank You")
def search():
import pymysql
import pandas as pd
d1=pymysql.connect(user="root",host="localhost",passwd="",database="office")
c1=d1.cursor()
print("1. Id \n2. Name \n3. Department \n4. Gender \n5. Hire Date \n6. Salary")
cho=int(input("enter the no."))
if cho==1:
x=int(input("enter the id:"))
quer="select empid from emp where empid='%d';" %x
c1.execute(quer)
row=c1.fetchall()
lst=[]
for z in row:
for y in z:
lst.append(y)
quer1="select empname from emp where empid='%d';" %x
c1.execute(quer1)
row1=c1.fetchall()
lst1=[]
for z in row1:
for y in z:
lst1.append(y)
quer2="select dept from emp where empid='%d';" %x
c1.execute(quer2)
row2=c1.fetchall()
lst2=[]
for z in row2:
for y in z:
lst2.append(y)
quer3="select gender from emp where empid='%d';" %x
c1.execute(quer3)
row3=c1.fetchall()
lst3=[]
for z in row3:
for y in z:
lst3.append(y)
quer4="select hire_date from emp where empid='%d';" %x
c1.execute(quer4)
row4=c1.fetchall()
lst4=[]
for z in row4:
for y in z:
lst4.append(y)
df=pd.DataFrame({"id":row[0],"name":row[1],"department":row[2],"gender":row[3],"hiredate":row[
4],"salary":row[5]},index=[1])
print(df)
print("\n1. id \n2. name \n3. department \n4. gender \n5. hire date \n6. salary")
cr=int(input("enter the no:"))
if cr==1:
ans1='yes'
while ans1=="yes":
y=int(input("enter the id:"))
quer1="select * from emp where empid=%d" %y
c1.execute(quer1)
if c1.rowcount>0:
print("DUPLICATE RECORD")
elif c1.rowcount==0:
ans1="no"
quer="update emp set empid=%d where empid=%d" %(y,tid)
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==2:
y=input("enter the name:")
quer="update emp set empname='%s' where empid=%d" %(y,tid)
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==3:
y=input("enter the department:")
quer="update emp set dept='%s' where empid=%d" %(y,tid)
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==4:
y=input("enter the gender:")
quer="update emp set gender='%s' where empid=%d" %(y,tid)
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==5:
y=input("enter the hire date:")
quer="update emp set hire_date='%s' where empid=%d" %(y,tid)
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==6:
y=int(input("enter the salary:"))
quer="update emp set sal=%d where empid=%d" %(y,tid)
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr!=[1,2,3,4,5,6,7]:
print("INVAILD INPUT")
elif c1.rowcount==0:
print("NO RECORD FOUND TO CHANGE")
while ans=="y":
print("")
print("1. show all the records \n2. add records \n3. search records \n4. delete record \n5.
Graphical representation \n6. Change values of records")
x=int(input("Enter the choice of no:"))
if x==1:
showallrecords()
elif x==2:
addrecords()
elif x==3:
search()
elif x==4:
delete()
elif x==5:
empgr()
elif x==6:
changerecord()
elif x!=[1,2,3,4,5]:
print("\t\tINVAILD INPUT")
ans=input("want to continue:")
REFERENCE