0% found this document useful (0 votes)
28 views26 pages

Library Management System Project Report

The document is a project report certifying a student's completion of a Management Information System (MIS) project for a library, detailing its objectives, theoretical background, and the technologies used, including Python and MySQL. It outlines the project's scope, limitations, and the functionalities of the software, which aims to automate library management tasks. The report includes sections on system design, implementation, user manual, and references.

Uploaded by

amanbhakat9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views26 pages

Library Management System Project Report

The document is a project report certifying a student's completion of a Management Information System (MIS) project for a library, detailing its objectives, theoretical background, and the technologies used, including Python and MySQL. It outlines the project's scope, limitations, and the functionalities of the software, which aims to automate library management tasks. The report includes sections on system design, implementation, user manual, and references.

Uploaded by

amanbhakat9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

3

FRONT PAGE
CERTIFICATE

This is to certify that

(Name of the student) bearing Roll Number_ _is the student of Class

XII . He/she has successfully completed his/her project titled

as a part of A.I.S.S.C.E 20 under the guidance of his/her teacher.

It is further certified that this project is the individual and bona fide work of the candidate.

Internal Examiner External Examiner

Principal

TIGPS–Bolpur
ACKNOWLEDGEMENT

It gives me immense pleasure to present the Project on titled


_

(name of the project). I would like to express my gratitude towards my teacher, Ms/Mrs./Mr.
under whose guidance and constant
supervision the project has been completed. The instructions and suggestions given by her/him
has been a major contribution towards the completion of the project.

I would also like to thank my parents for their encouragement and support towards completion of
this project work. I also thank my friends for their help and sharing necessary information (and
web links) which helped in preparing the project.

Signature of the student


C O N T E N T S

1. Introduction 5

2. Objective & Scope of the Project 6

3. Theoretical Background 7

4. Python – MySQL Connectivity 14

5. System Implementation

The Hardware used: 16

The Softwares used: 16

6. System Design & Development

Database Design: 17

Coding for System Design: 18

Outputs of System: 23

7. User Manual 24

8. References 25

4
1. Introduction

This software project is developed to automate the functionalities of an Employee. The

purpose of the software project is to develop the Management Information System (MIS)

to automate the record keeping of different functionalities of a Library.

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 automating Library Management System.

During coding and design of the software Project, Python, a powerful front-end tool is

used. As a back-end a powerful, open source RDBMS, My SQL is used as per requirement

of the CBSE curriculum.

5
2. Objective & Scope of the Project

he objective of the software project is to develop a computerized MIS to


T automate the functions of a Bank. This software project is also aimed to enhance
the
current record keeping system, which will help managers to retrieve the up-to-date
information at right time in right shape.

The proposed software system is expected to do the following functionality-

 To provide a user friendly, Graphical User Interface (GUI) based integrated and
centralized database based on client-server architecture for MIS activities.
 The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
 To identify the critical operation procedure and possibilities of simplification using
modern IT tools and practices.
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.

During the development of this project, Python, a powerful, open source event-
driven form-based development environment is used for modular design and future
expandability of the system.

Despite of the best effort of the developer, the following limitations and functional
boundaries are visible, which limits the scope of this application software.

1. This software can store records and produce reports in pre-designed format in soft
copy. There is no facility yet to produce customized reports. Only specified reports
are covered. So far as future scope of the project is concerned, firstly it is open to
any modular expansion i.e. other modules or functions can be designed and
embedded to handle the user need in future. Any part of the software and reports
can be modified independently without much effort.

6
3. Theoretical Background

What is Database?

Introduction and Concepts:


A database is a collection of information related to a particular subject or purpose, such
as tracking customer orders or maintaining a music collection. Using any RDBMS
application software like MS SQL Server, MySQL, Oracle, Sybase etc, you can manage all
your information from a single database file. Within the file, divide your data into
separate storage containers called tables. You may and retrieve the data using queries.

A table is a collection of data about a specific topic, such as products or suppliers. Using a
separate table for each topic means you can store that data only once, which makes your
database more efficient and reduces data-entry errors. Table organises data into columns
(called fields) and rows (called records).

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.

Role of RDBMS Application

