SlideShare a Scribd company logo
1 of 56
Download to read offline
IFT 530 – Advanced Database Management System
INTEGRATED LIBRARY SYSTEM
Kurada Sai Bhuvana
1224272946
Professor: Robert Rucker
Due Date: 4th
December 2022
SECTION 0:
Summary:
As an idea for the project, I chose the Integrated Library System. It makes it easy to enter book
inventory and get information about books available in the library, book transactions, and book
owners.
This system allows borrowers to see the number of books and books in the library. Borrowers who
are members are given a unique identifiable ID. The Integrated Library System has the following
main features: author and publisher.
• Create user records containing member and non-member information along with data about
librarians. The entities in the model are Libraries, Librarians, Books, Borrowers, Authors, and
Publishers.
The ORM model:
SECTION 1:
1. Introduction:
A library is a place where all kinds of books are available in paperback or digital form. Today, an
institution's library is not only responsible for maintaining a database of books, but must also
maintain a database of all students, and faculty and non-faculty members of the institution. When
did you borrow the book and when should you return it?
In the past, all these records and databases were maintained manually, so an integrated library
system was chosen as the project idea. The biggest problem with manual record keeping is that it
is unreliable and takes a lot of time and effort to keep track of the books. Nor was it possible to
keep track of all published and returned books and make them available centrally.
Digital Integrated Library Systems ensure no data redundancy and minimize the level of error that
exists in manually maintained database systems.
The integrated library system which I am developing will enable a complete digital library service
by ensuring that only authorized users can access the system. This makes it easier to enter your
book inventory and get information about library availability, book transactions, and book owners.
This system allows borrowers to check out the number of books they have in the library. This
system provides separate views for librarians and borrowers. A borrower with a membership is
given a unique identifiable ID.
The importance of LMS is that it will help the public and university libraries to easily maintain the
records for the borrowers/students as well as the books. This will also help track a book which is
been already issued. Also, for instance, as ASU has multiple libraries this will help maintain a
centralized record which will be helpful for students as well to check which library has the desired
book.
Integrated Library System has the following major functions:
• Add or remove books from your book inventory
• Track and calculate book loan and return dates
• Include information such as quantity of books, information about books, by book type, and where
books are located and Maintain an inventory of each book
• Marinate transaction records for published books.
• Create a user record that includes information for both member users and guest users.
A model (blueprint) is created to specify how data is stored, arranged, and manipulated in the
database. This design considers where the data is stored, how the data is categorized, and how the
data in the various tables in the database interact.
2. Context:
A library is a collection of information sources. These related materials have created a distinct
community of readers, students, and others who can more easily access and borrow books.
Find books and access journals quickly with the Library Database Management System. Library
automation systems automate standard library procedures to reduce the workload of library staff.
Ensures consistency and high quality of recordings. The information industry has grown as
individuals have come to appreciate information more, and technology has changed the
expectations of library users. It offers libraries both opportunities and responsibilities.
The Integrated Library System is used to manage more complex tasks, allowing librarians to
manage library resources more efficiently, saving time and effort.
An integrated library system helps librarians and library users work more efficiently. It also makes
it easier for librarians to catalog books and track published, reissued, and unreturned books.
By adopting a library management system, you can quickly reduce the number of personnel and
employees without using paper and store various manual files. It also reduces the number of
manual files by allowing a large amount of data to be stored on one system.
The entities recognized in the Consolidated Integrated Library System project are:
• Librarian: The Librarian entity has the basic employer details
• Name and Staff ID. It shares a many-to-one relationship with the library - a
library can have many librarians, but a librarian can only work with one library.
• Second library: The library unit has a reference name and the address of the
library.
• Borrowers: Borrower entities come in two types, members and non-members,
and have references such as name and ID, which are the basic details that must
be entered to publish a book. . It has a many-to-many relationship with the
library. Many borrowers can borrow from many libraries, and many libraries
can be visited by many borrowers.
• Book: The Book entity has Author Name, Book Name, and Publisher Name,
and is divided into two subtypes:
Fiction and Non-Fiction. It shares many-to-many relationships with the library.
Many libraries can have many books, and many books can belong to many
libraries.
• Publisher: The Publisher entity has attributes such as Publisher ID and
Publisher Name. There is a one-to-many relationship with books. For each book
he can only have one publisher, but one publisher can publish many books.
• Author: The Author entity has two attributes of him, such as author name. There
are male and female authors. There is a many-to-many relationship with books.
Many authors can publish many books and vice versa.
Databases implemented in the project:
• LMS is implemented using SQL and NoSQL databases (MSSQL and Couchbase respectively).
• MSSQL is a relational database developed by Microsoft and created for its primary ability to
store and retrieve data in a table-based structure.
• Couchbase is a document-oriented, distributed NoSQL database that uses JSON documents in a
key-value structure to store and retrieve data.
• The SQL implementation creates a table for the above entity and runs multiple queries using SQL
on the inserted data and adds constraints to retrieve the stored data.
• NoSQL implementation extends the same entity to create a bucket and insert data in JSON
format. Queries are written in SQL++ (N1QL for Couchbase) to retrieve, insert, and update data.
• Also analyze the functional differences between SQL databases and his NoSQL databases to
understand the advantages of each.
3. Queries which SQL database is answering:
• To show the values of the Books table where book name is Harry Potter –
Select * from Schema1.Books
where booksName='Harry Potter'
SECTION 2:
ORM Diagram
SECTION 3:
Relational schema
Generated SQL code from ORM:
CREATE TABLE Schema1.Publisher
(
publisherName nvarchar(max) NOT NULL,
publisherId nvarchar(max) NOT NULL,
CONSTRAINT Publisher_PK PRIMARY KEY(publisherName),
CONSTRAINT Publisher_UC UNIQUE(publisherId)
)
GO
CREATE TABLE Schema1.BorrowerReturnsBooksOnDate
(
booksName nvarchar(max) NOT NULL,
borrowerId int NOT NULL,
“date” nvarchar(max) NOT NULL,
CONSTRAINT BorrowerReturnsBooksOnDate_PK PRIMARY KEY(borrowerId,
booksName)
)
GO
)
CREATE TABLE Schema1.BooksIsAuthoredByAuthor
(
authorName nvarchar(max) NOT NULL,
booksName nvarchar(max) NOT NULL,
CONSTRAINT BooksIsAuthoredByAuthor_PK PRIMARY KEY(booksName,
authorName)
)
GO
CREATE TABLE Schema1.”LibraryLendsTo/VisitsBorrower”
(
borrowerId int NOT NULL,
libraryName nvarchar(max) NOT NULL,
CONSTRAINT “LibraryLendsTo/VisitsBorrower_PK” PRIMARY KEY(borrowerId,
libraryName)
)
GO
ALTER TABLE Schema1.BorrowerBorrowsBooksOnDate ADD CONSTRAINT
BorrowerBorrowsBooksOnDate_FK1 FOREIGN KEY (borrowerId) REFERENCES
Schema1.Borrower (borrowerId) ON DELETE NO ACTION ON UPDATE NO ACTION
GO
GO
ALTER TABLE Schema1.FemaleAuthor ADD CONSTRAINT FemaleAuthor_FK FOREIGN
KEY (femaleAuthorName) REFERENCES Schema1.Author (authorName) ON DELETE NO
ACTION ON UPDATE NO ACTION
GO
ALTER TABLE Schema1.NonMember ADD CONSTRAINT NonMember_FK FOREIGN KEY
(nonMemberId) REFERENCES Schema1.Borrower (borrowerId) ON DELETE NO ACTION ON
UPDATE NO ACTION
GO
ALTER TABLE Schema1.BooksIsAuthoredByAuthor ADD CONSTRAINT
BooksIsAuthoredByAuthor_FK1 FOREIGN KEY (booksName) REFERENCES Schema1.Books
(booksName) ON DELETE NO ACTION ON UPDATE NO ACTION
GO
GO
ALTER TABLE Schema1.LibraryHasBooks ADD CONSTRAINT LibraryHasBooks_FK2
FOREIGN KEY (booksName) REFERENCES Schema1.Books (booksName) ON DELETE NO
ACTION ON UPDATE NO ACTION
GO
GO
SECTION 4:
Relational Tables and rows
Using DDL commands, created tables for the Library management system—
Adding table and column constraints –
I used UNIQUE and NOT NULL constraints to satisfy the table and column constraints
respectively, as implemented in the following query.
Adding Foreign key constraints –
I have created two foreign key constraints that meet my requirements as implemented in the query
below.
Using DML commands, inserting at least 5 values in the table –
• Values inserted in Author table
• Values entered in Books table
• Values entered in Borrower table,
• Values entered in Publisher table
• Values entered in Library table
• Values entered in Librarian table
• Showing the books table whose book name is Harry Potter
Using DML commands, showing values in the table inserted
• BOOKS TABLE
• AUTHOR TABLE
• BORROWER TABLE
• LIBRARIAN TABLE
• LIBRARY TABLE
• PUBLISHER TABLE
SECTION 5
SECTION 5.1
Queries executed while developing the Integrated Library System :--
1. Create table
2. Alter table and add constraint
3. Insert values in table
4. Trigger creation
5. Stored procedure
SECTION 6:
COUCHBASE(NOSQL) configuration
I have configured the couchbase server and its quick for use.
Recorddatabases, graphdatabases, keyvalue pairs, and large column stores are all instances of
NoSQL or non-relational databases. A NoSQL database does not require a specific schema. So
you have more freedom to work with "unstructured data".
NoSQL databases are designed to manage the more complex and unstructured data (text, social
media posts, images, videos, emails, etc.) that make up part of today's data. N1QL organizes data
into keyspaces. This is a huge collection of free-form text. By embedding statement attributes in
the intended result object structure, N1QL enables data transformation.
NoSQL database systems are a compilation of database systems that can store up structured, semi-
structured, unstructured, and polymorphic data.
There are two main options for access.
1. REST API:This refers to sending requests to endpoints connected to a specific function.
2. Vendor Specific Language CRUD (Create, Read, Update, Delete):
With Mongo DB you will find that there is a special way to query.
The Couchbase structures are as follows:
• Cluster
• Bucket
• Scope
• Collection
• Document (JSON)
Compared to relational databases, scaling NoSQL databases is much more cost-effective as
capacity can be added horizontally via inexpensive off-the-shelf servers.
SECTION 6.1
Entities that extend by nesting are libraries (address fields) and library tables. Connect both entities
to the Library Name field.
SECTION 6.2
• Created 2 Buckets:
• Created primary index for library.
• Established primary index for librarian.
SECTION 6.3
• Inserting values in library table.
• Inserting values in librarian table.
• JSON documents to represent data inserted –
SECTION 6.4
• Creating dataset of library
• Creating dataset of librarian
• Connected the Local link
A. OUTER JOIN on NESTED documents –
The library bucket contains the field “address” consisting of the nested key-value
pairs of city, street and zipcode.
FROM library AS l
LEFT OUTER JOIN librarian AS c ON l.LibraryName = c.LibraryName
SELECT l.address
ORDER BY l.LibraryName
SECTION 7:
Summary:
For this project, I followed a conceptual schema design process to create an object role modeling
diagram, from which I derived a relational model view. Then I generated the SQL code and
implemented it in MS SQL using SQL Server Management Studio. I have now created the database
master, Schema Schema1, table Library, Librarian, Author, Books, Publisher, and Borrower and
inserted data into them. Then I added the necessary constraints. Use constraints to impose specific
protocols on your database. Then I implemented a trigger to perform a predefined action after a
certain event occurred. And further also implemented stored procedures to make our SQL code
more reusable.
Next, I developed a NoSQL database using Couchbase and created two buckets:
Library and Librarian. After indexing and inserting data into the query service, I created a dataset
for the bucket and linked the data from the query service to the analytics service.
You ran a SQL++ query against the Analytics service that included creating a JOIN against a
nested document.
In this way, the question posed in the original proposal could be successfully answered by tracking
borrower details and maintaining books with author and publisher details in libraries served by
librarians.
Conclusion:
To run this project, I implemented MSSQL and Couchbase to develop SQL and NoSQL databases.
In doing so, I deduced the difference in behavior between SQL and NoSQL.
It turns out that SQL DB’s get table-based data structures with precisely predefined schemas. A
NoSQL database does not involve a specific schema. So you have additional independence to work
with "unstructured data". Running an SQL query returns a set of rows. Each row contains one or
more columns, and each row has the same columns. N1QL, on the other hand, organizes data into
key-value pairs. This is a huge collection of free-form text. By embedding statement attributes in
the intended result object structure, N1QL enables data transformation. SQL uses CRUD
operations in many relational database engines such as MySQL, PostgreSQL, and Microsoft SQL
Server. As for access, queries are written in CRUD syntax, as they are usually raw SQL. NoSQL
uses REST APIs and CRUD operations to access data. NoSQL is horizontally scalable and
RDBMS is vertically scalable.
This can be further extended to her GUI-based application that provides portals to users based on
their access rights.
References:
• Wang, Y., & Dawes, T. A. (2012). The next generation integrated library system: a promise
fulfilled?. Information technology and libraries, 31(3), 76-84.
• Yeh, S. T., & Walter, Z. (2016). Critical success factors for integrated library system
implementation in academic libraries: A qualitative study. Information Technology and
libraries, 35(3), 27-42.
• Brown, M. C. (2013). Developing with Couchbase Server: Building Scalable, Flexible
Database-Based Applications. " O'Reilly Media, Inc.".

