My Report

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

A Project On

Library ManageMent
SySteM
uSing Python & MySQL
DeveLoPeD by:-
BOARD NAME BOARD REG.NO. CLASS
ROLL NO
26630549 VINAYAK RAJ

26630558 SHRUTI SINHA XII-A

26630547 SHUBHAM RAJ

Under the Guidance of


Mr. Narendra Kumar
{PGT Computer Science}
D.a.v PubLiC SChooL,JaMui

A PROJECT REPORT
ON

Library Management System


For aiSSCe 2020-21 exaMination
[As a part of the Informatics Practices Course (065)]

SUBMITTED BY
BOARD ROLL NO NAME BOARD REG.NO. CLASS
26630549 VINAYAK RAJ XII-A

Under the Guidance of:


Mr.Narendra Kumar
{PGT Computer Science}

Sign. of Internal Examiner Sign. of External Examiner


CertiFiCate

This is to certify that the Project / Dissertation entitled LIBRARY

MANAGEMENT SYSTEM is a bonafide work done by


VINAYAK RAJ of class XII ‘A’ Session 2020-21 in partial fulfillment of
AISSCE-2021 and has been carried out under my direct supervision and guidance. This
report or a similar report on the topic has not been submitted for any other
examination and does not form a part of any other course undergone by the candidate.

………………………… ……………………………..

Signature of Student Signature of Teacher/Guide


VINAYAK RAJ Mr.Narendra Kumar
Roll No.- 26630549 PGT (Comp.Sc.)

Place: Jamui Signature of Principal


Date: (Mr. Ram Kumar)
aCKnoWLeDgeMent

I undertook this Project work, as the part of my course. I had tried to apply
my best of knowledge and experience, gained during the study and class
work experience. However, developing CUI AND PYTHON CODE is generally
a quite complex and time-consuming process. It requires a systematic study,
insight vision and professional approach during the design and development.
Moreover, the developer always feels the need, the help and good wishes of the
people near you, who have considerable experience and idea.

I would like to extend my sincere thanks and gratitude to my teacher Mr.


Narendra Kumar and I am very much thankful to our Principal Mr. Ram Kumar
for giving valuable time and moral support to develop this Library Management
project.

I would like to take the opportunity to extend my sincere thanks and gratitude to
my father and my motherfor being a source of inspiration and providing time and
freedom to develop this PYTHON project.

I also feel indebted to my friends Master SHUBHAM RAJ and Miss SHRUTI
SINHA for the valuable suggestions during the project work.

VINAYAK RAJ
CLASS:-XII ‘A’
ContentS

1. introDuCtion ----------------------------------------------------------------------------------- 1

2. obJeCtive & SCoPe oF the ProJeCt ------------------------------------------------ 2

3. theoretiCaL baCKgrounD -------------------------------------------------------------- 4

4. ProbLeM DeFinition & anaLySiS --------------------------------------------------- 11

5. SySteM iMPLeMentation --------------------------------------------------------------- 12

5.1 the harDWare uSeD: ---------------------------------------------------------------- 12

5.2 the SoFtWareS uSeD: --------------------------------------------------------------- 12

6. SySteM DeSign & DeveLoPMent----------------------------------------------------- 13

6.1 DatabaSe DeSign: -------------------------------------------------------------------- 13

6.2 i/o ForMS DeSign :--------------------------------------------------------------------- 14

7. uSer ManuaL to inStaLL SoFtWareS ------------------------------------------- 26

8. reFerenCeS ---------------------------------------------------------------------------------- 33
1. introDuCtion

This software project is developed to automate the functionalities of a LIBRARY. The


purpose of the software project is to develop the Management Information System (MIS)
to automate the record of the LIBRARY with a view to enhance the decision making of
the functionaries.

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 a Library System.

During coding and design of the software Project, IDLE Python, a powerful front-end
tool is used for getting Command Line User Interface (CUI) 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.

1
2. obJeCtive & SCoPe oF the ProJeCt

The objective of the software project is to develop a computerized MIS to automate the
functions of a Library. 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, Command Line User Interface (CUI) based integrated
and centralized environment for MIS activities.
 The proposed system should maintain all the records and should generate the
required reports and information when required.
 To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.
 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 sports shop project, IDLE 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.

This software can store records 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
2
user need in future. Any part of the software and reports can be modified independently
without much effort.

3
3. theoretiCaL baCKgrounD

3.1 What is Database ?


A database is a persistent, logically coherent collection of inherently meaningful data,
relevant to some aspects of the real world.

Need for a Database-

• Database helps to store data.

• Database reduces redundancy.

• Database controls inconsistency.

• Database ensures security.

• Database maintains integrity.

Fig:-Database

4
DiFFerent Data MoDeLS
A data model refers to a set of concepts to describe the structure of a database.

Four data models that are used for database management are:

i) The Relational Data Model

ii) The Network Data Model

iii) The Hierarchical Model

iv) Object Oriented Data Model

Relational Database Model-


In this model, the data is organized into tables in the form of rows & columns. These
tables are called relations .A row in a table represents a relationship among a set of values
.Since a table is a collection of such relationship , it is generally referred to
mathematical term relation.

Relational Data Model Terminology


 Relation-A table storing logically related data.
 Domain-This is a pool of values from which the actual values appearing in a given column are
drawn.
 Tuple-A row of a relation is generally referred to as tuple.
 Attribute- A column of a relation is generally referred to as Attribute.
 Degree- This refers to the number of attributes in a relation.
 Cardinality- This refers to the number of tuples in a relation.
 Primary Key- This refers to a set of one or more attributes that can uniquely identifies tuples
with in a relation.
 Candidate Key-All attributes in a relation that can act as primary key are called as candidate key.
 Alternate Key-A candidate key that is not primary key is called an alternate key.
 Foreign Key-A non-key attribute whose values are derived from the primary key of other table is
known as foreign key

5
Fig-Relational Database

Database Management System (DBMS):

A DBMS refers to a software that is responsible for storing , maintaining and utilizing databases. A
database along with a DBMS is referred to as a database system

Example of DBMS-MYSQL, ORACLE, SYBASE, MS-ACCESS etc.

Database System = Database + Database Management System

Fig-DBMS
6
3.2 What is MySQL ?
The management of data in a database system is done by means of a general-purpose
software package called a Database Management System (DBMS).

MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by Oracle Corporation. MySQL is named after co-founder
Micheal Widenius(a.k.a Monty).MYSQL has been named after Monty’s Daughter
My.The logo of MYSQL, the dolphin ,is named as “Sakila”.

MYSQL Database System refers to the combination of a MYSQL server server instance
& MYSQL database.MYSQL operates using client/server architecture using in which the
server runs on the machine containing the database and clients connect to the server over
a network.Typically MYSQL is supported on windows xp, windows server 2003 Linux
and other operating system.MYSQL is a multi-user database system, meaning several
users can access the database simultaneously.

Key Features of MYSQL are-


 Query Language Support- MYSQL understands standards based SQL(Structured
Query Language).
 Portability-MYSQL can work on many different platforms.
 Security-MYSQL offers a privilege and password system that is very flexible
and secure.
 Scalability-MYSQL can handle large databases. It can store 50 million
records,60000 tables on an average.
 Cost-MYSQL is available free of cost. It is an open source database.
 Data Types-MYSQL provides many Data Types to support different types of
data.

In order to access data within the MYSQL database, all programs and users must use,
Strutured Query Language(SQL).It is a language that enables you to create and operate
on relational databases.

7
Classification of SQL statements-

i) Data Definition Language(DDL) Commands


Commands-It
It allows to perform tasks related to
data definition. CREATE, ALTER, DROP, etc. are some of DDL commands.

