INTRODUCTION TO PYTHON
Python is a widely used general-purpose, high-level programming
language. It was created by Guido Van Rossum in 1991 and further
developed by the Python Software Foundation. It was designed with
an emphasis on code readability, and its syntax allows programmers to
express their concepts in fewer lines of code.
Python is a programming language that lets you work quickly and integrate
systems more efficiently.
Features of Python:
• Easy to learn
• Cross Platform language
• Readable
• Free and Open Source
• Memory Management
• Large Standard Library
• Exception Handling
• Presence of third-party modules
• User-friendly data structures
• Dynamically typed language
• Object-oriented language
• Portable and Interactive
Python character set includes:
• Letters- A-Z, a-z
• Digits- 0-9
• Special symbols- = + [] {} () <>, / ; : ’’ ”” ! @ # $ % ^ & *
• Whitespaces- Blank spaces, tabs, new line, form feed, Carriage return
• Other characters- Python can process all ASCII and
Unicode characters. Tokens- the smallest individual unit in a
program is known as a token or lexical unit. Python gas following
tokens:
• Keywords- they are words having special meaning reserved by
programming language. Eg- for, del, or
• Identifiers- they are fundamental building blocks of a program and
are used as the general terminology for the names given to different
parts of the program viz. variables, objects, classes, functions, lists,
dictionaries, etc.
• Literals- literals are data items that have a fixed value.
• Operators- they trigger some computation when applied to variables
and other objects in an expression.
• Punctuators- they are symbols that are used to organize sentence structures
INTRODUCTION TO MySQL
It is an Open Source RDBMS Software that uses Structured Query
Language . It is available free of cost.
Salient Features of MySQL :
• Released under open source and available free of cost.
• Easy to learn and use..
• Fast processing speed and easy in installation. Occupy very less space.
• Supports standards based SQL.
• Provides portability.
• High Security.
• Provides many data types.
• Handles large database.
MySQL Data Types:
Every column (or data item) should belong to a unique domain (known
as data type). These data types help to describe the kind of information
a particular column holds. MySQL supports the ANSI SQL data types.
The Structured Query Language (SQL)
• SQL (pronounced SEQUEL for Simple English Query Language) is
Non-procedural universal data access language used to access and
manipulate data stored in nearly all the data bases available currently.
• SQL standards are defined by ANSI (American National Standards
Institute). SQL statements are used to retrieve and update data in a
database. SQL works with database programs like MySQL, MS
Access, DB2, Informix, MS SQL Server, Oracle, Sybase, etc.
• Most of the SQL database programs also have their own
proprietary extensions in addition to the SQL standard.
SQL COMMANDS
SQL commands can be classified into the following:
Data Definition Language (DDL): A database scheme is defined by set of
definitions, which are expressed, by a special set of commands called Data
Definition Language (DDL). They are used to create tables, databases,
identify data items, provide unique names to the data items and to define the
length and provide the range of values that each data item can assume. They
are CREATE TABLE, ALTER TABLE and DROP TABLE commands.
Data Manipulation Language (DML):
The data manipulation language (DML) handles operations such as entering
rows into a table, changing data, deleting rows, and extracting data from rows
and tables. With DML, one does not change the table’s structure, but rather
its contents. It contains commands like INSERT, UPDATE and DELETE.
ABOUT PROJECT
School Management Systems plays an essential role in the current
educational system. School authorities all over the world are engaged
in a lot of day-to-day administrative and academic activities to manage
and provide a better academic experience to students effectively.
However, maintaining and keeping track of school administrative
activities is not an easy process in the fast-growing world. It requires
hard work and often it is time- consuming.
For better performance of the school administrative activities of
educational institute, they utilize School Management software
nowadays. Such applications often offer many features that help to
enhance the performance of schools with minimum efforts. School
Management software does it by avoiding the manual paper works and
automation of many academic and administrative activities.
So, the project made by me includes the facility of Adding, Displaying,
Updating, Searching and Deleting Student's Details. In the same way it
further includes the facility of Adding, Displaying, Updating and
Deleting Teacher's Details. So basically this project helps us to make
our task easier and also reduces the time being wasted unnecessarily.
EXISTING SYSTEM
A School Management System is software designed for the overall
administration of the educational institutions. It allows us to digitally
monitor and manage all the resources and process data on a single
platform itself. From tracking the student’s performance, generating
reports, and automating other administrative operations, the system has
delivered some great results for connected schools. There has been a
drastic change in the academic experience-making it more useful and
constructive for students and school staff as well. Furthermore, its
excellent flexibility has enabled easy blending with any domain of
educational institution without any hassles.
In the current system we need to keep a number of records related to
the student and want to enter the details of the student and the marks
manually. In this system only the teacher or the school authority views
the mark of the student and they want to enter the details of the student.
This is time consuming and has much cost.
Teachers may want to associate a student with his parent or emergency
persons for disciplinary measures which need searching of the students
record in the record office. It has been difficult to search a record from
thousands of such records and observed that students can take any
person claiming that he/she is their parent or emergency person which
creates problem in control of students.
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be
really wants to stand against today’s merciless competition where
not to wise saying “to err is human” no longer valid, it’s outdated
to rationalize your mistake. So, to keep pace with time, to bring
about the best result without malfunctioning and greater efficiency
so to replace the unending heaps of flies with a much-sophisticated
hard disk of the computer. One has to use the data management
software. Software has been an ascent in atomization various
organizations. Many software products working are now in
markets, which have helped in making the organizations work
easier and efficiently. Data management initially had to maintain a
lot of ledgers and a lot of paper work has to be done but now
software product on this organization has made their work faster
andeasier. Now only this software has to be loaded on the
computer and work can be done. This prevents a lot of time and
money. The work becomes fully automated and any information
regarding the organization can be obtained by clicking the button.
Moreover, now it’s an age of computers of and automating such an
organization givesthe better look. The school management system
will manage all the work in any school in particular order so that
the time requirement and complexity of the system will be
reduced, at first it will focus on student related information. As a
student gets the admission in the school system will start managing
the details regarding the students. It will manage the fee details,
and if the full payment has not done, then it will notify about the
fee to a staff of the school. School Management System will then
display the date of the test and when the test completes it will
display the results of the students. While the parents can use it to
monitor their children's performance, also they can contact with
the teachers.
MODULES
• Login Module: it is a multiple login interface that would
allow you to secure you’ are Data (you may log in by
entering ID and Password). And even you can register a new
I’D
• Student module: it would have two submodules in it, i.e., add
a new student and remove data of a particular student.
• Teacher module: it would have two submodules in it, i.e., add
a new teacher and remove data of a particular teacher.
• Feedback module: it would allow parents and guardians to
give feedback and Suggestions regarding administration
and faculty.
BENEFITS OF PROPOSED SYSTEM
• Less Paper Work: The paperwork is reduced to minimal
level. Computer preparesthe lists of students.
• No Manual Work: There is no manual work. All the
processes are done throughcomputer.
• Record of students: There is record of all the students who got registered.
• Register Maintenance is Easier: Register can now easily
be maintained by producinga report with a format of adding
student’s records.
• Data Is Not Scattered: Data is now stored at one place.
Any information regardinganything can be easily available
to the user.
• User-friendly Software: The software is GUI and is very easy to use.
• Flexibility: The system is more flexible than the manual system being used
presently.
• Beneficial: The system is easy to use and reduces the user’s
workload a lot. It Provides timely & accurate information and
there is automatic generation of reports.
HARDWARE REQUIREMENTS:
I.OPERATING SYSTEM WINDOWS 7 AND ABOVE
PENTIUM(ANY) OR AMDATHALON (3800+-
II. PROCESSOR
4200+ DUAL CORE)
1.845 OR 915,995 FOR PENTIUM
0R MSIK9MM-V VIA
III. MOTHERBOARD
K8M800+8237R
PLUSCHIPSET FOR AMD
ATHALON
IV. RAM 512 MB+
V. Hard disk SATA 40 GB OR ABOVE
VI. CD/DVD r/w multi drive (If back up required)
combo
VII. FLOPPY DRIVE 1.44 MB (If Backup required)
VIII. MONITOR 14.1 or 15 -17 inch
IX. Key board and mouse Required
X. Printer Required
SOFTWARE REQUIREMENTS:
• Windows OS
• Python
INSTALLATION PROCEDURE:
Pre-Requisites: -
1. You have to have the following software for the successful running
of this software; which are
• Python (Only for the First time), it is downloadable from 'www.python.org
HYPERLINK "http://www.python.org/"' HYPERLINK
"http://www.python.org/".
• MySQL (Only for the First time), it is downloadable from
'www.mysql.org HYPERLINK "http://www.mysql.org/"'
HYPERLINK "http://www.mysql.org/". Installation: -
• There will be two folders namely 'TABLEE Files' and 'MAIN files'.
• The folder 'TABLEE Files' will contain the source code of the
software in python language. If you are running the software by the
3rd step mentioned below you have to pre install the following
modules: -
• mysql.connector
• IMPORT time
• Open the files in any python editors and run it to start and work on the
software.
• The folder '6054' will contain two files namely 'main.exe' and
'Tables_in_mysql.exe'.
• First run the 'Tables_in_mysql.exe' to create the tables in
MySQL. Then run the file 'main.exe' to start and work on the
software.
INTRODUCTION
This project is developed in Python platform with MySQL database as
backend and has been designed to automate the processes of result and
attendance for the students as well as teachers of Prince Ashokraje
Gaekwad School. It has two users – admin and teacher. It takes as input
from teachers in form of student details, attendance etc., through a
Graphical User Interface. It also helps the administration staff to update
the details of all the list of teachers and students. It helps the parents
and guardians and student to give a feedback about the school and its
performance and thus also helps the school these view this reviews and
improve the management keeping in mind the requirements mentioned
in the feedback. Positive feedback helps to motivate the school
management team to work better to give their school a better
reputation! In a nutshell the program is aimed to automate the complete
process of managing data of students and teachers of Prince Ashokraje
Gaekwad School with the utmost convenience of the team and also
nullifies the negative aspects offered by paperwork like loss of data and
data redundancy.
OBJECTIVE OF THE PROJECT
The objective of this project is to let the students apply the
programming knowledge into a real- world situation and get the
students exposed to how programming skills helps in developing a
good software.
1)Write programs utilizing modern software tools.
2)Apply object-oriented programming principles effectively when
developing small to medium sized projects.
3)Write effective procedural code to solve small to medium sized problems.
4)Students will demonstrate a breadth of knowledge in computer science.
5)Students will demonstrate ability to conduct research or applied
Computer Science project, requiring writing and presentation
skills which exemplify scholarly style in computer science.
Description
This project is aimed to automate the student management system. This project
is developed mainly to administrate the student records. The purpose of the
project entitled as to computerize the Front Office Management of student
records in colleges, schools and coaching’s, to develop software which is user
friendly, simple, fast and cost- effective. Traditionally, it was done manually.
The main function of the system is to register and store student details, retrieve
and these details as and when required, and also to manipulate these details
meaningfully.
TABLE DESIGN
An important aspect of system design is the design of data storage
structure. To begin with a logical model of data structure is developed
first. This software project maintains a database named school which
contains the following tables:
Table: feedback
Table: student
Table: teacher
Table: users
TABLE DATA
Table: feedback
Table: student
Table: teacher
Table: users
DESIGN MENU
No. Menu Sub Menu Purpose of the Menu
1. Login/ Signup Register new user To register new user
Login To login into the system
Add new student To register new student
Remove student Remove a student from database
2. Main Menu
Add new teacher To register new teacher
Remove teacher Remove a teacher from database
Display students To get all the details of students of a
particular standard present in a
database
Teacher’s detail To get all the details of teachers
present
in a database
3. Feedback Feedbacks To give feedback regarding any topic
like academic or
administration about
the
student
SOURCE CODE
import mysql.connector
from getpass import getpass
# Database connection
db = mysql.connector.connect(
host="localhost",
user="root",
password="root",
database="cbse"
)
cursor = db.cursor()
# Function to add a new student
def add_student():
first_name = input("Enter student's first name: ")
last_name = input("Enter student's last name: ")
roll_number = int(input("Enter student's roll number: "))
cursor.execute(
"INSERT INTO students (first_name, last_name, roll_number) VALUES (%s, %s, %s)",
(first_name, last_name, roll_number)
)
db.commit()
print("Student added successfully!")
# Function to remove a student
def remove_student():
roll_number = int(input("Enter the roll number of the student to remove: "))
cursor.execute("DELETE FROM students WHERE roll_number = %s", (roll_number,))
db.commit()
print("Student removed successfully!")
# Function to add a new teacher
def add_teacher():
first_name = input("Enter teacher's first name: ")
last_name = input("Enter teacher's last name: ")
subject = input("Enter the subject they teach: ")
cursor.execute(
"INSERT INTO teachers (first_name, last_name, subject) VALUES (%s, %s, %s)",
(first_name, last_name, subject)
)
db.commit()
print("Teacher added successfully!")
# Function to remove a teacher
def remove_teacher():
teacher_id = int(input("Enter the ID of the teacher to remove: "))
cursor.execute("DELETE FROM teachers WHERE id=%s", (teacher_id,))
db.commit()
print("Teacher removed successfully!")
# Function to add feedback for a student
def add_feedback():
roll_number = int(input("Enter the roll number of the student: "))
feedback_text = input("Enter the feedback for the student: ")
cursor.execute(
"INSERT INTO feedback (student_id, feedback_text) SELECT id, %s FROM students WHERE
roll_number = %s",
(feedback_text, roll_number)
)
db.commit()
print("Feedback added successfully!")
# Function to display students
def display_students():
cursor.execute("SELECT id, first_name, last_name, roll_number FROM students")
students = cursor.fetchall()
if students:
print("List of Students:")
for student in students:
print(f"ID: {student[0]}, Name: {student[1]} {student[2]}, Roll Number: {student[3]}")
else:
print("No students in the database.")
# Function to display teacher details
def display_teachers():
cursor.execute("SELECT id, first_name, last_name, subject FROM teachers")
teachers = cursor.fetchall()
if teachers:
print("List of Teachers:")
for teacher in teachers:
print(f"ID: {teacher[0]}, Name: {teacher[1]} {teacher[2]}, Subject: {teacher[3]}")
else:
print("No teachers in the database.")
# Function for user signup
def signup():
username = input("Enter a username: ")
password = getpass("Enter a password: ")
cursor.execute("INSERT INTO users (username, password) VALUES (%s, %s)", (username,
password))
db.commit()
print("Signup successful!")
# Function for user login
def login():
username = input("Username: ")
password = getpass("Password: ")
cursor.execute("SELECT id FROM users WHERE username = %s AND password = %s", (username,
password))
user_id = cursor.fetchone()
if user_id:
print("Login successful!")
return True
else:
print("Login failed. Check your username and password.")
return False
# Main program loop
while True:
print("\nSchool Management System")
print("1. Signup")
print("2. Login")
print("3. Quit")
choice = input("Enter your choice (1/2/3): ")
if choice == '1':
signup()
elif choice == '2':
if login():
while True:
print("\n1. Add Student")
print("2. Remove Student")
print("3. Add Teacher")
print("4. Remove Teacher")
print("5. Add Feedback")
print("6. Display Students")
print("7. Display Teachers")
print("8. Logout")
choice = input("Enter your choice (1-8): ")
if choice == '1':
add_student()
elif choice == '2':
remove_student()
elif choice == '3':
add_teacher()
elif choice == '4':
remove_teacher()
elif choice == '5':
add_feedback()
elif choice == '6':
display_students()
elif choice == '7':
display_teachers()
elif choice == '8':
print("Logging out...")
break
else:
print("Invalid choice. Try again.")
elif choice == '3':
print("Exiting the School Management System. Goodbye!")
break
else:
print("Invalid choice. Please try again.")
I/O SCREEN
SIGNUP VIEW
LOGIN VIEW
QUIT VIEW
MAIN MENU
• Add New Student
• Remove Student
• Add New Teacher
• Remove Teacher
• Add Feeback
• Display All Students
• Display All Teachers
• Logout The Session
CONCLUSION
We can perform any operation like creating database or tables, insert,
update, delete and select operations from the Python interface itself
and it will be reflected in the MySQL database. This integration will
prove useful for scenarios that involve ever changing data
BIBLIOGRAPHY
Sumita Arora (2021), Computer Science With Python- Class XI,
Dhanpat Rai & Co. Sumita Arora (2021), Computer Science With
Python- Class XII, Dhanpat Rai & Co. http://www.realpython.com
http://google.com/
https://www.w3schools.com/python/