A computer database works as a electronic filing system, which has a large number of
ways of cross-referencing, and this allows the user many different ways in which to re-
organize and retrieve data. A database can handle business inventory, accounting and
filing and use the information in its files to prepare summaries, estimates and other
reports. The management of data in a database system is done by means of a general-
purpose software package called a Database Management System (DBMS). Some

7
commercially available DBMS are MS SQL Server, MS ACCESS, INGRES, ORACLE, and
Sybase. A database management system, therefore, is a combination of hardware and
software that can be used to set up and monitor a database, and can manage the updating
and retrieval of database that has been stored in it. Most of the database management
systems have the following capabilities:

 Creating of a table, addition, deletion, modification of records.


 Retrieving data collectively or selectively.
 The data stored can be sorted or indexed at the user's discretion and direction.
 Various reports can be produced from the system. These may be either
standardized report or that may be specifically generated according to specific user
definition.
 Mathematical functions can be performed and the data stored in the database can
be manipulated with these functions to perform the desired calculations.
 To maintain data integrity and database use.
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.

What is My SQL?

The management of data in a database system is done by means of a general-purpose


software package called a Database Management System (DBMS). Some commercially
available RDBMS are MS SQL Server, MS ACCESS, INGRES, ORACLE, and Sybase.

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‖.

 MySQL is a database management system.


A database is a structured collection of data. It may be anything from a simple
shopping list to a picture gallery or the vast amounts of information in a corporate
network. To add, access, and process data stored in a computer database, you need
a database management system such as MySQL Server. Since computers are very
good at handling large amounts of data, database management systems play a
central role in computing, as standalone utilities, or as parts of other applications.
 MySQL is based on SQL.
A relational database stores data in separate tables rather than putting all the data

in one big storeroom. This adds speed and flexibility. The SQL part of ―MySQL‖
8
stands for ―Structured Query Language.‖ SQL is the most common standardized
language used to access databases and is defined by the ANSI/ISO SQL Standard.
The SQL standard has been evolving since 1986 and several versions exist. In this
manual, ―SQL-92‖ refers to the standard released in 1992, ―SQL: 1999‖ refers to the
standard released in 1999, and ―SQL: 2003‖ refers to the current version of the
standard.
 MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software from the Internet and 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).

The Main Features of MySQL

 Written in C and C++.


 Works on many different platforms.
 Uses multi-layered server design with independent modules.
 Provides transactional and non transactional storage engines.
 Designed to make it relatively easy to add other storage engines. This is useful
if you want to provide an SQL interface for an in-house database.
 Uses a very fast thread-based memory allocation system.
 Executes very fast joins using an optimized nested-loop join.
 Implements SQL functions using a highly optimized class library that should be as
fast as possible. Usually there is no memory allocation at all after query
initialization.
 Provides the server as a separate program for use in a client/server networked
environment, and as a library that can be embedded (linked) into standalone
applications. Such applications can be used in isolation or in environments where
no network is available.

9
 Password security by encryption of all password traffic when you connect to
a server.
 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.

What is Python?

Python is an object-oriented programming language created by Guido Rossum in 1989. It


is ideally designed for rapid prototyping of complex applications. It has interfaces to many
OS system calls and libraries and is extensible to C or C++. Many large companies use the
Python programming language include NASA, Google, YouTube, BitTorrent, etc.

Python programming is widely used in Artificial Intelligence, Natural Language


Generation, Neural Networks and other advanced fields of Computer Science. Python had
deep focus on code readability & this class will teach you python from basics.

 It provides rich data types and easier to read syntax than any other
programming languages
 It is a platform independent scripted language with full access to operating
system API's
 Compared to other programming languages, it allows more run-time flexibility
 It includes the basic text manipulation facilities of Perl and Awk
 A module in Python may have one or more classes and free functions
 Libraries in Pythons are cross-platform compatible with Linux, Macintosh,
and Windows
 For building large applications, Python can be compiled to byte-code
 Python supports functional and structured programming as well as OOP
 It supports interactive mode that allows interacting Testing and debugging
of snippets of code
 In Python, since there is no compilation step, editing, debugging and testing is fast.

