0% found this document useful (0 votes)
7 views36 pages

Library Management System Project Report

The document is a project report for a Library Management System developed by Priyanshu Patel as part of the Computer Science curriculum for the CBSE 2026 Board Examination. It details the project's objectives, technical workflow, system implementation, and design, utilizing Python for front-end logic and MySQL for back-end database management. The report also includes acknowledgments, a declaration of originality, and a certificate of completion, highlighting the educational experience gained through the project.

Uploaded by

saxenapranjal851
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)
7 views36 pages

Library Management System Project Report

The document is a project report for a Library Management System developed by Priyanshu Patel as part of the Computer Science curriculum for the CBSE 2026 Board Examination. It details the project's objectives, technical workflow, system implementation, and design, utilizing Python for front-end logic and MySQL for back-end database management. The report also includes acknowledgments, a declaration of originality, and a certificate of completion, highlighting the educational experience gained through the project.

Uploaded by

saxenapranjal851
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

Dohra Road, Bareilly

SESSION: 2025-2026
A PROJECT REPORT ON
(LIBRARY MANAGEMENT SYSTEM)

For CBSE 2026 Board Examination

[As part of Computer Science Course (083)]

SUBMITTED TO: SUBMITTED BY:

Mr. CHANDER SHEKHAR PRIYANSHU PATEL

(PGT. COMPUTER SCIENCE) Class/ Roll. No.: XII-D / 25


PREFACE
This Computer Science Practical File for the academic year 2025-26 presents
the practical work, programs, and project undertaken in accordance with the
guidelines of the Central Board of Secondary Education (CBSE) for Class
XII.

The highlight of this file is my project titled “LIBRARY MANAGEMENT


SYSTEM”, which has been developed to demonstrate the application of
Python programming, database connectivity, file handling, and logical
problem-solving skills. Through this project, I have gained valuable insight
into the process of designing and building functional software solutions for
real-life scenarios.

The practical exercises documented here have strengthened my conceptual


understanding while enhancing my ability to implement algorithms and
develop efficient code. Each activity has contributed to improving my
computational thinking, analytical approach, and confidence in
programming.

I express my sincere gratitude to Mr. Chander Shekhar, PGT (Computer


Science), for his constant guidance, encouragement, and support throughout
the preparation of this practical file and project. His mentorship has played
an important role in refining my learning experience.

I hope this practical record reflects my sincere efforts and serves as a


meaningful contribution to my academic growth in Computer Science.

2
ACKNOWLEDGEMENT
I express my sincere gratitude to Mr. Rajesh K. Krishnan, Principal, for
providing continuous encouragement, support, and an academically
enriching environment that enabled me to complete this Computer Science
practical file and project successfully.

I would also like to extend my heartfelt thanks to Mr. Vishnu Devan, Vice
Principal, for his guidance, motivation, and support throughout the
academic year. His commitment to fostering a positive learning atmosphere
has greatly contributed to my overall growth.

I further express my deep appreciation to Mr. Chander Shekhar, PGT


(Computer Science), for his expert guidance, valuable feedback, and
constant support during the development of my project, LIBRARY
MANAGEMENT SYSTEM His mentorship has played an important role in
strengthening my understanding of programming concepts and project
development.

I am grateful to my teachers, classmates, and family for their cooperation,


encouragement, and assistance throughout the preparation of this practical
file.

Lastly, I acknowledge the Central Board of Secondary Education (CBSE)


for promoting project-based and experiential learning, which has
significantly enriched my technical and practical skills in Computer Science.

3
DECLARATION
I hereby declare that the project titled LIBRARY MANAGEMENT
SYSTEM submitted as part of the Computer Science Practical
Examination for the academic year 2025–26 is my original work. This
project has been completed under the guidance of Mr. Chander Shekhar,
PGT (Computer Science).

I confirm that all the data, information, and material presented in this project
are genuine and have been prepared by me. No part of this work has been
copied from any source without proper acknowledgment, and it has not been
submitted previously to any other institution or examination board.

I take full responsibility for the authenticity of the content included in this
practical file and project report.

Student Name: PRIYANSHU PATEL


Class: XII–D
Date: 23/12/25

