Professional Documents
Culture Documents
DBMS Mini Project Report
DBMS Mini Project Report
A
MINI PROJECT REPORT ON
“Library Management System”
Submitted in partial fulfilment of the requirements for the DBMS Laboratory with mini project
(18CLS58) course of the 5th semester
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
Submitted by,
CERTIFICATE
This is to certify that the mini-project work entitled "LIBRARY SERVICE MANAGEMENT
SYSTEM" is a Bonafide work carried out by SHUBHANKAR SHARMA (1JS20CS144) and
SANSKRITI SINGH (1JS20CS144) in partial fulfilment for the Database Management Systems
Laboratory with Mini Project (18CSL58) of 5th semester Bachelor of Engineering in Computer
Science and Engineering of the Visvesvaraya Technological University, Belgaum during the
academic year 2022-2023. It is certified that all corrections and suggestions indicated for Internal
Assessment have been incorporated in the report deposited in the department library. The project
report has been approved as it satisfies the academic requirements in respect of t h e project work
prescribed for the said degree.
1)…………………………………….. ……………………………………..
2)…………………………………….. …………………………………….
ACKNOWLEDGEMENTS
We express my humble pranamas to His Holiness Jagadguru Sri Sri Sri Shivarathri Deshikendra
Mahaswamiji who has showered their blessings on us for framing our career successfully.
We express our sincere thanks to our beloved principal, Dr. Bhimasen Soragaon for having supported
us in our academic endeavors.
We are also indebted to Dr. P B Mallikarjuna, Head of Department of Computer Science and
Engineering for the facilities and support extended towards us.
We are thankful to the resourceful guidance, timely assistance and graceful gesture of our guide Mrs.
K S Rajeshwari, Assistant Professor, Department of Computer Science and Engineering, and Mrs.
Pooja H, Assistant Professor, Department of Computer Science and Engineering, who has helped us
in every aspect of our project work.
And last but not the least, we would be very pleased to express our heart full thanks to all the teaching
and non-teaching staff of CSE department and our friends who have rendered their help, motivation
and support.
The completion of any project involves the efforts of many people. We have been lucky enough to
have received a lot of help and support from all quarters during the making of this project, so with
gratitude, we take this opportunity to acknowledge all those who have given guidance and
encouragement helped us emerge successful.
SHUBHANKAR SHARMA
1JS20CS158
SANSKRITI SINGH
1JS20CS144
TABLE OF CONTENTS
ACKNOWLEDGEMENT 5
CHAPTER1 7
INTRODUCTION 7
INTRODUCTION TO FILE STRUCTURES 7
HISTORY OF DBMS 8
OBJECTIVES 9
ORGANIZATION OF THE REPORT 10
CHAPTER 2 11
LITERATURE SURVEY 11
INTRODUCTION 11
NORMALIZATION 15
CHAPTER 3 17
REQUIREMENT SPECIFICATIONS 17
SOFTWARE SPECFICATION 17
HARDWARE SPECFICATION 17
USER CHARACTERISTICS 17
CHAPTER 4 18
SYSTEM DESIGN 18
INTRODUCTION TO SYSTEM DESIGN 18
ATTRIBUTES 19
SCHEMA DIAGRAM 20
ER DIAGRAM 21
CHAPTER 5 23
PROJECT IMPLIMENTATION 23
INTRODUCTION 23
CREATING TABLES 23
QUERIES 28
PSEUDO CODE 34
CHAPTER 6 41
SYSTEM TESTING 41
INTRODUCTION 41
TYPES OF TESTING 41
CHAPTER 7 43
RESULTS AND DISCUSSIONS 43
CHAPTER 8 48
CONCLUSION AND FUTURE ENHANCEMENTS 48
CONCLUSION 48
FUTURE ENHANCEMENT 48
CHAPTER 9 49
REFRENCES 49
BOOK REFERENCES 49
WEB REFERENCES 49
CHAPTER1
INTRODUCTION
CHAPTER2
DESIGN
E-R DIAGRAM
CHAPTER 3
SYSTEM REQUIREMENTS
HTML:
HTML, or Hypertext Markup Language, is the standard language used to create
web pages. It consists of a series of tags and attributes that define the structure and
content of a page. HTML tags are used to create the basic structure of a web page,
such as headings, paragraphs, lists, images, links, and more. Attributes are used to
provide additional information about the elements on a page, such as the source of
an image or the destination of a link. HTML also supports the use of CSS and
JavaScript to add style and interactivity to web pages. HTML is a very simple
language to learn, and it is the foundation of all websites. With a basic
understanding of HTML, you can create your own web pages and even modify
existing ones. For example, the <h1> tag is used to create a heading, while the <p>
tag is used to create a paragraph. There are many different tags available in HTML,
each with its own specific purpose.
CSS:
CSS, or Cascading Style Sheets, is a language used to control the layout and design
of web pages. It is used in conjunction with HTML to separate the presentation of
a web page from its content. With CSS, developers can create visually appealing
and consistent designs across multiple web pages.
CSS allows for the control of elements such as font size and color, spacing,
alignment, and more. It also supports the use of selectors, which allow for the
targeting of specific HTML elements on a page to apply styles to. CSS also
supports media queries, which enable developers to create responsive designs that
adjust to the size of the user's device or screen.. CSS makes it easy to maintain and
update the design of a website.
JAVASCRIPT:
JavaScript is a programming language that is primarily used to create interactive
and dynamic elements on web pages. It is used in conjunction with HTML and
CSS to create complex and engaging user interfaces. JavaScript allows for the
creation of things like image sliders, form validation, and interactive maps.
JavaScript is a versatile language that can be used for a wide range of tasks, from
simple form validation to full-fledged web applications. It is supported by all major
browsers, making it a widely-used technology that is essential for creating
interactive and dynamic web pages.
BOOTSTRAP:
3.2 Back-End
PHP v7.0.0:
PHP is a popular server-side scripting language that is widely used for web
development. PHP version 7, released in 2015, was a major upgrade from the
previous version and introduced several important changes and improvements.
Another important feature of PHP 7 is the introduction of scalar type hints, which
allow developers to specify the data type of function arguments. This improves
code readability and makes it easier to catch errors.
MySQL Database:
MySQL is a widely-used open-source relational database management system
(RDBMS) that is known for its reliability, performance, and ease of use. It is often
used in combination with the PHP programming language to create dynamic web
applications. MySQL stores and manages data in tables, which are organized into
databases. Each table has a unique structure defined by a set of columns, and each
column has a specific data type, such as integer, string, or date.
One of the key features of MySQL is its support for SQL (Structured Query
Language), which is a standard language for managing and manipulating relational
databases. This allows developers to easily create, read, update, and delete data in a
MySQL database.
MySQL is also highly configurable and can be optimized for different use cases,
such as high-traffic websites or data warehousing. It has a wide range of built-in
functions and can be extended with user-defined functions and stored procedures.
In summary, MySQL is a robust and reliable RDBMS, widely used in web
development. Its support for SQL, wide range of data types and support for large
data sets, and configurability makes it a great option for a wide range of
applications.
<?php
if(isset($_POST['add_author'])){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "insert into authors values('','$_POST[author_name]',
$_POST[No_Of_Books],'$_POST[Origin]','$_POST[Gender]')";
$query_run = mysqli_query($connection,$query);
}
?>
<?php
if(isset($_POST['add_book'])){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "insert into books
values(null,'$_POST[book_name]','$_POST[book_author]','$_POST[book_cat]',
$_POST[book_no],$_POST[book_price])";
$query_run = mysqli_query($connection,$query);
}
?>
<div>
<script>
function printFunction() {
var printContents = document.getElementById('PrintTable').innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>
<input type="button" value="Print" onclick="printFunction()">
</div>
<?php
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "delete from authors where author_id = $_GET[aid]";
$query_run = mysqli_query($connection,$query);
?>
<?php
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query1 = "select s_no,book_name,book_author,book_no,student_id,issue_date, returned_date
from issued_books where book_no = $_GET[bn]";
$query_run = mysqli_query($connection,$query1);
while($row = mysqli_fetch_assoc($query_run)){
$s_no = $row['s_no'];
$book_name = $row['book_name'];
$book_author = $row['book_author'];
$book_no = $row['book_no'];
$student_id = $row['student_id'];
$student_name = $row['name'];
}
$query2 = "insert into returned_table values($_POST[s_no],
$_POST[book_no],'$_POST[book_name]','$_POST[book_author]',
$_POST[student_id],1,'$_POST[issue_date]',null)";
$query_run = mysqli_query($connection,$query2);
?>
<?php
<?php
require('functions.php');
session_start();
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$author_name = "";
$author_id = "";
$query = "select * from authors where author_id = $_GET[aid]";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$author_name = $row['author_name'];
$No_Of_Books = $row['No_Of_Books'];
$Origin = $row['Origin'];
$Gender = $row['Gender'];
}
?>
<?php
if(isset($_POST['update'])){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "update authors set
author_name='$_POST[author_name]',No_Of_Books=$_POST[No_Of_Books],
Origin='$_POST[Origin]', Gender='$_POST[Gender]' where author_id = $_GET[aid]";
$query_run = mysqli_query($connection,$query);
header("location:manage_author.php");
}
?>
<?php
require('functions.php');
session_start();
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$book_no = "";
$book_name = "";
$author_id = "";
$cat_id = "";
$book_price = "";
$query = "select * from books where book_no = $_GET[bn]";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$book_name = $row['book_name'];
$book_no = $row['book_no'];
$author_id = $row['author_id'];
$cat_id = $row['cat_id'];
$book_price = $row['book_price'];
}
?>
<?php
function get_user_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$user_count = "";
$query = "select count(*) as user_count from users";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$user_count = $row['user_count'];
}
return($user_count);
}
function get_book_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$book_count = "";
$query = "select count(*) as book_count from books";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$book_count = $row['book_count'];
}
return($book_count);
}
function get_category_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$cat_count = "";
$query = "select count(*) as cat_count from category";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$cat_count = $row['cat_count'];
}
return($cat_count);
}
function get_author_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$author_count = "";
$query = "select count(*) as author_count from authors";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$author_count = $row['author_count'];
}
return($author_count);
}
function get_issued_book_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$issued_book_count = "";
$query = "select count(*) as issued_book_count from issued_books";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$issued_book_count = $row['issued_book_count'];
}
return($issued_book_count);
}
?>
<?php
session_start();
if(isset($_POST['login'])){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "select * from admins where email =
'$_POST[email]'";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
if($row['email'] == $_POST['email']){
if($row['password'] ==
$_POST['password']){
$_SESSION['name'] = $row['name'];
$_SESSION['email'] = $row['email'];
header("Location:admin_dashboard.php");
}
else{
?>
<br><br><center><span
class="alert-danger">Wrong Password</span></center>
<?php
}
}
}
}
?>
<?php
session_unset();
session_destroy();
header("Location:admin/index.php");
?>
<?php
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "select * from books";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
?>
<tr>
<td><?php echo$row['book_name'];?></td>
<td><?php echo $row['author_id'];?></td>
<td><?php echo $row['cat_id'];?></td>
<td><?php echo $row['book_no'];?></td>
<td><?php echo $row['book_price'];?></td>
<td>
<button class="btn" name=""><a
href="edit_book.php?bn=<?php echo $row['book_no'];?>">Edit</a></button>
<button class="btn" name=""><a
href="delete_book.php?bn=<?php echo $row['book_no'];?>">Delete</a></button>
</td>
</tr>
<?php
}
?>
<?php
session_start();
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$password = "";
$query = "select * from admins where email = '$_SESSION[email]'";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$password = $row['password'];
}
if($password == $_POST['old_password']){
$query = "update admins set password = '$_POST[new_password]' where email =
'$_SESSION[email]'";
$query_run = mysqli_query($connection,$query);
}
?>
<?php
session_start();
if(isset($_POST['login'])){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "select * from users where email =
'$_POST[email]'";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
if($row['email'] == $_POST['email']){
if($row['password'] ==
$_POST['password']){
$_SESSION['name'] = $row['name'];
$_SESSION['email'] = $row['email'];
$_SESSION['id'] = $row['id'];
header("Location:user_dashboard.php");
}
else{
?>
<br><br><center><span
class="alert-danger">Wrong Password</span></center>
<?php
}
}
}
}
?>
</div>
<?php
session_start();
function get_user_issue_book_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$user_issue_book_count = 0;
$query = "select count(*) as user_issue_book_count from issued_books where
student_id = $_SESSION[id]";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$user_issue_book_count = $row['user_issue_book_count'];
}
return($user_issue_book_count);
}
?>
<div class="row">
<div class="col-md-3">
<div class="card bg-light" style="width: 300px">
<div class="card-header">Issued Books:</div>
<div class="card-body">
<p class="card-text">No. of Issued Books: <?php echo
get_user_issue_book_count();?> </p>
<a href="view_issued_book.php" class="btn btn-danger"
target="_blank">View Issued Books</a>
</div>
</div>
</div>
<div class="col-md-3"></div>
<div class="col-md-3"></div>
<div class="col-md-3"></div>
</div>
<body>
?>
<!DOCTYPE html>
<html>
<head>
<title>User Dashboard</title>
<meta charset="utf-8" name="viewport" content="width=device-width,intial-scale=1">
<link rel="stylesheet" type="text/css" href="../bootstrap-4.4.1/css/bootstrap.min.css">
<script type="text/javascript" src="../bootstrap-4.4.1/js/juqery_latest.js"></script>
<script type="text/javascript" src="../bootstrap-4.4.1/js/bootstrap.min.js"></script>
<style type="text/css">
#side_bar{
background-color: whitesmoke;
padding: 50px;
width: 300px;
height: 450px;
}
</style>
</head>
<body>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4">
<form action="" method="post">
<div class="form-group">
<label>Book Name:</label>
<input type="text" name="book_name" class="form-
control" required="">
</div>
<div class="form-group">
<label>Book Author:</label>
<select class="form-control" name="book_author">
<option>-Select author-</option>
<?php
$connection =
mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "select author_name from
authors";
$query_run = mysqli_query($connection,
$query);
while($row =
mysqli_fetch_assoc($query_run)){
?>
<option><?php echo
$row['author_name'];?></option>
<?php
}
?>
</select>
<div class="form-group">
<label>Book Number:</label>
<input type="text" name="book_no" class="form-control"
required="">
</div>
<div class="form-group">
<label>Student ID:</label>
<input type="text" name="student_id" class="form-
control" required="">
</div>
<div class="form-group">
<label>Issue Date:</label>
<input type="text" name="issue_date" class="form-
control" value="<?php echo date("Y-m-d");?>" required="">
</div>
</div>
<button class="btn btn-primary" name="issue_book">Issue
Book</button>
</form>
</div>
<div class="col-md-4"></div>
</div>
</body>
</html>
<?php
if(isset($_POST['issue_book'])){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "insert into issued_books values(null,
$_POST[book_no],'$_POST[book_name]','$_POST[book_author]',
$_POST[student_id],1,'$_POST[issue_date]')";
$query_run = mysqli_query($connection,$query);
}
?>
<?php
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$query = "delete from books where book_no = $_GET[bn]";
$query_run = mysqli_query($connection,$query);
?>
<script type="text/javascript">
alert("Book Deleted...");
window.location.href = "manage_book.php";
</script>
FUNCTIONS BUNCH FILE CODE SNIPPET
<?php
function get_user_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$user_count = "";
$query = "select count(*) as user_count from users";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$user_count = $row['user_count'];
}
return($user_count);
}
function get_book_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$book_count = "";
$query = "select count(*) as book_count from books";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$book_count = $row['book_count'];
}
return($book_count);
}
function get_category_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$cat_count = "";
$query = "select count(*) as cat_count from category";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$cat_count = $row['cat_count'];
}
return($cat_count);
}
function get_author_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$author_count = "";
$query = "select count(*) as author_count from authors";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$author_count = $row['author_count'];
}
return($author_count);
}
function get_issued_book_count(){
$connection = mysqli_connect("localhost","root","");
$db = mysqli_select_db($connection,"lms");
$issued_book_count = "";
$query = "select count(*) as issued_book_count from issued_books";
$query_run = mysqli_query($connection,$query);
while($row = mysqli_fetch_assoc($query_run)){
$issued_book_count = $row['issued_book_count'];
}
return($issued_book_count);
}
?>
<form id="PrintTable">
// Code for the details receiving
</form>
<script>
function printFunction() {
var printContents = document.getElementById('PrintTable').innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
</script>
<input type="button" value="Print" onclick="printFunction()">
4.2 Table descriptions
Table name:
Admin
Author
Books
Category
Issued_books
Logs
Returned_table
Users
4.3 Commands
-- Indexes for table `admins`
ALTER TABLE `admins`
ADD PRIMARY KEY (`id`);
Foreign Keys:
INSERT INTO `users` (`id`, `name`, `email`, `password`, `mobile`, `address`) VALUES
(1, 'user', 'user@gmail.com', 'hi', 2147483644, ' Jaipur'),
(2, 'hemant', 'hemant@gmail.com', 'bengalore', 2147483644, 'Hubli'),
(8, 'shubhankar', 'shubhankarsharma22@gmail.com', 'delhi', 2147483647, 'Bilekahalli,blr'),
(11, 'shravanthmr9602@gmail.com', 'shravanthmr9602@gmail.com', 'yo', 544652351,
'Bengaluru'),
(12, 'Sanskriti Singh', 'sanskriti123@gmail.com', '123', 1112223334, 'kengeri,Bengaluru\r\n');
4.5 Queries
The below mentioned queries are all embedded in the PHP scripting language in
our database:
$query = "insert into authors values('','$_POST[author_name]',
$_POST[No_Of_Books],'$_POST[Origin]','$_POST[Gender]')";
This query is meant to insert the data into the author table from the use, using the POST
method.
$query = "insert into books
values(null,'$_POST[book_name]','$_POST[book_author]','$_POST[book_cat]',
$_POST[book_no],$_POST[book_price])";
This query is running to insert the details of the new book added by the admin into the
books table.
header("Location:admin_dashboard.php");
}
The above lines of code contains the query where according to inserted email id the
password is fetched and verified to let the admin have the access.
$address = $_POST["address"];
$query = "update users set password = '".$address."' where email =
'$_SESSION[email]'";
This query is in continuation is connected to trigger. Where here the password updation is
taking place provided by the user. Then the trigger passes the details of the user who
changed the password to the logs table.
And many more queries are present for the user for login, retrieving which may be
repetitive for the report as well indirectly listed above.
4.6 TRIGGERS
AFTER
UPDATE ON `users`
This is a MySQL trigger that is activated after an update on the "users" table.
The trigger will execute a query that inserts a new row into a table called
"logs", with the values of the "id", "email" and "address" fields from the old
and new versions of the updated row in the "users" table. In other words, this
trigger will keep a log of the updates made to the user's table on the logs
table for auditing purposes.
This will take place when the user will update it password to their profile
and it becomes necessary for the admin to know the people who opted to
change their password.
CHAPTER 5
RESULT
Screenshots
Here the address interface for different pages are shown in images which are made on php.
The above 3 screenshots are Admin, Login, Registration which are made to address two
characters ADMIN and the USER.
For the new USER registration page is provided which collects (Full Name, Email ID,
Password, Mobile Number, Address) and save it to SQL table called “users”.
And for the login purpose the ‘USER LOGIN’ and ‘ADMIN LOGIN’ pages are made
which takes email and the password as the detail and it verifies the details from ‘users’
and ‘admin’ table. And provide them the access.
Admin Dashboard
The admin dashboard is provided with the navigation bar which provides access to the
features as Books, Category, Author, Issue Book, Return Record.
And the card through which we can access list of ‘Registered Users’, ‘Registered Books’,
‘Registered Categories’, ‘Registered Authors’, ‘View Issued Books’.
Registered Users
Registered User provides the details of user ('Name’, ’Email’, ’Mobile Number’,
’Address’).
Registered Books
This registered book page provides the details of book(Name, Author, Price, Number).
Registered Categories
This page shows the categories name.
Registered Authors
The registered author page provides the details regarding author as (‘Author id’, ’Name’,
’No. Of Books’, ’Origin’, ’Gender’)
Issued Books
The issued books provide the details of the issued books only as (‘Name’, ’Author’,
’Number’, ’Student Name’).
Add Books
Manage Books
In the navigation bar ‘books’ it’s a rollout menu which lists the ‘Add Book’, and
‘Manage book’.
As in the Add Book name suggest it is the place to list up the details of new book (‘New
Book’, ‘Book Author’, ‘Category Name’, ‘No. Of Books’, ‘Book Price’).
In the Manage Book it is the place where the deletion and editing of the details(‘Name’,
‘Author’, ‘Category’, ‘Number’, ‘Price’, ‘Action’) of book can be managed.
Add Categories
Manage Categories
In the navigation bar the next rollout menu is ‘Category’ which has ‘Add Category’ and
‘Manage Category’ of books.
In the Add Category we takes only ’category name’.
In the Manage Category we have ability to edit and delete the Category which are derived
from the ‘Category Table’.
Add Author
Manage Author
In the navigation bar the menu button with ‘Author’ also provide the list of operations
such as ‘Add Author’ and ‘Manage Author’.
In the ‘Add Author’ page we can add the ‘Author Name’ ,’No. Of Books’, ‘Origin’,
’Gender’ and it get placed in ‘Author’ Table.
In the ‘Manage Author’ page the details are received from the Author table and it also
provide the action with ‘edit’ and ‘delete’.
In the Issue Book option the main functionality of the project start where the user details
are taken to issue the book and the details which are taken are ‘Book Name’, ‘Book
Author(Which are meant to lest out all the authors in the database)’,’Book Number’ ,
‘Student ID’, ‘Issue Date(Which can be modified and also by default it is the current day
date)’
Return File
Here all the issue books will be listed with the name of the borrower and also is
scheduled with the Book Number as book number must be unique.
Here the feature of returning the book is also provided. With the printing list feature
which provide the PDF formate of the list of the issued books.
Returned Record
Here the last functionality of complete cycle takes place where the returned books with
the borrower is published and also the issue date and return date is also provided which
helps to find out the return date as well.
Also it has the printing feature which can reflect the list of books returned as well in the
PDF format.
User Dashboard
For the purpose of user uses the project is provided with the separate login for
user and it has the dashboard.
The user is provided with only capability of viewing the book issued by him/her.
And the user is not having access to alter the database.
User Issued Book
Edit-Profile
Here the user is having capability to provide the change the password for one’s and it is
supported by the trigger which helps in generating a record related the user who changed the
password. And the table in which all the details of the person who changed the record is ‘logs’
table.
View Profile
Here the user can check the details provided by him/her at the time of account creation.
Here the user can check what are the books issued on his/her name. And also can check
the ‘Book Number’ which is issued, ’Author Name’ and the ‘Book Name’.
CHAPTER 6
CONCLUSION
SUMMARY:
The project is made to address the management of the Library and the activities which are
necessary to be addressed. This project is made under the shadow of the DBMS mini-project.
The project is made to be commonplace for both the admin as well as for the user.
Here the user will be provided to make a registration for creating an account. After the username
and password, the user will be able to log in to the account. The account is meant necessary for
the issuing of the book. And to check the available books in the library. Also, the books are
categorized on the bases of their jonares. Through those categories, the user will be able to
explore more books. The portal will also give other details about the books available in the
library.
The portal will provide to add the new admin for the library staff. Through which the books can
be issued to the user in their name. Also, it will show the list of books under the status of the
issue. The admin will be able to add the books to the collection and add the details regarding the
books. The advantage of this portal is that it needs no separate machine and software to run the
portal. But just requires the basic computer installed with XAMPP and a browser.
Limitations:
Limited performance: Both PHP and MySQL can be less performant than other languages and
databases when handling large amounts of data or performing complex calculations, particularly
when dealing with high concurrency.
Limited scalability: While MySQL and PHP can handle large amounts of data, they may not
scale as well as other languages and databases in terms of handling a large number of concurrent
users or requests. Also it is not necessary for this project to use only MySQL but also NoSQL.
Security vulnerabilities: As with any system, if the PHP code and MySQL database are not
properly secured, there may be security vulnerabilities that can be exploited by attackers. Also
with just the php page path we can manipulate data and so it can be tempered with just the page
path.
Limited support for modern features: Both PHP and MySQL are older technologies and may not
have built-in support for newer technologies and features, such as machine learning or web
assembly. Also the lack of version continuity and also the legacy features are suddenly
terminated in php v5.0 to v7.0.
Future Enhancement
In a nutshell, it can be summarized that the future scope of the project circles around maintaining
information regarding:
● Going through library books and their availability as and where we are.
● The platform can be hosted on the online servers to make it accessible worldwide.
different servers.
The above-mentioned points are the enhancements which can be done to increase the
applicability and usage of this project.
CHAPTER 7
Bibliography
Web References
1. https://www.w3schools.in/dbms/intro/
2. https://www.youtube.com/
3. https://getbootstrap.com/
4. https://developer.mozilla.org/en-US/
5. https://www.erdplus.com/
6. https://www.google.com/
7. Https://mysql.com/
Book References
1. Fundamentals of Database Systems, RamezElmasri and Shamkant B. Navathe, 7th Edition,
2017, Pearson