NumPy in Python

10
What is NumPy?
NumPy is a general-purpose array-processing package. It provides a high-performance
multidimensional array object, and tools for working with these arrays.

It is the fundamental package for scientific computing with Python. It contains various
features including these important ones:

Arrays in NumPy: NumPy‘s main object is the homogeneous multidimensional array.

It is a table of elements (usually numbers), all of the same type, indexed by a tuple of
positive integers.

In NumPy dimensions are called axes. The number of axes is rank.

NumPy‘s array class is called ndarray. It is also known by the alias array.

 Python program to demonstrate


 # basic array characteristics
 import numpy as np
 # Creating array object
 arr = [Link]( [[ 1, 2, 3], [ 4, 2, 5]] )
 # Printing type of arr object
 print("Array is of type: ", type(arr))
 # Printing array dimensions (axes)
 print("No. of dimensions: ", [Link])
 # Printing shape of array
 print("Shape of array: ", [Link])
 # Printing size (total number of elements) of array
 print("Size of array: ", [Link])
 # Printing type of elements in array
 print("Array stores elements of type: ", [Link])

Array creation: There are various ways to create arrays in NumPy.

For example, you can create an array from a regular Python list or tuple using
the array function. The type of the resulting array is deduced from the type of the
elements in the sequences.

Often, the elements of an array are originally unknown, but its size is known. Hence,
NumPy offers several functions to create arrays with initial placeholder content. These
minimize the necessity of growing arrays, an expensive operation.
For example: [Link], [Link], [Link], [Link], etc.

To create sequences of numbers, NumPy provides a function analogous to range that


returns arrays instead of lists.

arange: returns evenly spaced values within a given interval. step size is specified.

11
linspace: returns evenly spaced values within a given interval. num no. of elements
are returned.

Reshaping array: We can use reshape method to reshape an array. Consider an array
with shape (a1, a2, a3, …, aN). We can reshape and convert it into another array with
shape (b1, b2, b3, …, bM). The only required condition is:
a1 x a2 x a3 … x aN = b1 x b2 x b3 … x bM . (i.e original size of array remains unchanged.)

Slicing: Just like lists in python, NumPy arrays can be sliced. As arrays can be
multidimensional, you need to specify a slice for each dimension of the array.

Integer array indexing: In this method, lists are passed for indexing for each dimension.
One to one mapping of corresponding elements is done to construct a new arbitrary
array.

Boolean array indexing: This method is used when we want to pick elements from array
which satisfy some condition.

Basic operations: Plethora of built-in arithmetic functions are provided in NumPy.

Operations on single array: We can use overloaded arithmetic operators to do element-


wise operation on array to create a new array. In case of +=, -=, *= operators, the exsisting
array is modified.

Pandas in Python

Pandas has so many uses that it might make sense to list the things it can't do instead of
what it can do.

This tool is essentially your data‘s home. Through pandas, you get acquainted with your
data by cleaning, transforming, and analyzing it.

For example, say you want to explore a dataset stored in a CSV on your computer. Pandas
will extract the data from that CSV into a DataFrame — a table, basically — then let you
do things like:

 Calculate statistics and answer questions about the data, like


 What's the average, median, max, or min of each column?
 Does column A correlate with column B?
 What does the distribution of data in column C look like?
 Clean the data by doing things like removing missing values and filtering rows or
columns by some criteria

12
 Visualize the data with help from Matplotlib. Plot bars, lines, histograms, bubbles,
and more.
 Store the cleaned, transformed data back into a CSV, other file or database
Before you jump into the modeling or the complex visualizations you need to have a
good understanding of the nature of your dataset and pandas is the best avenue through
which to do that.

13
4. Python – MySQL Connectivity

We need to know the following detail of the MySQL server to perform the connection
from Python.

 Username – i.e., the username that you use to work with MySQL Server. The
default username for the MySQL database is a root
 Password – Password is given by the user at the time of installing the MySQL
database. If you are using root then you won‘t need the password.
 Host Name – is the server name or Ip address on which MySQL is running. if you
are running on localhost, then you can use localhost, or it‘s IP, i.e. [Link]
 Database Name – Database name to which you want to connect. Here we are using
