You are on page 1of 25

Oxford Public School

Ranchi

Session: 2020-2021

Computer Science
Project

Submitted by:-
Name: Rema Deosi Sundi
Class: XII A
Class Roll no.: 40
Board Roll no.:
Certificate
This is to certify that Rema Deosi Sundi of class
XII A of Oxford Public School, Ranchi has
completed her project file under the supervision
of Mrs Rolley. She has taken care and shown
sincerity in completion of this project.

I hereby certify that this project is upto my


expectations and guidance issued by CBSE.

Internal External

Signature Signature
Acknowledgement
I would like to express my greatest
gratitude to the people who helped and
supported me throughout my project. I
am thankful to my parents for helping me
in completion of this project. I am grateful
to Mrs. Rolley whose valuable guidance
has been the ones that helped me patch
this project and make it full proof success.
I would also like to express my gratitude to
the Principal Mr. Suraj Sharma for his
constant motivation during the course of
this investigation.

Name: Rema Deosi Sundi


Class: XII A
Board roll no.:
Project Work On :
School
Management
System
INDEX
 Introduction
 Software & Hardware requirements
 Advantages of this project
 Source Code in Python
 Output Screen
 MySQL tables
 Limitations
 Future Scopes
 Bibliography
Introduction
This project work automates school management system.
School Management System consist of tasks such registering students, attendance
record keeping control to absentees, details of teacher, fee structure ,etc.
Data file handling has been effectively used in the program. Database is a collection of
interrelated data to serve multiple applications i.e. database programs create files of
information. So we see that files are worked with most inside the program itself.
DBMS
The software required for management of data is called DBMS. It has three models.
Relation model: It stores information in form of rows (cardinality) and columns
(degree).
Hierarchical model: In this type of model, we have multiple records inside a single
record.
Network model: In this, the data is represented by collections of record and
relationships is separated by associations.
Characteristics of DBMS
• It reduces the redundancy.
• Data sharing
• Data standardization
• Reduction of data inconsistency
Types of files based on access
• Sequential file
• Serial file
• Random file
• Test file
• Binary file
Software and Hardware requirement
#Software Specifications:-
• Operating system: Windows 10/8/7
• Platform : Python IDLE 3.7
• Database : MySQL
• Languages : Python

#Hardware Specifications:-
• Processor : Dual core or above
• Hard Disk : 40 GB
• RAM : 1024 MB

