0% found this document useful (0 votes)
4 views

DBMS_Library_Mgmt

The 'SmartRead Library Management System' is a desktop-based Java application designed to automate library operations, featuring role-based access for Admins and Students. It allows Admins to manage book records through a user-friendly interface while Students can view and issue books. Built using Java Swing and Oracle 10g, the system ensures data integrity and offers a scalable solution for educational institutions.

Uploaded by

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

DBMS_Library_Mgmt

The 'SmartRead Library Management System' is a desktop-based Java application designed to automate library operations, featuring role-based access for Admins and Students. It allows Admins to manage book records through a user-friendly interface while Students can view and issue books. Built using Java Swing and Oracle 10g, the system ensures data integrity and offers a scalable solution for educational institutions.

Uploaded by

Aditya Kudale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

A Project Report on

“SmartRead Library Management System”

Submitted by,
Disha Satpute (202402040019 )
Harshali Sabale (202402040020 )
Pratiksha Kulkarni (202402040022 )

A Report submitted to MIT Academy of Engineering, Alandi(D),


Pune, An Autonomous Institute Affiliated to Savitribai Phule Pune
University in partial fulfillment of the requirements of

BACHELOR OF TECHNOLOGY
in
Computer Engineering

School of Computer
Engineering MIT Academy of
Engineering
(An Autonomous Institute Affiliated to Savitribai Phule Pune University)
Alandi (D), Pune – 412105

(2024–2025)
Abstract

The Library Management System is a desktop-based Java application built using Java Swing

for the frontend and Oracle 10g as the backend database. The system automates and

simplifies the management of library operations such as maintaining book records and

handling book issuance. It features a role-based login system that differentiates between

Admin and Student users.

The Admin role allows authorized users to perform CRUD (Create, Read, Update, Delete)

operations on the book database. The admin interface includes a vertical form layout for

book details, interactive buttons for managing data, and a scrollable table for viewing the list

of books. The admin can also load existing book data into the form by selecting rows from

the table. A centralized logout button ensures easy navigation.

The Student role provides a clean, read-only interface where users can view the complete

list of available books in a scrollable table. Students can issue a book by entering the Book

ID, provided the book is available. The interface also includes a logout button for safe session

exit.

Key technical features include:

• Java Swing GUI with maximized responsive windows

• Oracle 10g database with JDBC connectivity

• DAO (Data Access Object) pattern for database abstraction

• GridBagLayout and FlowLayout for clean UI design

• JTable with DefaultTableModel for dynamic book listing

• Use of sequences and foreign keys in Oracle for issue tracking

The system ensures a structured, modular approach to library management with a user-

friendly interface and strong backend logic. It serves as a practical solution for small to

medium-sized educational institutions aiming to digitize their library operation


Contents

1 Introduction

2 Requirement Collection

3 Problem Definition and Scope

4 ER/EER Diagram

5 Reduction of ER Schema to Tables

6 Implementation

7 Outcome and Application of the Project


1. Introduction

Libraries are essential hubs of knowledge, information, and learning for students
and institutions. Traditionally, library management involved manual record-keeping,
which was time-consuming and prone to errors. To overcome these limitations, our
Library Management System project leverages Java Swing and Oracle 10g to deliver
an efficient and user-friendly digital solution.

This project aims to streamline the essential library operations: book inventory
management and book issuance. By implementing user authentication and role-based
dashboards, we ensure that admins and students can interact with the system
according to their permissions. Admins can manage the book collection, while
students can view and issue books.

The system provides a graphical user interface that is intuitive and maximized
for different screen sizes. Admins can add, update, delete, and browse books using an
interactive panel with real-time data visualization through tables. Students have
access to a clear list of available books and can issue them by entering a valid Book ID.

The application adopts best practices in software design by using the DAO
pattern for database operations and Swing layouts for responsive design. Oracle 10g is
used to store structured data and ensure robust data integrity through constraints and
relationships.
• Objective

The primary objective of the Library Management System is to design and implement
a robust software application that automates core library functions while ensuring a
smooth and secure user experience. The specific objectives are:
• To provide a role-based login system that separates Admin and Student access.
• To allow Admins to manage the book collection through a user-friendly GUI.
• To display all book data dynamically using JTable for real-time visualization.
• To enable students to view and issue available books using a simple input-based
method.
• To ensure efficient backend operations using JDBC and Oracle 10g database.
• To apply the DAO pattern for separation of business logic and database
interaction.
• To create a visually clean and responsive UI using Java Swing layouts.
• To ensure data accuracy and integrity using SQL constraints like primary and
foreign keys.
• To support future scalability by maintaining modularity in the codebase.

2. Requirement Collection