4
CERTIFICATE
This is to certify that PRIYANSHU PATEL , a student of
class XII, has successfully completed the Computer
Science project titled “LIBRARY MANAGEMENT
SYSTEM”, under the guidance of Mr. Chander Shekhar, PGT
(Computer Science), during the academic year 2025–26.
This project has been submitted in partial fulfilment of the
requirements for the Computer Science Practical Examination of
the Central Board of Secondary Education (CBSE).

External Examiner

Principal

Internal Examiner:

5
TABLE OF CONTENTS
Section Description Page No.

1 Introduction __ 1 ___
2 System Implementation __ 4 ___
• 2.1 Hardware Used __ 5 ___
• 2.2 Software Used __ 5 ___
3 Design & Development __ 9 ___
• 3.1 Python Logic __ 10 __
• 3.2 Database Design __ 11 __
• 3.3 Code & Analysis __ 12 __
• 3.4 Output Screens __ 21 __
4 References __ 31 __

6
1. Introduction

1.1 Project Overview


7
The Library Management System is a software application
designed to automate the core operations of a library, such as
managing book records, student memberships, and the tracking of
issued or returned books. It is a robust Database Management
application designed to bridge the gap between physical book
inventory and digital record-keeping
In a traditional manual system, maintaining registers for hundreds
of books is prone to errors and time-consuming. This project aims
to provide a fast, efficient, and reliable digital solution for the
school library.
This system leverages the Client-Server Architecture of MySQL
combined with the high-level logic of Python to ensure ACID
(Atomicity, Consistency, Isolation, Durability) properties in every
transaction.
Developed as part of the Computer Science (083) curriculum for
the Class XII CBSE 2026 Board Examination, this project
focuses on the practical application of computational thinking and
programming. The system is built using Python as the front-end
language for logic and MySQL as the back-end for secure data
storage, connected via the mysql-connector-python bridge.

1.2 Technical Workflow

8
The system operates on a request-response cycle:

1. User Input: The librarian interacts with the Python-based


menu-driven interface.
2. Query Generation: Based on the choice, Python
dynamically generates SQL queries (INSERT, UPDATE, or
SELECT).
3. Database Processing: The mysql-connector driver sends
these queries to the MySQL Server 8.0, which processes the
relational data in the library_db.
4. State Commitment: Using the [Link]() method,
changes are permanently saved to the storage media, ensuring
data persistence.

Key Objectives of the Project:


 To store and manage detailed records of books
including Title, Author, and Availability.
 To maintain a database of student members to track
book circulation.
 To simplify the process of searching, adding, and
deleting records through a user-friendly menu
interface.
 To ensure data integrity and persistence using SQL
database connectivity.

9
2. System Implementation

2.0 System and Specs

10
This section details the hardware and software environment
used to develop and execute the Library Management
System. Ensuring the correct configuration is vital for the
seamless connectivity between the Python front-end and the
MySQL back-end.
2.1 Hardware Used
The project was developed on a modern computing system to
ensure high performance and reliability during database operations.
 Processor: Intel Core i5.
 RAM: 16 GB.
 Storage: 512 GB SSD (Solid State Drive).
 Input Devices: Standard QWERTY Keyboard and Optical
Mouse.
 Output Device: High-definition Monitor for interface
display.

2.2 Software Used


The software stack consists of an Integrated Development
Environment (IDE), a database management system, and
the necessary communication bridges.

 Python 3.11: Chosen for its vast library support and simple syntax,
making it ideal for rapid application development (RAD).
 MySQL Server 8.0: Used as the back-end because it is a powerful
Relational Database Management System (RDBMS) that supports

11
complex queries and ensures data security via password-protected
authentication (12345678).
 Spyder IDE: Provides a sophisticated console for debugging and
real-time execution of SQL-linked scripts.

2.3 Environment Setup and Installation Procedures


This section documents the step-by-step configuration of the
development environment used for the Library Management
System.

2.3.1 Installation of Python & Spyder IDE

The front-end logic was developed using the Spyder (Scientific


Python Development Environment).

 Procedure: The standalone installer for Spyder was


downloaded from the official website.
 Configuration: During installation, the Python 3.11
interpreter was bundled, providing the necessary execution
engine for the scripts.
 Verification: After installation, the console was tested using
simple print commands to ensure the internal environment
was stable before linking to the database.