More Related Content

Similar to Advanced Database Management System for Integrated Library System

Federated to library discovery platfoms
Federated to library discovery platfomsFederated to library discovery platfoms
Federated to library discovery platfomsNikesh Narayanan
 
The Library Management system (LMS).pptx
The Library Management system (LMS).pptxThe Library Management system (LMS).pptx
The Library Management system (LMS).pptxMuhammadNaeem491
 
Using lib guides as a web 2 platform and collaboration tool for engineering l...
Using lib guides as a web 2 platform and collaboration tool for engineering l...Using lib guides as a web 2 platform and collaboration tool for engineering l...
Using lib guides as a web 2 platform and collaboration tool for engineering l...Richard Bernier
 
A database design_report_for_college_library final
A database design_report_for_college_library finalA database design_report_for_college_library final
A database design_report_for_college_library finalSaira Iqbal
 
Implementing web scale discovery services: special reference to Indian Librar...
Implementing web scale discovery services: special reference to Indian Librar...Implementing web scale discovery services: special reference to Indian Librar...
Implementing web scale discovery services: special reference to Indian Librar...Nikesh Narayanan
 
International library management systems
International library management systemsInternational library management systems
International library management systemsprj_publication
 
International library management systems
International library management systemsInternational library management systems
International library management systemsprjpublications
 