Database named ‗Electronics‗ because we have already created this for our
example.

Note: We are using the MySQL Connector Python module to communicate with MySQL

1. Use the [Link]() method of MySQL Connector Python with


required parameters to connect MySQL.
2. Use the connection object returned by a connect() method to create a cursor object
to perform Database Operations.
3. The [Link]() to execute SQL queries from Python.
4. Close the Cursor object using a [Link]() and MySQL database connection
using [Link]() after your work completes.
5. Catch Exception if any that may occur during this process.

import [Link]
This line imports the MySQL Connector Python module in your program so you can use
this module‘s API to connect MySQL.

from [Link] import Error


mysql connector Error object is used to show us an error when we failed to
connect Databases or if any other database error occurred while working with the
database. Example ACCESS DENIED ERROR when username or password is
wrong.

[Link]()

 Using this method we can connect the MySQL Database, this method accepts four
required parameters: Host, Database, User and Password that we already
discussed.
 connect() method established a connection to the MySQL database from Python
application and returned a MySQLConnection object. Then we can use
MySQLConnection object to perform various operations on the MySQL Database.

14
 The Connect() method can throw an exception, i.e. Database error if one of the
required parameters is wrong. For example, if you provide a database name that
is not present in MySQL, then Python application throws an exception. So check
the arguments that you are passing to this method.

connection.is_connected( )

is_connected() is the method of the MySQLConnection class through which we can verify
is our python application connected to MySQL.

[Link]( )

This method returns a cursor object. Using a cursor object, we can execute SQL queries.

The MySQLCursor class instantiates objects that can execute operations such as SQL
statements.
Cursor objects interact with the MySQL server using a MySQLConnection object.

[Link]()

Using the cursor‘s close method we can close the cursor object. Once we close the cursor
object, we cannot execute any SQL statement.

[Link]()

At last, we are closing the MySQL database connection using a close() method of
MySQLConnection class.

15
5. System Implementation

The Hardware used:

While developing the system, the used hardware are:

PC with Pentium IV processor or sometimes, PC with Celeron (1.7 GHz) processor


having 256 MB RAM, SVGA and other required devices.

The Softwares used:

 Microsoft Windows as Operating System.

 Python or Anaconda as Front-end Development environment.

 MySQL as Back-end Sever with Database for Testing.

 MS-Word 2007 for documentation.

16
6. System Design & Development

This python Library system implemented data storage in MySQL Database. This Database
contains the different tables to maintain the data about the library. This Library
Management project has different features like

Features of Library Management System Project


Add Books: With this feature we can add Books in LMS system with book details like
Title,Author, Publisher, Price, Number of books...
Add Member: With this Add Member feature we can add Member details Member Name,
Mobile Number, Email Address, Class Name and address of the Member
Update Book : Update the previous entered Book
details Update Member : Update the Member details
Issue Book: This will record the details on the Book issued to whom. This Feature stores
the details of Book ID, Member ID , Issue Date, Return Date and Fine if anything is
pending from the student/member
Return Book : Update the Book Transactions on returned by the member
Search Menu: Search The Books which are available in the System
Report Menu: Return the Reports based on Books, Publisher, Member search
Special Menu

This LMS project store the data in database, this Project created a MySQL database with
name "library"
This Database has 3 tables to store and retrieve the data about the LMS system.

Database Design

Book Member Transaction

Coding for System Design

1
To implement python Library Management project used below modules
MySql Connector : This module is used to connect mysql database to fetch/add data into
database
DateTime : To set date and get current date and update the details on the tables
import [Link]
from datetime import date

Add Book

def add_book():
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()

title = raw_input('Enter Book Title :')


