THE KUBER PUBLIC SCHOOL
COMPUTER SCIENCE PROJECT
SESSION 2025-26
A Project Report On
“LIBRARY MANAGEMENT SYSTEM”
Submitted by Akshay Agarwal and Aashu
Class-12th (science)
Under the Guidance of
Mrs. Arti
PGT (COMPUTER SCIENCE)
Table of Contents
[Link]. Description Page no.
1. Certificate
2. Acknowledgement
3. Library Management System Overview
4. Need of Computerization
5. System Development Life Cycle
6. Python Overview
7. Features of python
8. Modules and Their Purposes in the code
9. Purpose of the script
10. Potential extensions
11. Frontend and Backend
12. Advantages
13. Source Code Screen
14. Python Code
15. Output
16. Bibliography
CERTIFICATE
I hereby declare that the project work
entitled "Library Management System",
submitted to Department of computer
science, "THE KUBER PUBLIC SCHOOL" is
prepared by me.
All the coding are result of my personal
efforts.
AKSHAY AGARWAL & AASHU
12th
ACKNOWLEDGEMENT
This is to certify that AKSHAY AGARWAL &
AASHU Of class 12th has prepared the
report on the Project entitled "Library
Management System". The report is the
result of his efforts and endeavors. The
report is found worthy of acceptance as
final project report for the subject
Computer Science of class XII. He has
prepared the project under the guidance of
the subject teacher Mrs. ARTI.
([Link])
LIBRARY MANAGEMENT SYSTEM OVERVIEW
BRIEF OVERVIEW OF PROJECT
Library Management System (LMS) is a productivity tool designed for libraries
which helps in performing the basic housekeeping activities of a library. Under a
manual library system, problems such as missing records, slow book searches and
counting borrowed books can arise due to mistakes made by people in the
maintenance of logs. An LMS solves these problems by automating tasks,
structuring data effectively and enabling easy access to information. With
libraries catering to an increasing amount of users and collections, operation
digitalization is the way forward for efficient and convenient use.
The purpose of Library Management System is to enable the Librarian to easily
maintain book records, effectively perform operations like (Issue Books , adding
new books ,membership card etc. ). System automatically maintains information
in storage510 interconnected through a central database.
INPUT DATA AND VALIDATION OF PROJECT
1. All the fields such as order payments discounts are validated and does not take
invalid values.
2. Each form of sales, discounts, bookings cannot accept the blank values.
3. Avoiding errors in data
4. Controlling amount of input.
SOFTWARE AND HARDWARE REQUIREMENTS:
DATA FILE HANDLING: has been effectively used in the program. The database is a
collection of interrelated data to serve multiple applications. That is database
programs create files of information. So we see that files are worked with most,
inside the program.
DBMS:
The software required for the management of data is called as DBMS. It has3
models:
Relation model
Hierarchical model
Network model
RELATIONAL MODEL:
It's based on the concept on relation. Relation is the table that consists of rows
and columns. The rows of the table are called tuple and the columns of Numbers
of the rows table are called attribute, in the table is called as cardinality. Number
of columns in the table is called as degree
HIERARCHICAL MODEL:
In this type of model, we have multiple records for each record. A particular
record has one parent record. No chide record can exist without parent record. In
this, the records are organized in tree.
NETWORK MODEL:
In this, the data is represented by collection of records and relationship is
represented by (ink or association.
CHARACTERISTICS OF DBMS:
It reduces the redundancy
Reduction of data in inconsistency
Data sharing
Data standardization
DIFFERENT TYPES OF FILES:-BASED ON ACCESS:
Sequential file
Serial file
Random (direct access) file BASED ON STORAGE
Text file
Binary File
Need of computerization
Computerisation in a library management system is essential for improving
efficiency, accuracy, and user satisfaction. It automates routine tasks such as
cataloguing, circulation, and inventory management, reducing manual errors and
saving time. Digital records provide quick and reliable access to information,
enabling staff and users to search for books instantly. Computerisation also
enhances data security, supports easy updates, and facilitates reporting and
analysis. With features like online catalogues, automated reminders, and digital
membership management, libraries can offer better services. Overall,
computerisation streamlines operations, improves resource management, and
ensures a more organised and user-friendly library environment.
SYSTEM DEVELOPMENT LIFE CYCLE
(SDLC)
The System Development Life Cycle as used in the construction of the
server appliance.
PLANNING
ANALYSIS
DESIGN
SUPPORT
IMPLEMENTATION
The system development life cycle is a project management technique that divides
complex projects into a smaller, more easily managed segments or phases.
Segmenting projects allow managers to verify the successful completion of project
phases before allocating resources to subsequent phases.
Software development projects typically include planning, creating, developing,
testing and maintenance. However, the phases may be divided differently
depending on the organization.
Python Overview:-
Python is a general-purpose high-level programming language. It is an open source language,
released under a GPL. Compatible license. Python Software Foundation (PSF), a non-profit
organization, holds the copy right of python. Guido Van Rossum conceived python in the late
1980s. It was released in 1991 at Centrum Wiskunde & Informatica (CWI) in the Netherlands as
a successor to the ABC language. He named this language after a popular comedy show called
'Monty Python's Flying Circus' (and not after python the snake). In the last few years, it's
popularity has increased immensely According to [Link]'s recent survey, python is
in the top ten most popular technologies in 2018. It is also dynamically typed because it carries
out type-checking at run time. It does so to make sure that the type of construct matches what
we except it to be. The distinctive feature of python is that it is an interpreted language. The
Python IDLE (Integrated Development & Learning Environment) executes instruction one line at
a time. The python programming language is one of the richest languages.
Features of Python :-
1. Easy
Python is a very easy to learn and understand, using this python tutorial, any beginner can
understand the basics of python.
2. Interpreted:-
It is interpreted (executed) line by line. This makes it easy to test and debug.
3. Object Oriented
The python programming language supports classes and objects.
4. Free and Open-Source:-
The language and it's source code are available to the public for free; there is no need to buy a
costly license.
5. Portable:-
Since it is open source, we can run python on windows, mac, linux, or any other platforms. Our
programs will work without needing to the changed for every machine.
Modules and Their Purposes in the Code:
1. [Link] as mysql:
Provides the functionality to connect and interact with a MySQL database.
Used throughout the code for database connections and executing SQL
queries.
Functions and their responsibilities :
[Link] Connection
Connect to db:
o Establishes a connection to the MySQL database library.
o Returns the connection object or handles errors if the connection
fails.
o
SOURCE CODE SCREEN
PYTHON CODE
import [Link] as A
con=[Link](host='localhost',user='root',password='sHj@6378#jw',database='library3')
cursor=[Link]()
def add_book():
book_id = int(input("Enter Book ID: "))
title = input("Enter Book Title: ")
author = input("Enter Author Name: ")
price = float(input("Enter Price: "))
quantity = int(input("Enter Quantity: "))
[Link]("INSERT INTO books VALUES (%s,%s,%s,%s,%s)",(book_id, title, author, price,
quantity))
[Link]()
print("Book added successfully!\n")
main()
def view_books():
print("\n--- Book List ---")
[Link]("SELECT * FROM books")
data = [Link]()
if not data:
print("No books available.\n")
else:
print("BookID | Title | Author | Price | Quantity")
for row in data:
print(row)
print()
main()
def add_student():
admn_no = int(input("Enter Admission Number: "))
name = input("Enter Student Name: ")
class_name = input("Enter Class: ")
section = input("Enter Section: ")
[Link]("INSERT INTO students VALUES (%s,%s,%s,%s)",(admn_no, name, class_name,
section))
[Link]()
print("Student added successfully!\n")
main_menu()
def view_students():
[Link]("SELECT * FROM students")
data = [Link]()
if not data:
print("No student records found.\n")
else:
print("AdmnNo | Name | Class | Section")
for row in data:
print(row)
print()
main()
def issue_book():
admn_no = int(input("Enter Admission Number: "))
book_id = int(input("Enter Book ID: "))
issue_date = [Link]()
# Check if book exists and available
[Link]("SELECT quantity FROM books WHERE book_id=%s", (book_id,))
book = [Link]()
if not book:
print("Book not found!\n")
return
if book[0] <= 0:
print("Book currently unavailable!\n")
return
# Insert issue record
[Link](""" INSERT INTO issue_records (admn_no, book_id, issue_date, return_date)
VALUES (%s, %s, %s, NULL)""", (admn_no, book_id, issue_date))
# Reduce book quantity
[Link]("UPDATE books SET quantity = quantity - 1 WHERE book_id=%s", (book_id,))
[Link]()
print("Book issued successfully!\n")
main()
def return_book():
issue_id = int(input("Enter Issue ID: "))
return_date = [Link]()
[Link]("""SELECT book_id FROM issue_recordsWHERE issue_id=%s AND return_date
IS NULL""", (issue_id,))
data = [Link]()
if not data:
print("Invalid Issue ID or already returned.\n")
return
book_id = data[0]
[Link]("UPDATE issue_records SET return_date=%s WHERE issue_id=%s",
(return_date, issue_id))
[Link]("UPDATE books SET quantity = quantity + 1 WHERE book_id=%s" ,
(book_id,))
[Link]()
print("Book returned successfully!\n")
main()
def view_issued_books():
[Link]("SELECT * FROM issue_records")
data = [Link]()
if not data:
print("No issued books found.\n")
else:
print("IssueID | AdmnNo | BookID | IssueDate | ReturnDate")
for row in data:
print(row)
print()
main()
def main():
print("""
==================================
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
""")
choice = input("Enter your choice (1-8): ")
if choice == '1':
add_book()
elif choice == '2':
view_books()
elif choice == '3':
add_student()
elif choice == '4':
view_students()
elif choice == '5':
issue_book()
elif choice == '6':
return_book()
elif choice == '7':
view_issued_books()
elif choice=='8':
delete_book()
elif choice == '9':
print("\nThank you for using Library Management System!")
else:
print("Invalid choice! Try again.\n")
if '_name_'=="_min_" :
main()
[Link]()
[Link]()
def pswd():
ps=input("Enter Password:")
if ps=="py123":
main()
else:
print("Wrong Password")
pswd()
pswd()
OUTPUT
FOR ADD BOOK
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
Enter your choice (1-8): 1
Enter Book ID: 001
Enter Book Title: The Jungle Book
Enter Author Name: Rudyard Kipling
Enter Price: 500
Enter Quantity: 10
Book added successfully!
FOR VIEW BOOKS
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
Enter your choice (1-8): 2
--- Book List ---
BookID | Title | Author | Price | Quantity
(1, 'The Jungle Book ', 'Rudyard Kipling ', 500.0, 10)
(2, 'Crime and Punishment ', 'Fyodor Dostoevsky', 400.0, 5)
(3, 'Pride and Prejudice ', 'Jane Austen', 450.0, 7)
FOR ADD STUDENTS
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
Enter your choice (1-8): 3
Enter Admission Number: 7444
Enter Student Name: Rajnath Prasad
Enter Class: 10
Enter Section: A
Student added successfully!
FOR VIEW STUDENTS
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
Enter your choice (1-8): 4
AdmnNo | Name | Class | Section
(7444, 'Rajnath Prasad ', '10', 'A')
FOR VIEW ISSUED BOOKS
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
Enter your choice (1-8): 7
IssueID | AdmnNo | BookID | IssueDate | ReturnDate
(2, 7444, [Link](2022, 11, 25), None)
FOR ISSUE BOOKS
LIBRARY MANAGEMENT SYSTEM
==================================
1. Add Book
2. View Books
3. Add Student
4. View Students
5. Issue Book
6. Return Book
7. View Issued Books
8. Exit
Enter your choice (1-8): 5
Enter Admission Number: 7444
Enter Book ID: 2
Enter the Date:22/11/25
Book issued successfully!
BIBLIOGRAPHY
1. [Link]
2. [Link]
3. Computer Science with Python