The Future of Serials Cataloging
The Future of Serials CatalogingThe Future of Serials Cataloging
The Future of Serials CatalogingSue Gardner
 
Building a career on a single general research question
Building a career on a single general research questionBuilding a career on a single general research question
Building a career on a single general research questionSteven MacCall
 
Library management System
Library management SystemLibrary management System
Library management Systemsaradateja
 
Presentation LIBRARY MANAGEMENT SYSTEM
Presentation LIBRARY MANAGEMENT SYSTEM Presentation LIBRARY MANAGEMENT SYSTEM
Presentation LIBRARY MANAGEMENT SYSTEM binrehmat
 
Object-oriented analysis and design
Object-oriented analysis and designObject-oriented analysis and design
Object-oriented analysis and designAhmed Elnaggar
 
Linked data and the future of libraries
Linked data and the future of librariesLinked data and the future of libraries
Linked data and the future of librariesRegan Harper
 
integrated library system
integrated library systemintegrated library system
integrated library systemSeerat Chishti
 

Similar to Advanced Database Management System for Integrated Library System (20)

Resource discovery tools
Resource discovery toolsResource discovery tools
Resource discovery tools
 
Federated to library discovery platfoms
Federated to library discovery platfomsFederated to library discovery platfoms
Federated to library discovery platfoms
 
