Professional Documents
Culture Documents
IP_Project_Nandini__Autosaved_1
IP_Project_Nandini__Autosaved_1
1 INTRODUCTION
This software project is developed to automate the functionalities of
a School. The purpose of the software project is to develop the
Management Information System (MIS) to automate the record of the
students, teachers, classes, holiday, school curriculum, academics, games,
sports, school expenditure with a view to enhance the decision making of
thefunctionaries.
A MIS mainly consists of a computerized database, a collection of
inter-related tables for a particular subject or purpose, capable to produce
different reports relevant to the user. An application program is tied with
the database for easy access and interface to the database. Using
Application program or front-end, we can store, retrieve and manage all
information in proper way.
This software, being simple in design and working, does not require
much of training to users, and can be used as a powerful tool for
automatingaschoolSystem.
During coding and design of the software Project, python IDLE, a
powerful front-end tool is used for getting Graphical User Interface (GUI)
based integrated platform and coding simplicity. As a back-end a
powerful, open source RDBMS, MySQL is used as per requirement of the
CBSE curriculum of Informatics Practices Course.
2
Objective & Scope of the Projec t
In its current scope, the software enables user to retrieve and update the
information from centralized database designed with MySQL . This
software does not require much training time of the users due to limited
functionality and simplicity.
3 THEORITICAL BACKGROUND
A Primary key is one or more fields whose value or values uniquely identify
each record in a table. In a relationship, a primary key is used to refer to specific
record in one table from another table. A primary key is called foreign key when it is
referred to from another table.
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.
The DBMS interprets and processes users' requests to retrieve information from a
database. In most cases, a query request will have to penetrate several layers of
software in the DBMS and operating system before the physical database can be
accessed. The DBMS responds to a query by invoking the appropriate subprograms,
each of which performs its special function to interpret the query, or to locate the
desired data in the database and present it in the desired order.
MySQL, the most popular Open Source SQL database management system, is
developed, distributed, and supported by Oracle Corporation. MySQL is named after
co-founder Monty Widenius's daughter, My. The name of the MySQL Dolphin (our
logo) is “Sakila,”.
use it without paying anything. If you wish, you may study the source code
and change it to suit your needs. The MySQL software uses the GPL (GNU
General Public License),
The MySQL Database Server is very fast, reliable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server also
has a practical set of features developed in close cooperation with our users.
You can find a performance comparison of MySQL Server with other database
managers on our benchmark page. MySQL Server was originally developed to
handle large databases much faster than existing solutions and has been
successfully used in highly demanding production environments for several
years. Although under constant development, MySQL Server today offers a
rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.
MySQL Server works in client/server or embedded systems.
The MySQL Database Software is a client/server system that consists of a
multi-threaded SQL server that supports different backends, several different
client programs and libraries, administrative tools, and a wide range of
application programming interfaces (APIs).
Support for large databases. We use MySQL Server with databases that
contain 50 million records. We also know of users who use MySQL Server
with 200,000 tables and about 5,000,000,000 rows.
MySQL client programs can be written in many languages. A client library
written in C is available for clients written in C or C++, or for any language
that provides C bindings.
APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available,
enabling MySQL clients to be written in many languages.
The Connector/ODBC (MyODBC) interface provides MySQL support for
client programs that use ODBC (Open Database Connectivity) connections.
The Connector/J interface provides MySQL support for Java client programs
that use JDBC connections. Clients can be run on Windows or Unix.
Connector/J source is available.
5 System Implementation
5.1 The Hardware used:
6
System Design & Development
This software project maintains a database named School which contains the following tables.
Table Design:
The database of Consumer Management contains 1 table. The tables are normalized to minimize
the redundancies of data and enforcing the validation rules of the organization. Most of the tables
are designed to store master records. The tables and their structure are given below.
# Table: student
Delete Menu
Delete All Record
Delete by Class
Structure of Delete
• Delete by Class
Update Menu
Update All record
Display Menu
Display All record
Help:
Help Menu
About Us
Contact
Exit
Structure of Help
6.4 Coding:
#==================Student Database===================#
import time
import mysql.connector
from prettytable import PrettyTable
def line():
for i in range(70):
print("-",end="")
time.sleep(0.01)
print()
def arrow():
print()
for i in range(15):
print(" # ",end="")
time.sleep(0.01)
print()
db =mysql.connector.connect(host="localhost",user="root", password="********")
cur = db.cursor()
cur.execute('use test')
By:- your name Class:- 12th “Information Practices 28
PROJECT REPORT SESSION:- 2023-2024
for i in range(70):
print("-",end="")
time.sleep(0.01)
print()
line()
print(" "*24 ,end="")
for i in project_name:
print(i,end="")
time.sleep(0.01)
print()
line()
#------------------Program Start Student Database Main Menu--------------------
while True:
#line()
print(" "*8 ,"~~~~~~~~~~~~~~Student Database Main Menu~~~~~~~~~~~~~~")
line()
print(" "*13,"| 1=> Add Student record |")
print(" "*13,"| 2=> Delete record |")
print(" "*13,"| 3=> Edit / Update |")
print(" "*13,"| 4=> Diplay |")
print(" "*13,"| 5=> Help |")
print(" "*13,"| 6=> Exit |")
line()
print()
m=int(input("Select task (1 to 6) : "))
#-----------------------------Main Menu Choice 1 Insert Record-------------------------------
if m==1:
v1=input("Enter Student ID: ")
v2=input("Enter Student Name: ")
v3=input("Enter Class: ")
else:
print("Continue.....")
arrow()
#-----------------------------Delete Sub Menu Choice 1 by s_id---------------------------
if d==1:
print("Data in Your table is :")
line()
cur.execute('select *from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class','address','mobile'])
for a,b,c,d,f in rows:
t.add_row([a,b,c,d,f])
print(t)
line()
c=input("Enter s_id for delete record : ")
cur.execute("select * from student where s_id='%s' "%c)
rows=cur.fetchall()
print(rows)
line()
ch=input("You Want to Delete (Y/N):")
if ch=='y' or ch=='Y':
cur.execute("delete from student where s_id='%s' "%c)
db.commit()
print ("=====> DATA REMOVED <=====")
arrow()
else:
print("Continue.....")
arrow()
#---------------------Delete Sub Menu Choice 2 by student_name-------------------
elif d==2:
print("Data in Your table is :")
line()
cur.execute('select *from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class','address','mobile'])
for a,b,c,d,f in rows:
t.add_row([a,b,c,d,f])
print(t)
line()
c=input("Enter Student Name for delete record : ")
arrow()
#---------------------Main Menu Choice 3 Update Record----------------------------
elif m==3:
while True:
line()
print(" "*8 ," **************Update Student Record ************** ")
line()
print("| 1=> Update All record |")
print("| 2=> Update Student_ID only |")
print("| 3=> Update Student_name only |")
print("| 4=> Update address only |")
print("| 5=> Update class only |")
print("| 6=> Update Mobile_Number only |")
print("| 7=> Update Student_id,Student_name |")
print("| 8=> Update Student_id,Student_name,address |")
print("| 9=> Update Student_id,Student_name, class |")
print("| 10=> Update Student_id,Student_name, class, mobile |")
print("| 11=> Exit to Main Menu |")
line()
u=int(input('Enter your Choice (1 to 11) :'))
#-------------------------Update Sub Menu Choice 1 all record-----------------------
if u==1:
print("Data in Your table is :")
line()
cur.execute('select *from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class','address','mobile'])
for a,b,c,d,f in rows:
t.add_row([a,b,c,d,f])
print(t)
line()
v0=input("Enter Student_id to be updated/edited : ")
v1=input("Enter Student_id : ")
v2=input("Enter Student_name: ")
v3=input("Enter Address: ")
v4=input("Enter class: ")
v5=input("Enter Mobile: ")
sql='update student set s_id ="%s",s_name="%s", address="%s" , class="%s" ,
mobile="%s" where s_id="%s"'%(v1,v2,v3,v4,v5,v0)
cur.execute(sql)
db.commit()
arrow()
print ("=====> DATA UPDATED <=====")
arrow()
#--------------------------Update Sub Menu Choice 2 s_id------------------------
elif u==2:
print("Data in Your table is :")
line()
cur.execute('select *from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class','address','mobile'])
for a,b,c,d,f in rows:
t.add_row([a,b,c,d,f])
print(t)
line()
v1=input("Enter old Student_id: ")
v2=input("Enter new Student_id: ")
sql='update student set s_id ="%s" where s_id="%s"'%(v2,v1)
cur.execute(sql)
db.commit()
arrow()
print ("=====> DATA UPDATED <=====")
arrow()
#-------------------------Update Sub Menu Choice 3 student_Name-----------------
elif u==3:
print("Data in Your table is :")
line()
cur.execute('select *from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class','address','mobile'])
for a,b,c,d,f in rows:
t.add_row([a,b,c,d,f])
print(t)
line()
v1=input("Enter Student_id: ")
v2=input("Enter new Student_name: ")
sql='update student set s_name ="%s" where s_id="%s"'%(v2,v1)
cur.execute(sql)
db.commit()
arrow()
db.commit()
arrow()
print ("=====> DATA UPDATED <=====")
arrow()
#---Update Sub Menu Choice 10 Student_id, Student_name, Class, Mobile--
elif u==10:
print("Data in Your table is :")
line()
cur.execute('select *from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class','address','mobile'])
for a,b,c,d,f in rows:
t.add_row([a,b,c,d,f])
print(t)
line()
v0=input("Enter Student_id to be updated/edited : ")
v1=input("Enter Student_id : ")
v2=input("Enter Student_name: ")
v4=input("Enter class: ")
v5=input("Enter Mobile: ")
sql='update student set s_id ="%s",s_name="%s" , class="%s" , mobile="%s"
where s_id="%s"'%(v1,v2,v4,v5,v0)
cur.execute(sql)
db.commit()
arrow()
print ("=====> DATA UPDATED <=====")
arrow()
#---------------------------Update Sub Menu Choice 11 Exit --------------------------
elif u==11:
break
else:
arrow()
print ("Enter Valid Input.... Continue....")
arrow()
#-------------------------Main Menu Choice 4 Display Records-------------------------------
elif m==4:
while True:
line()
print(" "*8 ," **************Display Sub Menu**************")
line()
rows=cur.fetchall()
t = PrettyTable(['address'])
for x in rows:
t.add_row([x])
print(t)
#---------------------------Display Sub Menu Choice 5 Class-------------------------
elif dis==5:
cur.execute('select class from student')
rows=cur.fetchall()
t = PrettyTable(['class'])
for x in rows:
t.add_row([x])
print(t)
#--------------------------Display Sub Menu Choice 6 Mobile------------------------
elif dis==6:
cur.execute('select mobile from student')
rows=cur.fetchall()
t = PrettyTable(['mobile'])
for x in rows:
t.add_row([x])
print(t)
#------------Display Sub Menu Choice 7 Student_id, Student_name---------------
elif dis==7:
cur.execute('select s_id, s_name from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name'])
for x,y in rows:
t.add_row([x,y])
print(t)
#------Display Sub Menu Choice 8 Student_id, Student_name , Address--------
elif dis==8:
cur.execute('select s_id,s_name,address from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','address'])
for x,y,z in rows:
t.add_row([x,y,z])
print(t)
#---------Display Sub Menu Choice 9 Student_id, Student_name, Class--------
elif dis==9:
cur.execute('select s_id,s_name,class from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name','class'])
for x,y,z in rows:
t.add_row([x,y,z])
print(t)
#---Display Sub Menu Choice 10 Student_id, Student_name, Class, Mobile---
elif dis==10:
cur.execute('select s_id,s_name ,class, mobile from student')
rows=cur.fetchall()
t = PrettyTable(['s_id','s_name',' class', 'mobile'])
for x,y,z,a in rows:
t.add_row([x,y,z,a])
print(t)
#--------------------------Display Sub Menu Choice 11 Exit------------------------
elif dis==11:
break
else:
arrow()
print ("Enter Valid Input.... Continue....")
arrow()
print("-",end="")
time.sleep(0.01)
print()
time.sleep(0.02)
print(" A Project Report on")
print(" STUDENT DATABASE MANAGEMENT")
print(" For AISSCE 2020 Examination")
print(" [As a part of the Informatics Practices Course (065)]")
for i in range(86):
print("-",end="")
time.sleep(0.01)
time.sleep(0.02)
print()
print()
print("An organized and systematic office solution is essential for all
universities")
print("and organizations. There are many departments of administration for maintenance")
print("of college information and student databases in any institution. All these
departments")
print("provide various records regarding students. Most of these track records
need to")
print("maintain information about the students.")
print()
print("All the modules in student database management are interdependent. They
are maintained")
print("manually. So they need to be automated and centralized as, Information
from one module")
print("will be needed by other modules.")
print()
print("With that in mind, we overhauled the existing Student Database
Management System and")
print("made necessary improvement to streamline the processes.
Administrators using the")
print("system will find that the process of recording and retrieving students
information and")
print("managing their classes, is now a breeze. In general, this project aims to
enhance")
rows=cur.fetchall()
t = PrettyTable(['S No','System Or Software', 'Type'])
for a,b,c in rows:
t.add_row([a,b,c])
print(t)
time.sleep(2.00)
print()
print()
for i in range(86):
print("-",end="")
time.sleep(0.01)
time.sleep(0.02)
print()
print()
print("The Programming Team")
cur.execute('select * from programers')
rows=cur.fetchall()
t = PrettyTable(['S No','Name', 'Post'])
for a,b,c in rows:
t.add_row([a,b,c])
print(t)
time.sleep(2.00)
print()
print()
for i in range(86):
print("-",end="")
time.sleep(0.01)
time.sleep(0.02)
print()
print()
print(" And Special Thanks to")
print(" Mr. Vikram Singh Rawat")
print(" (itxperts)")
print()
for i in range(86):
print("-",end="")
for i in range(10):
print("")
time.sleep(0.01)
time.sleep(4.00)
#--------------------------Help Sub Menu choice 2 contact----------------------------
elif h==2:
print()
print()
print()
print()
time.sleep(0.02)
print(" A Project Report on")
print(" STUDENT DATABASE MANAGEMENT")
print(" For AISSCE 2020 Examination")
print(" [As a part of the Informatics Practices Course (065)]")
print()
print()
for i in range(91):
print("-",end="")
time.sleep(0.01)
time.sleep(0.02)
print()
print()
print("For Contact")
cur.execute('select * from contact')
rows=cur.fetchall()
t = PrettyTable(['S No','Name', 'Post', 'Contact', 'Address'])
for a,b,c,d,e in rows:
t.add_row([a,b,c,d,e])
print(t)
print()
print()
for i in range(10):
print("")
time.sleep(0.01)
time.sleep(4.00)
#----------------------------Help Sub Menu Choice 3 Exit----------------------------
elif h==3:
break
else:
arrow()
print ("Enter Valid Input.... Continue....")
arrow()
#-------------------------------Main Menu Choice 5 Exit---------------------------------------
elif m==6:
arrow()
ch=input("y(for Continue)/n(Exit) :")
if ch=='y' or ch=='Y':
continue
else:
break
else:
arrow()
print ("==> Enter Valid Input <==")
arrow()
++++++++++++++++++++++++++++++++++++++
7 User Manual
7.1 How to install Software:
Hardware Requirement-
Intel Pentium/Celeron or similar processor based PC at Client/Server end.
128 MB RAM and 4GB HDD space (for Database) is desirable.
Standard I/O devices like Keyboard and Mouse etc.
Printer is needed for hard-copy reports.
Local Area Network(LAN) is required for Client-Server Installation
Software Requirement-
Windows 2000/XP OS is desirable.
Python 3.2 or higher should be installed with JDK and JVM.
MySQL Ver 6.1 with Library Database must be present at machine.
Database Installation
Note: The PC must have MySQL server with user (root) and password (raj) . If root
password is any other password, it can be changed by running MySQL Server
Instance Configure Wizard.
Provide current password of root and new password as “kvuc” , this will change the
root password.
To install a MySQL database from a dump file ( scl.sql) , simply follow the
following steps.
Step 1: Copy the Lib.sql file in C:\Program files\Mysql\MySql server 5.1\Bin
folder.
Step 2: Open MySQL and type the following command to create the dabase named
Library.
mysql> create database School;
Step 3: Open Command Window (Start Run cmd)
Step 4: Go to the following folder using CD command of DOS.
C:\Program files\Mysql\MySql server 5.1\Bin>
Step 5: type the following command on above prompt -
C:….\bin> mysql -u root -pkvuc School < Scl.sql
This will create a Library databse with required tables.