Certificate
This is to certify that ………………………… of
class XII-SCIENCE has successfully
completed her project under the guidance
of subject teacher Mr. AJAY KUMAR from
DAV PUBLIC SCHOOL, NIGAHI in partial
fulfillment of Computer Science practical
examination conducted by CBSE for
session 2025-26.
Teacher's Sign. Principal's Sign. Examiner's Sign.
Acknowledgement
I extend my appreciation and thanks to Mr. AJAY
KUMAR. It was his unfailing pushing and constant
inspiration that this work could take the present
shape.
Turning aspirations into realities is easier when
people are supportive of your efforts. Among such
persons are my parents to whom I am deeply
indebted for the positive feedback regarding
contribution to my work and for their unfailing
steps and ungrudging help at every step in this
project.
Name :- _______________________
Class :- 12th Science
Roll No.:- _____________
Signature :-
Index
Sno. TOPICS
1 System requirements
2 Feasibility study
3 Errors and its types
4 Testing
5 Maintenance
6 Flow chart of program
7 Code
8 Output
9 Appendix
10 Bibliography
System Requirements
HARDWARE
1. Processor
2. Keyboard
3. Minimum memory-2GB
SOFTWARE
1. Operating System OS8, OS10
2. Python IDLE
3. MYSQL
Feasibility Study
Feasibility study is a system proposal according to its work, ability,
impact on the operation ability to meet the needs of users and
efficient use of resources. An important outcome of preliminary
investigations the determination of that system requested feasible.
ECONOMICAL FEASIBILITY
Economics analysis is the most frequent use method for
evaluating the effectiveness of the candidates the benefits and
savings that are expected from system and compare them with
cost.
This software is not very costly. It just worth Rs.5500/-.So
users records can be maintained at a cheaper cost and every
school would like to use this software so that the student's
records can be managed easily.
TECHNICAL FEASIBILTY
Technical feasibility centre on the existing computer system
and to what extent it can support the proposed task. This
involves financial consideration to accommodate technical
enhancements.
It is technically feasible because whatever technology is
needed to develop this software is easily available.
Errors And Its Types
An error, some time called "A BUG" is anything in the code that
prevents a program from compiling and running correctly. There are
broadly three types of errors as follows
1. Compile-Time Errors: Errors that occurs during compilation of a
program is called compile time error. It has two types as follows:
Syntax Error: It refers to formal rules governing the
construction of valid statements in a language.
Semantics Error: It refers to the set of rules which give the
meaning of a statement.
2. Run Time Errors: Errors that occur during the execution of
program are run time errors. These are harder to detect errors. Some
run-time error stop the execution of program which is then called
program "Crashed".
3. Logical Errors: Sometimes, even if you don't encounter any error
during compiling-time and runtime, your program does not provide
the correct result. This is because of the programmer's mistaken
analysis of the problem he or she is trying to solve. Such errors are
called logical error.
Testing
1. Alpha Testing: It is the most common type of testing used in the
software industry. The objective of this testing is to identify all
possible issues or defects before releasing it into the market or to
the user. It is conducted at the developer's site.
2. Beta Testing: It is a formal type of software testing which is
carried out by the customers. It is performed in a real environment
before releasing the products into the market for the actual end-
users. It is carried out to ensure that there are no major failures in
the software or product and it satisfies the business requirement.
Beta Testing is successful when the customer accepts the software.
3. White Box Testing: White box testing is based on the knowledge
about the internal logic of an application's code. It is also known as
Glass box Testing. Internal Software and code working should be
known for performing this type of testing. These tests are based on
the coverage of the code statements, branches, paths, conditions etc
4. Black Box Testing: It is a software testing, method in which the
internal structure or design of the item to be tested is not known to
the tester. This method of testing can be applied virtually to every
level of the software testing.
Maintenance
Programming maintenance refers to the modifications in the
program. After it has been completed, in order to meet changing
requirement or to take care of the errors that shown up. There are
four types of maintenance:
1. Corrective Maintenance: When the program after compilation
shows error because of some unexpected situations, untested
areas such errors are fixed up by Corrective maintenance.
2. Adaptive Maintenance: Changes in the environment in which an
information system operates may lead to system management. To
accommodate changing needs time to time maintenance is done
and is called Adaptive maintenance.
3. Preventive Maintenance: If possible the errors could be
anticipated before they actually occur; the maintenance is called
Preventive maintenance.
4. Perfective Maintenance: In this rapidly changing world,
information technology is the fastest growing area. If the existing
system is maintained to keep tuned with the new features, new
facilities, new capabilities, it is said to be Perfective maintenance.
Flow Chart Of The Program
EMPLOYEE RECORDS
INSERT :- To insert details
SEARCH :- To search details
DELETE :- To delete details
DISPLAY :- To display details
EXIT :- To exit details
EXIT
Code
Python Program: MySQL Menu-Driven Employee Management
#Install MySQL connector
pip install mysql-connector-python
<---------------------------> PYTHON CODE <--------------------------->
import [Link]
#Connecting to MySQL database
con = [Link](
host="localhost",
user="root",
password="your_password",
database="your_database")
cursor = [Link]()
#Creating table if not exists
[Link]("""
CREATE TABLE IF NOT EXISTS employee(
emp_id INT PRIMARY KEY,
emp_name VARCHAR(50),
designation VARCHAR(50),
post VARCHAR(50),
salary INT )""")
def add_record():
emp_id = int(input("Enter Employee ID: "))
name = input("Enter Employee Name: ")
designation = input("Enter Designation: ")
post = input("Enter Post: ")
salary = int(input("Enter Salary: "))
query = "INSERT INTO employee VALUES (%s, %s, %s, %s, %s)"
data = (emp_id, name, designation, post, salary)
[Link](query, data)
[Link]()
print("Record Added Successfully!\n")
def display_records():
[Link]("SELECT * FROM employee")
records = [Link]()
print("\n--- Employee Records ---")
for row in records:
print(row)
print()
def search_record():
emp_id = int(input("Enter Employee ID to Search: "))
query = "SELECT * FROM employee WHERE emp_id = %s"
[Link](query, (emp_id,))
record = [Link]()
if record:
print("Record Found:", record, "\n")
else:
print("No Record Found!\n")
def delete_record():
emp_id = int(input("Enter Employee ID to Delete: "))
query = "DELETE FROM employee WHERE emp_id = %s"
[Link](query, (emp_id,))
[Link]()
if [Link] > 0:
print("Record Deleted Successfully!\n")
else:
print("Record Not Found!\n")
# Main Menu
while True:
print("----- Employee Management System -----")
print("1. Add New Record")
print("2. Display All Records")
print("3. Search Specific Record")
print("4. Delete a Record")
print("5. Exit")
choice = int(input("Enter your choice (1-5): "))
if choice == 1:
add_record()
elif choice == 2:
display_records()
elif choice == 3:
search_record()
elif choice == 4:
delete_record()
elif choice == 5:
print("Exiting Program...")
break
else:
print("Invalid Choice! Try Again.\n")
# Close the connection when done
if 'con' in locals() and con.is_connected():
[Link]()
print("MySQL connection closed.")
Output
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 1
Enter Employee ID: 101
Enter Employee Name: Rohan Sharma
Enter Designation: Software Developer
Enter Post: IT
Enter Salary: 65000
Record Added Successfully!
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 1
Enter Employee ID: 102
Enter Employee Name: Priya Verma
Enter Designation: HR Manager
Enter Post: HR
Enter Salary: 80000
Record Added Successfully!
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 2
--- Employee Records ---
(101, 'Rohan Sharma', 'Software Developer', 'IT', 65000)
(102, 'Priya Verma', 'HR Manager', 'HR', 80000)
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 3
Enter Employee ID to Search: 101
Record Found: (101, 'Rohan Sharma', 'Software Developer', 'IT',
65000)
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 3
Enter Employee ID to Search: 105
No Record Found!
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 4
Enter Employee ID to Delete: 102
Record Deleted Successfully!
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 2
--- Employee Records ---
(101, 'Rohan Sharma', 'Software Developer', 'IT', 65000)
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 6 <-- Invalid Choice handling
Invalid Choice! Try Again.
----- Employee Management System -----
1. Add New Record
2. Display All Records
3. Search Specific Record
4. Delete a Record
5. Exit
Enter your choice (1-5): 5 <-- Option 5: Exit
Exiting Program...
MySQL connection closed.
Appendix
TECHNICAL REQUIREMENTS
Requirement Details
Programming language Python 3.10
Database System MySQL Server
mysql-connector-python (Installation:
Python Library
pip install mysql-connector-python)
host='localhost', user='root',
Database Credentials password='your_password',
database='your_database'
MYSQL DATABASE SCHEMA
Column Name Data Type Constraint
emp_id INT PRIMARY KEY
emp_name VARCHAR(50) -
designation VARCHAR(50) -
post VARCHAR(50) -
salary INT -
KEY SQL QUERIES
Operation Python Function SQL Queries
INSERT INTO employee
Create/Insert add_record()
VALUES (%s, %s, %s, %s, %s)
Read All display_records() SELECT * FROM employee
SELECT * FROM employee
Read Specific search_record()
WHERE emp_id = %s
DELETE FROM employee
Delete delete_record()
WHERE emp_id = %s
Bibliography
SNo. Reference (Source) Description
Official documentation for MySQL,
MySQL specifically for the syntax of
1.
Documentation CREATE TABLE, INSERT, SELECT,
and DELETE SQL commands.
Used for understanding the core
Python Official Python language, especially basic
2.
Documentation syntax, input/output (input, print),
and control flow (while, if/elif/else).
Official documentation for the
[Link] Python library used to connect to
3. Module the MySQL database and execute
Documentation SQL queries via methods like
[Link]() and [Link]().
External tutorials utilized for
grasping the fundamental Database
Online Tutorials
4. Operations (CRUD: Create, Read,
(e.g., W3Schools)
Update, Delete) in the context of
Python and SQL.