The Library Management system (LMS).pptx
The Library Management system (LMS).pptxThe Library Management system (LMS).pptx
The Library Management system (LMS).pptx
 
DOCUMENTATION
DOCUMENTATIONDOCUMENTATION
DOCUMENTATION
 
Using lib guides as a web 2 platform and collaboration tool for engineering l...
Using lib guides as a web 2 platform and collaboration tool for engineering l...Using lib guides as a web 2 platform and collaboration tool for engineering l...
Using lib guides as a web 2 platform and collaboration tool for engineering l...
 
Vils krishna
Vils krishnaVils krishna
Vils krishna
 
A database design_report_for_college_library final
A database design_report_for_college_library finalA database design_report_for_college_library final
A database design_report_for_college_library final
 
Beyond gsafd
Beyond gsafdBeyond gsafd
Beyond gsafd
 
Implementing web scale discovery services: special reference to Indian Librar...
Implementing web scale discovery services: special reference to Indian Librar...Implementing web scale discovery services: special reference to Indian Librar...
Implementing web scale discovery services: special reference to Indian Librar...
 
International library management systems
International library management systemsInternational library management systems
International library management systems
 
International library management systems
International library management systemsInternational library management systems
International library management systems
 
The Future of Serials Cataloging
The Future of Serials CatalogingThe Future of Serials Cataloging
The Future of Serials Cataloging
 