ii) Data Manipulation Language (DML) Commands


Commands- It allows to retrieve, insert,
delete, modify
fy data stored in a database.SELECT, INSERT, UPDATE, DELETE etc. are
some of DML Commands.

iii) Transaction Control Language(TCL) Commands


Commands-A
A transaction is a complete unit
of work.

COMMIT,ROLLBACK, SAVEPOINT etc. are some of TCL Commands.

iv) Data Control Language (DCL) - These SQL commands are used for providing
security to database objects. These commands are GRANT and REVOKE.

3.3 What is IDLE PYTHON


PYTHON?
A Brief History of Idle Python:
Python:-

GUIDO VAN ROSSUM


Python is an interpreted, high level and general p
purpose
urpose programming language. Python was created in
1991by Guido Van Rossum as a successor to the ABC programming language. Python 2.0 released in

8
2000 introduced new features such as list comprehensions, and a garbage collection system with reference
counting.

Python was conceived in the late 1980s by Guido van Rossum at Centrum Wiskunde & Informatica
(CWI) in the Netherlands as a successor to ABC programming language, which was inspired by SETL,
capable of exception handling and interfacing with the Amoeba operating system. Its implementation
began in December 1989.

Python 2.0 was released on 16 October 2000 with many major new features, including a cycle-detecting
garbage collector and support for Unicode.

Python 3.0 was released on 3 December 2008. It was a major revision of the language that is not
completely backward-compatible. Many of its major features were back ported to Python 2.6 and 2.7
version series.

Python 2.7's end-of-life date was initially set at 2015 then postponed to 2020 out of concern that a

large body of existing code could not easily be forward-ported to Python 3. With Python 2's end-

of-life, only Python 3.6 and later are supported.

Python is a multi-paradigm programming language. Object-oriented programming and structured

programming are fully supported, and many of its features support functional programming and

aspect-oriented programming and metaobjects. Many other paradigms are supported via
extensions, including design by contract and logic programming.

The language's core philosophy is summarized in the document The Zen of Python

(PEP 20), which includes aphorisms such as:[64]

• Beautiful is better than ugly.

• Explicit is better than implicit.

• Simple is better than complex.

9
• Complex is better than complicated.

• Readability counts.

Rather than having all of its functionality built into its core, Python was designed to be
highly extensible. This compact modularity has made it particularly popular as a means
of adding programmable interfaces to existing applications.

When speed is important, a Python programmer can move time-critical functions to


extension modules written in languages such as C, or use PyPy, a just-in-time compiler.
Cython is also available, which translates a Python script into C and makes direct C-level
API calls into the Python interpreter.

An important goal of Python's developers is keeping it fun to use. This is reflected in the
language's name—a tribute to the British comedy group Monty Python[67]—and in
occasionally playful approaches to tutorials and reference materials, such as examples
that refer to spam and eggs (from a famous Monty Python sketch) instead of the standard
foo and bar.[68][69]

10
4. ProbLeM DeFinition & anaLySiS

The hardest part of building a software system is deciding precisely what to build. No
other part of the conceptual work is so difficult as establishing the detailed technical
requirement. Defining and applying good, complete requirements are hard to work, and
success in this endeavor has eluded many of us. Yet, we continue to make progress.

Problem definition describes the What of a system, not How . The quality of a software
product is only as good as the process that creates it. Problem definition is one of the
most crucial steps in this creation process. Without defining a problem, developers do not
know what to build, customers do not know what to expect, and there is no way to
validate that the built system satisfies the requirement.

Library Management System is designed to handle the record of bakery products,


customers and orders. It can add, update, delete and display these records. It includes all
activities related to the following:

 Identification and documentation of customer’s or user’s needs.


 Creation of a document that describes the external behavior and the association
constraints that will satisfies those needs.
 Analysis and validation of the requirements documents to ensure consistency,