author = raw_input('Enter Book Author :
')
publisher = raw_input('Enter Book Publisher : ')
pages = raw_input('Enter Book Pages : ')
price = raw_input('Enter Book Price : ')
edition = raw_input('Enter Book Edition : ')
copies = int(raw_input('Enter copies : '))
sql = 'insert into book(title,author,price,pages,publisher,edition,status) values ( "' +
\title + '","' +author+'",'+price+','+pages+',"'+publisher+'","'+edition+'","available");'
#sql2 = 'insert into transaction(dot,qty,type) values
("'+str(today)+'",'+qty+',"purchase");'
#print(sql)
for _ in range(0,copies):
[Link](sql)
[Link]()
print('\n\nNew Book added successfully')
wait = raw_input('\n\n\n Press any key to continue....')

Add Member

def add_member():
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()

name = raw_input('Enter Member Name :')


clas = raw_input('Enter Member Class & Section :
') address = raw_input('Enter Member Address : ')
phone = raw_input('Enter Member Phone : ')
email = raw_input('Enter Member Email : ')
sql = 'insert into member(name,class,address,phone,email) values ( "' +
\ name + '","' + clas+'","'+address+'","'+phone + \
'","'+email+'");'

1
#sql2 = 'insert into transaction(dot,qty,type) values ("'+str(today)
+'",'+qty+',"purchase");'
#print(sql)

[Link](sql)
[Link]()
print('\n\nNew Member added successfully')
wait = raw_input('\n\n\n Press any key to continue....')

Update Book

def modify_book():
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()
clear()
print('Modify BOOK Details Screen ')
print('-'*120)
print('\n1. Book Title')
print('\n2. Book Author')
print('\n3. Book Publisher')
print('\n4. Book Pages')
print('\n5. Book Price')
print('\n6. Book Edition')
print('\n\n')
choice = int(raw_input('Enter your choice :'))
field = ''
if choice == 1:
field =
'title'
if choice == 2:
field =
'author'
if choice == 3:
field = 'publisher'
if choice == 4:
field = 'pages'
if choice == 5:
field = 'price'
book_id = raw_input('Enter Book ID :')
value = raw_input('Enter new value :')
if field =='pages' or field == 'price':
sql = 'update book set ' + field + ' = '+value+' where id = '+book_id+';'
else:
sql = 'update book set ' + field + ' = "'+value+'" where id = '+book_id+';'
#print(sql)
[Link](sql)
print('\n\n\nBook details Updated......')
[Link]()

1
wait = raw_input('\n\n\n Press any key to continue....')

Update Member

def modify_member():
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()
clear()
print('Modify Memeber Information Screen ')
print('-'*120)
print('\n1. Name')
print('\n2. Class')
print('\n3. address')
print('\n4. Phone')
print('\n5. Emaile')
print('\n\n')
choice = int(raw_input('Enter your choice :'))
field =''
if choice == 1:
field ='name'
if choice == 2:
field = 'class'
if choice ==3:
field ='address'
if choice == 4:
field = 'phone'
if choice == 5:
field = 'email'
mem_id =raw_input('Enter member ID
:') value = raw_input('Enter new value :')
sql = 'update member set '+ field +' = "'+value+'" where id =
'+mem_id+';' #print(sql)
[Link](sql)
print('Member details Updated.......')
[Link]()
wait = raw_input('\n\n\n Press any key to continue....')

20
Issue Book

def issue_book():
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()

clear()
print('\n BOOK ISSUE SCREEN ')
print('-'*120)
book_id = raw_input('Enter Book ID : ')
mem_id = raw_input('Enter Member ID :')

result = book_status(book_id)
result1 = mem_issue_status(mem_id)
#print(result1)
today = [Link]()
if len(result1) == 0:
if result == 'available':
sql = 'insert into transaction(b_id, m_id,
doi) values('+book_id+','+mem_id+',"'+str(today)
+'");'
sql_book = 'update book set status="issue" where id ='+book_id + ';'
[Link](sql)
[Link](sql_book)
print('\n\n\n Book issued
successfully') else:
print('\n\nBook is not available for ISSUE... Current status
:',result1) else:
if len(result1)<1:
sql = 'insert into transaction(b_id, m_id, doi) values(' +
\ book_id+','+mem_id+',"'+str(today)+'");'
sql_book = 'update book set status="issue" where id ='+book_id + ';'
#print(len(result))
[Link](sql)
[Link](sql_book)
print('\n\n\n Book issued
successfully') else:
print('\n\nMember already have book from the Library')
#print(result)

[Link]()
wait = raw_input('\n\n\n Press any key to continue....')

def return_book():
conn = [Link](
host='localhost', database='library', user='root', password='')

2
cursor = [Link]()
global fine_per_day
clear()
print('\n BOOK RETURN SCREEN ')
print('-'*120)
book_id = raw_input('Enter Book ID : ')
mem_id = raw_input('Enter Member ID :')
today =[Link]()
result = book_issue_status(book_id,mem_id)
if result==None:
print('Book was not issued...Check Book Id and Member ID again..')
else:
sql='update book set status ="available" where id ='+book_id +';'
din = (today - result[3]).days
fine = din * fine_per_day # fine per data
sql1 = 'update transaction set dor ="'+str(today)+'" , fine='+str(fine)+' where
b_id='+book_id +' and m_id='+mem_id+' and dor is NULL;'

[Link](sql)
[Link](sql1)
print('\n\nBook returned successfully')
[Link]()
wait = raw_input('\n\n\n Press any key to continue....')

Search Book

def search_book(field):
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()
clear()
print('\n BOOK SEARCH SCREEN ')
print('-'*120)
msg ='Enter '+ field +' Value :'
title = raw_input(msg)
sql ='select * from book where '+ field + ' like "%'+ title+'%"'
[Link](sql)
records = [Link]()
clear()
print('Search Result for :',field,' :' ,title)
print('-'*120)
for record in records:
print(record)
[Link]()
wait = raw_input('\n\n\n Press any key to continue....')
Reports

22
def reprot_book_list():
conn = [Link](
host='localhost', database='library', user='root', password='')
cursor = [Link]()

clear()
print('\n REPORT - BOOK TITLES ')
print('-'*120)
sql ='select * from book'
[Link](sql)
records = [Link]()
for record in records:
print(record)
[Link]()
wait = raw_input('\n\n\nPress any key to continue.....')

Sample Output for the Add Book

LIBRARY MENU
1. Add Books
2. Add Member
3. Modify Book Information
4. Modify Student Information
5. Issue Book
6. Return Book
7. Search Menu
8. Report Menu
9. Special Menu
0. Close application

Enter your choice.......1


Enter Book Title :Python
Enter Book Author :
Benten
Enter Book Publisher : RRpublishers
Enter Book Pages : 120
Enter Book Price : 300
Enter Book Edition : 1
Enter copies : 2

New Book added successfully

23
7. User Manual

How to install?

Hardware Requirement
 Intel Celeron or more upgraded processor based PC at Client/Server end.
 Minimum 2 GB RAM and 10 GB 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 7/10 OS is desirable.
 Anaconda Navigator/Jupiter/Spyder should be installed with MySQL and Matplotlib
package.
 MySQL Ver 5.1 with Library Database must be present at machine.
Database Installation
The software project is distributed with a backup copy of a Database named Library with
required tables. Some dummy records are present in the tables for testing purposes, which
can be deleted before inserting real data. The project is shipped with [Link] file which
installs a database and tables in the computer system.

Note: The PC must have MySQL server with user (root) and password (root). If root
password is any other password, it can be changed by running MySQL Server Instance
Configure Wizard.

Start Program  MySQL MySQL Server MySQL Server Instance Config Wizard Provide
current password of root and new password as ―root‖ , this will change the root
password.

To install a MySQL database from a dump file ( [Link]) , simply follow the
following steps.
Step 1: Copy the [Link] 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 Library;
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 -proot Library<[Link]>
This will create a Library databse with required tables.

24
8. References

In order to work on this project titled ―Library Management System‖, the following books
and literature are referred by me during the various phases of development of the project.

(1)A Text Book on Informatics Practices


-by NCERT
(2) MySQL, Black Book
-by Steven Holzner
(2)Understanding SQL
– Gruber
(3) [Link]

(4)[Link]

(5)On-line Help of Python & Anaconda®

(6)Informatics Practices for class XII


-by Sumita Arora
(7)Together with Informatics Practices
(6) Various Websites of Discussion Forum and software development activities.

Other than the above mentioned books, the suggestions and supervision of my
teacher and my class experience also helped me to develop this software project.

25

You might also like