2.3.2 Installation of MySQL Server 8.0


The back-end relational database was established using MySQL
Server 8.0 to handle data persistence.

 Procedure: The MySQL Installer for Windows was executed.


 Authentication Setup: During the "Type and Networking"
stage, the Legacy Authentication Method was selected for
better compatibility with Python drivers.

12
 Security Configuration: A specific root password (12345678)
was set to encrypt and protect the library_db schema from
unauthorized access.
 Service Check: The installation was verified by opening the
MySQL Command Line Client and logging in successfully.

2.3.3 Installation of MySQL-Connector-Python


Since Python does not natively communicate with MySQL, an
external library (the bridge) had to be installed.

 Tool Used: The pip (Python Package Installer) was used


through the system terminal.
 Command Executed: ```pip install mysql-connector-python
 Technical Role: This library provides the sqltor
([Link]) module, which allows Python to send
structured queries and receive tabular data from the SQL
engine.
 Verification: A test script was run in Spyder using import
[Link] to confirm that no ModuleNotFoundError
occurred.

2.3 Connectivity Overview


To allow the Library Management System to store data
permanently, Python uses the sqltor ([Link] mdule) alias
to send SQL queries to the MySQL Server 8.0. This setup allows
for:
 Data Persistence: Records remain saved even after the
program is closed.
 Concurrency: Handling multiple requests for book issues or
returns.

13
 Security: Password-protected access to the library database
using the system password (12345678) for easy access.

14
3. Design & Development

3.0 Library Management System

15
A Library Management System [LMS] is a digital solution
designed to automate library operations. It efficiently manages the
database of books, tracks member registrations, and monitors
transactions like borrowing and returns. Organizing records into
structured tables, it eliminates data redundancy, enhances
searchability, and ensures seamless tracking of library inventory
and status.
This section outlines the logical structure and technical creation of
the Library Management System. It covers how the Python logic
interacts with the MySQL database to perform CRUD (Create,
Read, Update, Delete) operations.

3.1 Python Logic (Front-End)


The Python component acts as the user interface. It is designed to
be menu-driven, allowing the librarian to navigate through
different tasks like adding books or issuing them to students.
Key modules developed include:
 Connection Module: Establishes the link between Spyder
and MySQL using the password 12345678.
 Book Management: Functions to ADD, SEARCH, and
DELETE books from the records.
 Member Management: Functions to register new students
(Members) into the system.
 Transaction Module: Logic to handle the ISSUE and
RETURN of books, automatically updating the book's status.

3.2 Database Design (Back-End)

16
The back-end consists of a relational database named library_db. We
use three primary tables to ensure data is organized without
redundancy.

i. Table 1: Books
Used to store the details of every book available in the library.
 Fields: Book_ID (Primary Key), Title, Author, Price, Status
(Available/Issued).

ii. Table 2: Members


Used to store details of students who are registered to borrow
books.
 Fields: Member_ID (Primary Key), Name, Class, Section.

iii. Table 3: Transactions


Tracks the movement of books.
 Fields: Trans_ID, Book_ID (Foreign Key), Member_ID
(Foreign Key), Date_of_Issue, Date_of_Return.

3.3 Code & Analysis (Python + MySQL)

17
The system is architected to deliver highly readable, structured, and clear
tabular outputs within the Spyder console. By leveraging formatted text
displays, it ensures that library administrators can review book inventories
and member logs with ease.
 Main Menu: A numbered list (1-5) for selecting actions.
 Data Confirmation: "Record Successfully Inserted" or "Book
Issued Successfully" messages.
 Error Handling: Alerts if a Book_ID is not found or if the
database connection fails.

Initializing the Setup in MySQL


Before writing any library logic, we must ensure the MySQL server
is running and the database exists.
Initialisation:
1. Open MySQL Command Line Client.
2. Verify the server is active by logging in with password
[here:12345678].

Database and Tables


We’ll create the database library_db and the required tables:
 Books
 Members
 Transactions
Step 1 : Enter ‘CREATE DATABASE IF NOT EXISTS library_db;’ and
‘USE library_db’

18
Step 2 : Create table Books and define the attributes:
1. Book_ID - Primary Key
2. Title
3. Author
4. Price
5. Status

Step 3 : Create Table Members and similarly define the attributes:


1. Member_ID - Primary Key
2. Name
3. Class
4. Section

Step 4 : Create Table Transactions and similarly define the attributes:


1. Trans_ID - Primary Key
2. Book_ID - Foreign Key

19
3. Member ID - Foreign Key
4. Issue_Date
5. Return_Date

Step 5 : Verify the Database and tables:

Initializing the Setup in Python


Before writing any library logic, we must ensure the MySQL server
is running and the database exists.
Initialisation:

1. Open Spyder Python Software.

2. Create file main_project.py

3. Import the required libraries and establish connection


between database and python

20
Creating the User Interface in Python
 Book Management (Add, Search, Show)
These snippets handle the core data within the Books table we
initialized earlier.

1. add_book: This snippet takes real-time data from the


librarian and uses the INSERT INTO command to create a
new record. The [Link]() command is essential;
without it, the new book would not be permanently saved in
MySQL.

21
2. search_book: This uses the SQL LIKE operator with %
wildcards. It allows the user to find books by typing just a
part of the name, making the system much more flexible for a
real school library environment.

3. delete_book(): Uses the DELETE FROM command to


remove a specific book record based on its unique Book_ID.

 Member Management Functions


This manages the student database for users.

1. add_member(): Registers a new student into the Members


table. This is necessary because a book cannot be issued to a
student who is not in the system.
2. delete_member(): Removes a student's record from the
database using their Member_ID.

22
 Transaction Management (Issue & Return)
This logic manages the movement of books between the library and
students.
1. issue_book(): First verifies if the book's status is "Available."
If so, it creates a new record in the Transactions table and
updates the book's status to "Issued" so no one else can take
it.
2. return_book(): Updates the existing transaction record with
the return date and resets the book's status in the Books table
back to "Available."

23
 View all records function & Main Menu
The final part provides the user interface for GD Goenka School.
1. show_all(): Uses SELECT * to fetch every record from the
Books table and displays them in the console for a quick
overview.
2. main_menu(): Uses a while True loop to keep the program
running indefinitely until the user chooses option 9. This
provides a user-friendly, branded interface for navigating the
system.

24
Total lines in the python program : 145

3.4 Output Screens


25
 Home Menu -
The home menu looks like as follows:

 Adding New Books -

 Adding New Members -

26
27
 Issuing Books -

Now checking the book status

28
 Return a Book -

Now checking the status of the book

29
 Search for a Book -

30
 Show all Books -

 Delete a book Record-

31
Now checking if the book gets displayed after deletion

It is also not displayed in All books records as shown:

32
 Delete Member-

 Exit-

33
Conclusion of Output Screen Analysis
The output screens documented above demonstrate the successful
implementation of the Library Management System for GD
Goenka School. The following technical milestones were achieved
during the testing phase:
 Data Persistence: All records added through the Python
interface were successfully stored in the MySQL library_db
and remained accessible after system restarts.
 Relational Integrity: The system correctly managed the
relationship between the Books and Members tables through
the Transactions table, ensuring that no book could be issued
without a valid Member ID.
 Real-time Updates: The Status column in the Books table
automatically toggled between 'Available' and 'Issued' based
on the transaction logic, preventing data redundancy or errors.
 User-Friendly Interaction: The menu-driven approach
allowed for seamless navigation, providing clear success
messages and formatted data tables for the librarian's
convenience.

34
4. References

35
4.0 Resources and Support
This project was developed using various academic resources,
official documentation, and technical guides. The following
references were instrumental in the successful completion of the
Library Management System:
4.1 Books
 Sumita Arora: Computer Science with Python for Class XII,
Dhanpat Rai & Co.
 NCERT: Computer Science Textbook for Class XII.
4.2 Software Documentation
 Python Foundation: Official Python 3.11 Documentation
([Link]).
 MySQL Documentation: Official MySQL 8.0 Reference
Manual ([Link]).
 MySQL Connector/Python: Developer Guide for mysql-
connector-python.
4.3 Web Resources
 W3Schools: SQL and Python Tutorials for database
connectivity logic. [[Link]]
 Stack Overflow: Troubleshooting and debugging database
connection strings. [[Link]]
 GeeksforGeeks: Algorithms for menu-driven programs and
list formatting. [[Link]]

36

You might also like