completeness, and feasibility
 Evolution of needs.

After the analysis of the functioning of a Library management system, the proposed
System is expected to do the following: -

 To provide a user friendly, Command Line User Interface (CUI) based integrated
and centralized environment for computerized Bakery management System.
 The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
 To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.

11
5. SySteM iMPLeMentation

5.1 The Hardware used:

While developing the system, the used hardware are:


PC with Intel i3 processor , having 2 GB RAM, SVGA and other required devices.

5.2 The Softwares used:

 Microsoft Windows as Operating System.


 IDLE Python 3.7 as Front-end Development environment.
 MySQL as Back-end Sever with Database for Testing.
 MS-Word 2007 for documentation.

12
6. SySteM DeSign & DeveLoPMent

6.1 Database 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. A database is a container object which contains tables,
queries, reports and data validation policies enforcement rules or contraints etc. A logical data often
represented as a records are kept in different tables after reducing anomalies and redundancies. The
goodness of data base design lies in the table structure and its relationship.

This software project maintains a database named LIBRARY_MANAGEMENT which contains the
following tables.

Table Design:
The database of Library Management System contains 3 tables. 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: BOOKS

Coulmn name Data type Size


Book_ID Varchar 20
Book_Name Varchar 30
Author Varchar 30
Type Varchar 20

Table:ISSUE

Coulmn name Data type Size


S_ID Varchar 20
S_NAME Varchar 40
B_ID Varchar 20
ISSUE_DATE DATE --

13
Table:SUBMIT

Column Name Data type Size


S_ID Varchar 20
S_NAME Varchar 40
B_ID Varchar 20
SUBMIT_DATE Date --

6.2 Input/Output Forms Design

LIBRARY MANAGEMENT SYSTEM


LOGIN FORM

A detailed screenshots collection of the Python program is


shown below:

14
CHECK USER

15
ADD BOOKS

ISSUE BOOKS

16
SUBMIT BOOKS

DELETE BOOKS

17
DISPLAY BOOKS

UPDATE BOOKS

18
HEADING

MAIN MENU

19
20
*********************************

21
OUTPUT

22
23
**********************
24
GRAPHICAL REPRESENTATION

*****************************

25
7. uSer ManuaL
7.1 How to install Softwares:

Steps to install Python 3.7.3


1) Download the software from www.python.org
2) Double click on the downloaded software.
3) A window will appear asking to install python.
4) Click on check box Add Python 3.7 to PATH to set path of python software.

5) Click on Install Now option from the above window.

26
6) Software will start installing as shown above.

7) The above window will appear after the successful installation of software.

STEPS TO INSTALL MYSQL 5.5.48


1) Download the software from https://www.mysql.com/Downloads

2) Double click on the downloaded software.

3) Click on Next Button.

27
4) Accept the Agreement and click on Next Button.

5) Click on Install Button.

6) Installation will be in progress.

28
7) Click on Finish Button to complete the installation.

8) Click on Next Button .

9) Select Option Detailed Configuration & click on Next Button.

29
10) Select option Developer Machine and click on Next Button.

11) Select option Multifunctional Database and click on Next Button.

12) Choose the path and click on Next Button.

30
13) Give port number for MYSQL and click on Next Button.

14) Select Character Set and click on Next Button.

15) Give user name & password.

31
16) Click on Execute Button then click on Finish Button

32
8. bibLiograPhy

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)Head First Python -by Paul Berry
(2)MySQL Book -by Ivan Byross

(3) http://www.mysql.org/
(4) http://www.learnpython.org/
(5) www.sololearn.com
(6) Informatics Practices for class XII
-by Sumitra Arora
(7) Together with Informatics Practices

(8) Various Websites of Discussion Forum such as Stack Overflow


and software development activities.
Other than the above-mentioned books, the suggestions and supervision of my
teacher and my theory & practical clad experience also helped me to develop
this software project.

33

You might also like