Building a career on a single general research question
Building a career on a single general research questionBuilding a career on a single general research question
Building a career on a single general research question
 
Library management System
Library management SystemLibrary management System
Library management System
 
Presentation LIBRARY MANAGEMENT SYSTEM
Presentation LIBRARY MANAGEMENT SYSTEM Presentation LIBRARY MANAGEMENT SYSTEM
Presentation LIBRARY MANAGEMENT SYSTEM
 
Object-oriented analysis and design
Object-oriented analysis and designObject-oriented analysis and design
Object-oriented analysis and design
 
Cataloguing for online libraries
Cataloguing for online librariesCataloguing for online libraries
Cataloguing for online libraries
 
Breeding, Introducing the Open Discovery Initiative
Breeding, Introducing the Open Discovery InitiativeBreeding, Introducing the Open Discovery Initiative
Breeding, Introducing the Open Discovery Initiative
 
Linked data and the future of libraries
Linked data and the future of librariesLinked data and the future of libraries
Linked data and the future of libraries
 
integrated library system
integrated library systemintegrated library system
integrated library system
 

Recently uploaded

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Advanced Database Management System for Integrated Library System

  • 1. IFT 530 – Advanced Database Management System INTEGRATED LIBRARY SYSTEM Kurada Sai Bhuvana 1224272946 Professor: Robert Rucker Due Date: 4th December 2022
  • 2. SECTION 0: Summary: As an idea for the project, I chose the Integrated Library System. It makes it easy to enter book inventory and get information about books available in the library, book transactions, and book owners. This system allows borrowers to see the number of books and books in the library. Borrowers who are members are given a unique identifiable ID. The Integrated Library System has the following main features: author and publisher. • Create user records containing member and non-member information along with data about librarians. The entities in the model are Libraries, Librarians, Books, Borrowers, Authors, and Publishers. The ORM model:
  • 3. SECTION 1: 1. Introduction: A library is a place where all kinds of books are available in paperback or digital form. Today, an institution's library is not only responsible for maintaining a database of books, but must also maintain a database of all students, and faculty and non-faculty members of the institution. When did you borrow the book and when should you return it? In the past, all these records and databases were maintained manually, so an integrated library system was chosen as the project idea. The biggest problem with manual record keeping is that it is unreliable and takes a lot of time and effort to keep track of the books. Nor was it possible to keep track of all published and returned books and make them available centrally. Digital Integrated Library Systems ensure no data redundancy and minimize the level of error that exists in manually maintained database systems. The integrated library system which I am developing will enable a complete digital library service by ensuring that only authorized users can access the system. This makes it easier to enter your book inventory and get information about library availability, book transactions, and book owners. This system allows borrowers to check out the number of books they have in the library. This system provides separate views for librarians and borrowers. A borrower with a membership is given a unique identifiable ID. The importance of LMS is that it will help the public and university libraries to easily maintain the records for the borrowers/students as well as the books. This will also help track a book which is been already issued. Also, for instance, as ASU has multiple libraries this will help maintain a centralized record which will be helpful for students as well to check which library has the desired book.
  • 4. Integrated Library System has the following major functions: • Add or remove books from your book inventory • Track and calculate book loan and return dates • Include information such as quantity of books, information about books, by book type, and where books are located and Maintain an inventory of each book • Marinate transaction records for published books. • Create a user record that includes information for both member users and guest users. A model (blueprint) is created to specify how data is stored, arranged, and manipulated in the database. This design considers where the data is stored, how the data is categorized, and how the data in the various tables in the database interact. 2. Context: A library is a collection of information sources. These related materials have created a distinct community of readers, students, and others who can more easily access and borrow books. Find books and access journals quickly with the Library Database Management System. Library automation systems automate standard library procedures to reduce the workload of library staff. Ensures consistency and high quality of recordings. The information industry has grown as individuals have come to appreciate information more, and technology has changed the expectations of library users. It offers libraries both opportunities and responsibilities. The Integrated Library System is used to manage more complex tasks, allowing librarians to manage library resources more efficiently, saving time and effort. An integrated library system helps librarians and library users work more efficiently. It also makes it easier for librarians to catalog books and track published, reissued, and unreturned books. By adopting a library management system, you can quickly reduce the number of personnel and employees without using paper and store various manual files. It also reduces the number of manual files by allowing a large amount of data to be stored on one system.
  • 5. The entities recognized in the Consolidated Integrated Library System project are: • Librarian: The Librarian entity has the basic employer details • Name and Staff ID. It shares a many-to-one relationship with the library - a library can have many librarians, but a librarian can only work with one library. • Second library: The library unit has a reference name and the address of the library. • Borrowers: Borrower entities come in two types, members and non-members, and have references such as name and ID, which are the basic details that must be entered to publish a book. . It has a many-to-many relationship with the library. Many borrowers can borrow from many libraries, and many libraries can be visited by many borrowers. • Book: The Book entity has Author Name, Book Name, and Publisher Name, and is divided into two subtypes: Fiction and Non-Fiction. It shares many-to-many relationships with the library. Many libraries can have many books, and many books can belong to many libraries. • Publisher: The Publisher entity has attributes such as Publisher ID and Publisher Name. There is a one-to-many relationship with books. For each book he can only have one publisher, but one publisher can publish many books. • Author: The Author entity has two attributes of him, such as author name. There are male and female authors. There is a many-to-many relationship with books. Many authors can publish many books and vice versa. Databases implemented in the project: • LMS is implemented using SQL and NoSQL databases (MSSQL and Couchbase respectively). • MSSQL is a relational database developed by Microsoft and created for its primary ability to store and retrieve data in a table-based structure. • Couchbase is a document-oriented, distributed NoSQL database that uses JSON documents in a key-value structure to store and retrieve data.
  • 6. • The SQL implementation creates a table for the above entity and runs multiple queries using SQL on the inserted data and adds constraints to retrieve the stored data. • NoSQL implementation extends the same entity to create a bucket and insert data in JSON format. Queries are written in SQL++ (N1QL for Couchbase) to retrieve, insert, and update data. • Also analyze the functional differences between SQL databases and his NoSQL databases to understand the advantages of each. 3. Queries which SQL database is answering:
  • 7.
  • 8.
  • 9. • To show the values of the Books table where book name is Harry Potter – Select * from Schema1.Books where booksName='Harry Potter'
  • 10.
  • 14. publisherId nvarchar(max) NOT NULL, CONSTRAINT Publisher_PK PRIMARY KEY(publisherName), CONSTRAINT Publisher_UC UNIQUE(publisherId) ) GO CREATE TABLE Schema1.BorrowerReturnsBooksOnDate ( booksName nvarchar(max) NOT NULL, borrowerId int NOT NULL, “date” nvarchar(max) NOT NULL,
  • 15. CONSTRAINT BorrowerReturnsBooksOnDate_PK PRIMARY KEY(borrowerId, booksName) ) GO
  • 17. authorName nvarchar(max) NOT NULL, booksName nvarchar(max) NOT NULL, CONSTRAINT BooksIsAuthoredByAuthor_PK PRIMARY KEY(booksName, authorName) ) GO CREATE TABLE Schema1.”LibraryLendsTo/VisitsBorrower” ( borrowerId int NOT NULL, libraryName nvarchar(max) NOT NULL, CONSTRAINT “LibraryLendsTo/VisitsBorrower_PK” PRIMARY KEY(borrowerId, libraryName) ) GO
  • 18. ALTER TABLE Schema1.BorrowerBorrowsBooksOnDate ADD CONSTRAINT BorrowerBorrowsBooksOnDate_FK1 FOREIGN KEY (borrowerId) REFERENCES Schema1.Borrower (borrowerId) ON DELETE NO ACTION ON UPDATE NO ACTION GO
  • 19. GO ALTER TABLE Schema1.FemaleAuthor ADD CONSTRAINT FemaleAuthor_FK FOREIGN KEY (femaleAuthorName) REFERENCES Schema1.Author (authorName) ON DELETE NO ACTION ON UPDATE NO ACTION GO
  • 20. ALTER TABLE Schema1.NonMember ADD CONSTRAINT NonMember_FK FOREIGN KEY (nonMemberId) REFERENCES Schema1.Borrower (borrowerId) ON DELETE NO ACTION ON UPDATE NO ACTION GO ALTER TABLE Schema1.BooksIsAuthoredByAuthor ADD CONSTRAINT BooksIsAuthoredByAuthor_FK1 FOREIGN KEY (booksName) REFERENCES Schema1.Books (booksName) ON DELETE NO ACTION ON UPDATE NO ACTION GO
  • 21. GO ALTER TABLE Schema1.LibraryHasBooks ADD CONSTRAINT LibraryHasBooks_FK2 FOREIGN KEY (booksName) REFERENCES Schema1.Books (booksName) ON DELETE NO ACTION ON UPDATE NO ACTION GO GO
  • 22. SECTION 4: Relational Tables and rows Using DDL commands, created tables for the Library management system—
  • 23. Adding table and column constraints – I used UNIQUE and NOT NULL constraints to satisfy the table and column constraints respectively, as implemented in the following query.
  • 24. Adding Foreign key constraints – I have created two foreign key constraints that meet my requirements as implemented in the query below.
  • 25. Using DML commands, inserting at least 5 values in the table – • Values inserted in Author table • Values entered in Books table
  • 26. • Values entered in Borrower table, • Values entered in Publisher table
  • 27. • Values entered in Library table • Values entered in Librarian table
  • 28. • Showing the books table whose book name is Harry Potter Using DML commands, showing values in the table inserted • BOOKS TABLE
  • 29. • AUTHOR TABLE • BORROWER TABLE
  • 30. • LIBRARIAN TABLE • LIBRARY TABLE
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. SECTION 5.1 Queries executed while developing the Integrated Library System :-- 1. Create table 2. Alter table and add constraint 3. Insert values in table
  • 38. 4. Trigger creation 5. Stored procedure
  • 39.
  • 40. SECTION 6: COUCHBASE(NOSQL) configuration I have configured the couchbase server and its quick for use. Recorddatabases, graphdatabases, keyvalue pairs, and large column stores are all instances of NoSQL or non-relational databases. A NoSQL database does not require a specific schema. So you have more freedom to work with "unstructured data". NoSQL databases are designed to manage the more complex and unstructured data (text, social media posts, images, videos, emails, etc.) that make up part of today's data. N1QL organizes data into keyspaces. This is a huge collection of free-form text. By embedding statement attributes in the intended result object structure, N1QL enables data transformation. NoSQL database systems are a compilation of database systems that can store up structured, semi- structured, unstructured, and polymorphic data. There are two main options for access. 1. REST API:This refers to sending requests to endpoints connected to a specific function. 2. Vendor Specific Language CRUD (Create, Read, Update, Delete):
  • 41. With Mongo DB you will find that there is a special way to query. The Couchbase structures are as follows: • Cluster • Bucket • Scope • Collection • Document (JSON) Compared to relational databases, scaling NoSQL databases is much more cost-effective as capacity can be added horizontally via inexpensive off-the-shelf servers.
  • 42. SECTION 6.1 Entities that extend by nesting are libraries (address fields) and library tables. Connect both entities to the Library Name field.
  • 43. SECTION 6.2 • Created 2 Buckets: • Created primary index for library.
  • 44. • Established primary index for librarian.
  • 45. SECTION 6.3 • Inserting values in library table. • Inserting values in librarian table. • JSON documents to represent data inserted –
  • 46.
  • 47. SECTION 6.4 • Creating dataset of library • Creating dataset of librarian
  • 48. • Connected the Local link
  • 49.
  • 50.
  • 51.
  • 52.
  • 53. A. OUTER JOIN on NESTED documents – The library bucket contains the field “address” consisting of the nested key-value pairs of city, street and zipcode. FROM library AS l LEFT OUTER JOIN librarian AS c ON l.LibraryName = c.LibraryName SELECT l.address ORDER BY l.LibraryName
  • 54. SECTION 7: Summary: For this project, I followed a conceptual schema design process to create an object role modeling diagram, from which I derived a relational model view. Then I generated the SQL code and implemented it in MS SQL using SQL Server Management Studio. I have now created the database master, Schema Schema1, table Library, Librarian, Author, Books, Publisher, and Borrower and inserted data into them. Then I added the necessary constraints. Use constraints to impose specific protocols on your database. Then I implemented a trigger to perform a predefined action after a certain event occurred. And further also implemented stored procedures to make our SQL code more reusable. Next, I developed a NoSQL database using Couchbase and created two buckets: Library and Librarian. After indexing and inserting data into the query service, I created a dataset for the bucket and linked the data from the query service to the analytics service. You ran a SQL++ query against the Analytics service that included creating a JOIN against a nested document. In this way, the question posed in the original proposal could be successfully answered by tracking borrower details and maintaining books with author and publisher details in libraries served by librarians.
  • 55. Conclusion: To run this project, I implemented MSSQL and Couchbase to develop SQL and NoSQL databases. In doing so, I deduced the difference in behavior between SQL and NoSQL. It turns out that SQL DB’s get table-based data structures with precisely predefined schemas. A NoSQL database does not involve a specific schema. So you have additional independence to work with "unstructured data". Running an SQL query returns a set of rows. Each row contains one or more columns, and each row has the same columns. N1QL, on the other hand, organizes data into key-value pairs. This is a huge collection of free-form text. By embedding statement attributes in the intended result object structure, N1QL enables data transformation. SQL uses CRUD operations in many relational database engines such as MySQL, PostgreSQL, and Microsoft SQL Server. As for access, queries are written in CRUD syntax, as they are usually raw SQL. NoSQL uses REST APIs and CRUD operations to access data. NoSQL is horizontally scalable and RDBMS is vertically scalable. This can be further extended to her GUI-based application that provides portals to users based on their access rights.
  • 56. References: • Wang, Y., & Dawes, T. A. (2012). The next generation integrated library system: a promise fulfilled?. Information technology and libraries, 31(3), 76-84. • Yeh, S. T., & Walter, Z. (2016). Critical success factors for integrated library system implementation in academic libraries: A qualitative study. Information Technology and libraries, 35(3), 27-42. • Brown, M. C. (2013). Developing with Couchbase Server: Building Scalable, Flexible Database-Based Applications. " O'Reilly Media, Inc.".