Advantages of Project:-
1. Saves time of teachers and administrators
2. Fee Collection
3. Improving Teaching Standards
4. Complete attendance automation
5. Effortless grades and marks management
6. Publishing of online forums and assignments
7. Easy management of class information analytical
reports
8. Ordering books for library accordingly
Source Code in Python
import mysql.connector as a
con=a.connect(host='localhost',user='root',database='test',passwd='rema')
def AddSt():
n=input("Student name:")
cl=input("Class:")
r=int(input("Roll no:"))
a=input("Address:")
ph=input("Phone:")
data=(n,cl,r,a,ph)
sql='insert into student values(%s,%s,%s,%s,%s)'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data entered successfully")
print("")
main()
def RemoveSt():
cl=input("Class:")
r=int(input("Roll no:"))
data=(cl,r)
sql='delete from student where class=%s and roll=%s'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data Updated")
print("")
main()
def DisplaySt():
cl=input("Class:")
data=(cl,)
sql='select * from student where class=%s'
c=con.cursor()
c.execute(sql,data)
d=c.fetchall()
for i in d:
print("Name:",i[0])
print("Class:",i[1])
print("Roll no:",i[2])
print("Address:",i[3])
print("Phone:",i[4])
print("")
print("")
main()
def AddT():
tcode=int(input("TCode:"))
n=input("Teacher name:")
s=int(input("Salary:"))
a=input("Address:")
ph=input("Phone:")
data=(tcode,n,s,a,ph)
sql='insert into teacher values(%s,%s,%s,%s,%s)'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data entered successfully")
print("")
main()
def RemoveT():
n=input("Teacher:")
tcode=int(input("Tcode:")
data=(n,tcode)
sql='delete from teacher where name=%s and tcode=%s'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data Updated")
print("")
main()
def UpdateSal():
n=input("Teacher:")
tcode=int(input("Tcode:"))
salary=int(input("Salary:"))
data=(n,tcode)
sql='update teacher set salary=%s where name=%s and tcode=%s'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data Update")
print("")
main()
def DisplayT():
sql='select * from teacher'
c=con.cursor()
c.execute(sql)
d=c.fetchall()
for i in d:
print("Tcode:",i[0])
print("Name:",i[1])
print("Salary:",i[2])
print("Address:",i[3])
print("Phone:",i[4])
print("")
print("")
main()
def ClAttd():
d=input("Class:")
clt=input("Class teacher:")
t=int(input("Class strenght:"))
d=input("Date:")
ab=int(input("No of absentees:"))
data=(d,clt,t,d,ab)
sql='insert into ClAttendance values(%s,%s,%s,%s,%s)'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data entered successfully")
print("")
main()
def DisplayClAttd():
sql='select * from ClAttendance'
c=con.cursor()
c.execute(sql)
d=c.fetchall()
for i in d:
print("Class:",i[0])
print("Class teacher:",i[1])
print("Total St:",i[2])
print("Date:",i[3])
print("Absentees:",i[4])
print("")
print("")
main()
def TAttd():
n=input("Name:")
d=input("Date:")
a=input("Attendance:")
data=(n,d,a)
sql='insert into tattendance values(%s,%s,%s)'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data entered successfully")
print("")
main()
def DisplayTAttd():
sql='select * from tattendance'
c=con.cursor()
c.execute(sql)
d=c.fetchall()
for i in d:
print("Name:",i[0])
print("Date:",i[1])
print("Attendance:",i[2])
print("")
print("")
main()
def UpdateFees():
cl=input("Class:")
m=input("Monthly:")
b=input("BusFee:")
sc=input("ScFee:")
tc=input("TechFee:")
t=input("Total:")
data=(cl,)
sql='update FeeStructure set monthly=%s, BusFee=%s, ScFee=%s,
TechFee=%s, Total=%s'
c.execute(sql,data)
con.commit()
print("Data Updated")
print("")
main()
def DisplayFees():
sql='select * from FeeStructure'
c=con.cursor()
c.execute(sql)
d=c.fetchall()
for i in d:
print("Class:",i[0])
print("Monthly:",i[1])
print("BusFee:",i[2])
print("ScFee:",i[3])
print("TechFee:",i[4])
print("Total:",i[5])
print("")
print("")
main()
def AddBook():
bid=int(input("Book id:"))
t=input("Title:")
a=input("Author:")
p=input("Publisher:")
g=input("Genre:")
data=(bid,t,a,p,g)
sql='insert into library values(%s,%s,%s,%s,%s)'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data entered successfully")
print("")
main()
def RemoveB():
t=input("Title:")
bid=int(input("Book id:"))
data=(t,bid)
sql='delete from library where t=%s and bid=%s'
c=con.cursor()
c.execute(sql,data)
con.commit()
print("Data Updated")
print("")
main()

def DisplayB():
sql='select * from library'
c=con.cursor()
c.execute(sql)
d=c.fetchall()
for i in d:
print("Bid:",i[0])
print("Title:",i[1])
print("Author:",i[2])
print("Publisher:",i[3])
print("Genre:",i[4])
print("")
print("")
main()
def main():
ch='y'
while ch in ['y','Y']:
print("Pitts Modern School")
print("1.Student")
print("2.Teacher")
print("3.ClAttendance")
print("4.TAttendance")
print("5.FeeStructure")
print("6.Library")
table=int(input("enter table no:"))
print("")
if table==1:
op='y'
while op in ['y','Y']:
print("1.Add student")
print("2.Remove student")
print("3.Display St detail")
task=int(input("enter task no:"))
if task==1:
AddSt()
elif task==2:
RemoveSt()
elif task==3:
DisplaySt()
else:
print("Enter Valid Choice!!")
op=input("Continue in this table(y/n):")
elif table==2:
op='y'
while op in ['y','Y']:
print("1.Add teacher")
print("2.Remove teacher")
print("3.Update Salary")
print("4.Display Tdetails")
task=int(input("enter task no:"))
if task==1:
AddT()
elif task==2:
RemoveT()
elif task==3:
UpdateSal()
elif task==4:
DisplayT():
else:
print("Enter Valid Choice!!")
op=input("Continue in this table(y/n):")
elif table==3:
op='y'
while op in ['y','Y']:
print("1.Class Attendance")
print("2.Display ClAttd details")
task=int(input("enter task no:"))
if task==1:
ClAttd()
elif task==2:
DisplayClAttd()
else:
print("Enter Valid Choice!!")
op=input("Continue in this table(y/n):")
elif table==4:
op='y'
while op in ['y','Y']:
print("1.Teacher attendance")
print("2.Display TAttd details")
task=int(input("enter task no:"))
if task==1:
TAttd()
elif task==2:
DisplayTAttd()
else:
print("Enter Valid Choice!!")
op=input("Continue in this table(y/n):")
elif table==5:
op='y'
while op in ['y','Y']:
print("1.Update Fees")
print("2.Display Fees details")
task=int(input("enter task no:"))
if task==1:
UpdateFees()
elif task==2:
DisplayFees()
else:
print("Enter Valid Choice!!")
op=input("Continue in this table(y/n):")
elif table==6:
op='y'
while op in ['y','Y']:
print("1.Add Book")
print("2.Remove Book")
print("3.Display Book")
task=int(input("enter task no:"))
if task==1:
AddBook()
elif task==2:
RemoveB()
elif task==3:
DisplayB()
else:
print("Enter Valid Choice!!")
op=input("Continue in this table(y/n):")
else:
print("ENTER VALID CHOICE!!!")
ch=input("Do you want to continue(y/n):")
Output Screen
MySQL Tables
Limitations
• The limitation of the application is more
improvement in online examinations.
Limited questions had been stored and
need more updation and maintenance of
the application.
• Storage capacity is too small so that it
cannot be stored large amount of data so
that backup is necessary for the future
improvement.
Future Scope
• In future our system can include accounting
system, good backup, and restore facility.
• System is so much flexible so in future it can
increase easily and new modules can be added
easily.
• You can add student admission as well as pay
online fees.
• Make online exams more effective, efficient and
more dynamic so that it helps to get good
support from the student.
Bibliography
• Computer Science with Sumita Arora
• Computer Science with Preeti Arora
• www.wikipedia.org
• www.w3resource.com
• Under the guidance of subject teacher
THANK
YOU..!!

You might also like