Session 2023-2024 COMPUTER SCIENCE (083) INVESTIGATORY PROJECT Submitted by: NameClassClass roll noBoard no- Certificate This is to certify of Class XII-A of kendriya vidyalya,mehsana has completed his investory Project file under the supervision of Mrs Namrata shah She has taken care and shown sincerity in completion of the project. I hereby certify that this project is upto my expectations and guidance issued by CBSE Interna l Extern al Signatur e Signatur e Acknowledgement I would like to express my greatest gratitud e To the people who help me throughout the My project . I would like to thank my Parents For helping me in completion of this project. I am greatful to Mrs Namrata shah whose Valuable guidance has been ones of that helped Me patch this project and make it full proof Success . I would also like to express my Gratitude to My Team for constant support Through out the investigation. NameClass- INVESTIGATORY PROJECT WORK School Mangement System INDEX Introduction Software & Hardware Requirements Advantages of this project Source Code in python Output Screen My SQL tables Limitations Future scope Bibliography INTRODUCTION This project work automates school management system School management system consist of task such registering Students ,attendance record keeping control to absentis, 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 created 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 Network model: In this the data is represented by collection of record and relationship is separated by association. Characteristic of DBMS It reduces the redundancy Data sharing Data standardization Reduction of data inconsistency Type of files based on access Sequential life Serial life Random file Test file Binary file Software and Hardware requirement Software Sepcification: Operating system: Platform: Database: Language: Windows 10 Python IDLE 3.10.7 MySQL Python Hardware Specification: Processor : Dual core or above Hard Disk: 40GB RAM: 4GB Advantages of Project:- 1. Save time of teacher and administrators 2. Fee Collection 3. Improving Teaching Standards 4. Complete attendance automation 5. Effortless grade and marks management 6.Publishing of online forums and assignment 7.Easy management of class information analytical reports 8. Ordering books for library accordingly Source Code: import mysql.connector as a con=a.connect(host='Localhost',user='root',databas e='te st',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,dat a) 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 teachers values(%s,%s,%s,%s)' c=con.cursor() c.execute(sql,dat a) 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(sq l) 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("Clas teacher:") t=int(input("class ab=int(input("No of absentess:")) data=(d,clt,t,d,ab) sql='insert into ClAttendance values(%s,%s,%s,%s,%s)' con.cursor() c.execute(sql,dat a) con.commit() print("Data entered successfully") print("") main() def DisplayClAttd(): sql='select * from ClAttendance' c=con.cursor() c.execute(sq l) d=c.fetchall( ) for i in d: print("Class:",i[0]) print("CLass print("Total st:",i[2]) print("Date:",i[3]) print("Absentees",i[4 ]) print("") print("") main() def TAttd(): n=input("Name:") d=input("Data:") 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("Data:",i[1]) print("Attendance:",i[2] ) print("") print("") main() def UpdateFees(): cl=input("Claass:") m=input("Monthly:" ) b=input("BusFee:") sc=input("ScFee:") tc=input("TechFee:") t=input("Total:") data=(cl,m,b,sc,tc,t) sql='update FeeStructure set monthly=%s,BusFee=%s,ScFee=%s,TechFee=%s,T otal=%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("tchFee:",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:") q=intput("Genre:") data=(bid,t,a,p,g) sql='insert into library values(%s,%s,%s,%s,%s)' c=con.cursor() c.execute(sql,dat a) con.commit() print("Data entered successfully") print("") main() def RemovB(): 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(sq l) 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("") main() def main(): ch='y' while ch in ['y','y']: print("1.Student") print("2.Teacher") print("3.ClAttendance") print("4.TAttendancce") print("5.FeeStructure") print("6.Libary") 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 Choices!!") op=input("Countinue 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") elif task==2: RemoveT () elif task==2: UpdateSal () elif task==3: DisplayT( ): else: print("Enter Valid Choices!!") op=input("Coutinue in this table(y/n):") elif table==3: op='y' while op in ['y','y']: elif Task==2: DisplayClAttd () else: print("Enter Valid Choices!!") op=input("coutinue 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: 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' 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 Choices!!") op=input("continue in this table(y/n):") else: print("ENTER VALID CHOICE!!") Limitation s of the application is more The limitation 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 the 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 exam more effective , efficient and more dynamic so that it helps to get good support from student. Bibliography Computer Science with Sumita Arora Computer Science with Preeti Arora www.wikipedia.org www.w3resource.com Under the guidance of Namrata Shah Mam THANK YOU