Software Requirements:
• Java Development Kit (JDK 8 or above)
• Oracle 10g Database
• Java Swing (part of JDK)
• JDBC (Java Database Connectivity)
• VS Code or Eclipse IDE
• Oracle SQL Developer (for database)
Hardware Requirements:
• Processor: Intel i3 or higher
• RAM: Minimum 4 GB
• Storage: 100 MB minimum for database and application
• OS: Windows 10 or higher
3. Problem Definition and Scope

The primary problem addressed by this project is the inefficiency and inaccuracy of
manual library systems in educational institutions. These systems often lead to issues
like missing records, duplicate entries, difficulty in tracking issued books, and long
queues for book issuance and returns. The scope of the Library Management System
includes digitalization of core library functions such as user authentication, book
management, and book issuance.

Scope Includes:
• User login functionality with role-based access.
• Book catalog management by Admin.
• Issuance of books by Students.
• Data storage and retrieval from Oracle 10g database.
• Real-time data interaction via graphical interface.

The system is designed for scalability, allowing future upgrades like book return
tracking, fine management, and analytics/report generation.

4. ER/EER Diagram

The ER Diagram includes three main entities:


1. User (user_id, password, role)
2. Book (book_id, title, author, publisher, quantity)
3. Issued_Book (issue_id, student_id, book_id, issue_date, return_status)

Relationships:
• A user (Student) can issue multiple books.
• A book can be issued to multiple users over time.
• Foreign key constraints ensure referential integrity.
1 1

M M

FK

5. Reduction of ER Schema to Tables

Based on the ER diagram, the schema was reduced to the following relational tables
in Oracle 10g:

Table: Lib_users
• user_id VARCHAR2(20) PRIMARY KEY
• password VARCHAR2(20) NOT NULL
• role VARCHAR2(20) CHECK (role IN ('admin', 'student'))
Table: Lib_books
• book_id VARCHAR2(10) PRIMARY KEY
• title VARCHAR2(100)
• author VARCHAR2(50)
• publisher VARCHAR2(50)
• quantity NUMBER CHECK (quantity >= 0)

Table: issued_books
• issue_id NUMBER PRIMARY KEY
• student_id VARCHAR2(20) REFERENCES Lib_users(user_id)
• book_id VARCHAR2(10) REFERENCES Lib_books(book_id)
• issue_date DATE DEFAULT SYSDATE
• return_status VARCHAR2(10) DEFAULT 'pending'

Sequence: issue_seq
• Used to auto-generate unique values for issue_id.

Database Design:
• Tables: Lib_users, Lib_books, issued_books
• Primary Keys: user_id (Lib_users), book_id (Lib_books), issue_id
(issued_books)
• Foreign Keys: student_id references Lib_users, book_id references
Lib_books
• Sequence: issue_seq for generating unique issue IDs

UI Design:
• LoginForm: authenticates user and redirects to appropriate dashboard.
• AdminDashboard: vertical form layout with Add, Update, Delete buttons;
JTable for viewing book records; logout button centered at bottom.
• StudentDashboard: displays all books in a table; input field to issue a book
using Book ID; logout button at the bottom.
6. Implementation
The Library Management System was implemented using the Java Swing framework
and Oracle 10g. Development was carried out in Visual Studio Code and tested using
Oracle SQL Developer.
Modules Implemented:
1. Login Module: Validates user credentials from the Lib_users table using the
UserDAO class. It redirects users to the correct dashboard based on their role.
2. Admin Module: Allows admin users to perform book CRUD operations.
Admins can add new books, update details of existing books, delete books, and
view all books in a scrollable table.
3. Student Module: Displays all available books and allows students to issue a
book by entering its Book ID. Upon issuing, the quantity of the book is
decremented in the database.
4. Database Layer: DAO classes are used to interact with the Oracle database
using JDBC. Each class encapsulates operations like select, insert, update, and
delete.
5. GUI Layer: Designed using Swing components like JFrame, JPanel, JTable,
JTextField, JButton, and layout managers like GridBagLayout and
FlowLayout.

Security and Validation:

• Only valid user credentials can access the system.


• Role-based redirection ensures no unauthorized operations.
• Form validation ensures no empty or incorrect inputs are processed.
7. Outcome and Application of the Project

The Library Management System project has delivered a fully functional, user-
friendly, and efficient platform for managing library resources. It streamlines the
entire lifecycle of books within the system — from addition and updates by the admin
to issuance by students.
Outcomes:

• Provides an intuitive user interface for managing and accessing book data.
• Ensures data accuracy and integrity through the use of constraints and
relational schema.
• Reduces the administrative workload of library staff.
• Enhances the student experience with fast and error-free book issuance.
Applications:

• Can be deployed in school, college, or university libraries.


• Suitable for small to mid-scale public or private libraries.
• Adaptable as a base system for further integration with SMS/email alerts,
digital catalogs, and RFID tracking in future upgrades.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy