DDB Library Managment
DDB Library Managment
College of Computing
Title : Library management database system of dire dawa youth center Name
Id Number
Submitted on:
Submitted to:
Introduction
The dire dawa Center library currently relies on an outdated and inefficient paper-based or stand-
alone system for managing their data. Recognizing the need for improvement in data collection
and information sharing, our project aims to introduce a modern database management system to
replace the existing system. By implementing this new system, the organization will experience
enhanced efficiency and effectiveness in managing their data, ultimately benefiting both
librarians and library users. This project paper will outline the various phases involved in
developing a Library Management System specifically tailored for the dire dawa Center in a
university around sabian
Conceptual model
Entities and their attributes
Book: The Book entity represents a specific book title or work. The Book entity serves as a
central reference for all copies of a particular book. Its attributes are :
•
• Book_id (primary key)
• Title
• Authors
• ISBN/ISSN
• Publication_year
• Publisher
• Edition
• Genre
Copy: The Copy entity represents a physical instance or unit of a book. Its attributes are :
•
• Copy_id (primary key)
• Book_id (foreign key)
• Location
• Condition
• Availability_status
Library Member: The Library Member entity represents an individual who has registered as a
member of the library.Library members can borrow books, interact with librarians, and engage in
transactions within the library system. Its attributes are :
•
• Member_id (primary key)
• Name
• Address
• Contact_number
• Memeber_email
Librarian: The Librarian entity represents an individual who works at the library, responsible
for managing library operations, assisting library members, and facilitating transactions. Its
attributes are :
•
• Librarian_id (primary key)
• Librarian_name
• Contact_number
• Librarian_email
Transaction: The Transaction entity represents a specific interaction or activity that occurs
between a Library Member and the library. It captures details about the borrowing, return,
renewal, or other operations related to a Copy of a Book. Its attributes are :
•
• Transaction_id (primary key)
• Copy_id (foreign key)
• Librarian_id (foreign key)
• Member_id (foreign key)
• Transaction_type
• Timestamp
• Due_date
• Fees
Relationships:
• A Book has multiple Copies.
• A Copy belongs to a Book.
• A Copy is associated with a Library Member through a Transaction.
• A Library Member can have multiple Transactions.
• A Transaction is performed by a Librarian Id
Assumptions:
• Each book can have multiple copies, but each copy is associated with only one book.
• Each transaction involves one copy, one librarian, and one library member.
• A library member can have multiple transactions, but a transaction is associated with only
one member.
• A librarian can perform multiple transactions, but a transaction is associated with only
one librarian
ER-Diagram
Logical Design
Cardinalities
• Book to Copy: 1-to-N (1:N)
• Copy to Book: N-to-1 (N:1)
• Transaction to Copy: 1-to-1 (1:1)
• Transaction to Librarian: 1-to-1 (1:1)
• Transaction to Library Member: 1-to-1 (1:1)
• Library Member to Transaction: 1-to-N (1:N)
• Librarian to Transaction: 1-to-N (1:N)
Transaction Table:
My SQL Code:
Tables
CREATE DATABASE LIBRARYs;
USE LIBRARYs;
publication_year INTEGER,
publisher_name VARCHAR(100)
);
book_id INTEGER,
);
book_id INTEGER,
);
book_id INTEGER,
);
);
member_id INTEGER,
house_number VARCHAR(10),
);
member_id INTEGER,
);
member_id INTEGER,
);
);
copy_id INTEGER,
member_id INTEGER,
librarian_id INTEGER,
);
librarian_id INTEGER,
);
librarian_id INTEGER,
);
VALUES
VALUES
VALUES
VALUES
(1, 1, 'Location 1', 'Good', 'Available'),
VALUES
VALUES
VALUES
(1, '[email protected]'),
(2, '[email protected]');
VALUES
(1, '02'),
(2, '03');
VALUES
INSERT INTO Transactions (transaction_id, copy_id, member_id, librarian_id, transaction_type, fees, date, duedate)
VALUES
VALUES
(1, '1111111111'),
(2, '2222222222');
VALUES
(1, '[email protected]'),
(2, '[email protected]');
Normalization
# process of identifying the logical associations between data items and
designing a database that will represent such associations
Chack if it satisifys the 3 normalizations
• First Normal Form
• • Disallow multivalued attributes, composite attributes, and their combinations.
• • Domain of attribute must include only atomic and single value attribute
• • The only attribute values permitted by 1NF are single atomic (or indivisible) values
• Second Normal Form
➢ Is based on the concept of full functional dependency.
.➢ A relation R is in 2NF if every nonprime attribute A in R is fully functionally dependent on
the primary key.
Third Normal Form
• Is based on the concept of transitive dependency.
• Relation should not have a non-key attribute functionally determined by another non-key
Attribute.
Plan for backup and recovery
Based on the volume of data being processed and the criticality of the data, it is better that
the database needs to be backed up daily.The backups will stored in a secure offsite location
using cloud storage to prevent data loss due to physical damage or theft.The backup and
recovery process should be tested every month to ensure that data can be restored in the event
of a disaster. This includes testing the backup files, restoring them to a test environment,
verifying the restored data, resuming normal operations. And also includes contact
information for key personnel and vendors to be contacted in case of a disaster. For data
integrity it should be performed every week to ensure that the data stored in the database is
accurate and consistent. Finally it stores backups in multiple locations, including on-site and
off-site storage which ensures that in case of any physical damage or disaster at the primary
location, the data can be recovered from the offsite or on-site storage.
Access level and privileges
Each user's access level and privileges would be determined by their role in the library and
the tasks they need to perform within the system. This helps ensure that sensitive data is only
accessible to authorized users and that each user can perform their job duties efficiently and
effectively. It could include:
1.Administrator: This user would have full access to all features and functions of the system,
including the ability to add, manage, modify, and delete user accounts, manage the database,
configure security settings, and perform system maintenance tasks.
2.Librarian: This user would have access to all library-related functions, such as updating book
information, adding, modifying, and deleting books and other materials, managing loans and
returns, and generating reports.
3.Volunteer: This user would have limited access to the system, such as being able to check in
and check out books, but would not have access to sensitive data or administrative functions.
4.Patron: This user would have access to the online catalog, be able to place holds on materials,
and view their own account information, such as loans and fines.
5.Guest: This user would have limited access to the system, such as being able to search the
catalog, but would not be able to check out materials or view account information.
Security level enforcement
Security level enforcement could require all users to have a unique username and password
to access the system. Additionally, the system could be set up to automatically log users out
after a certain period of inactivity, requiring them to enter their login credentials again to
continue using the system.
Furthermore, the system keeps on up-to-date with the latest security patches and updates for
all software components, including the operating system, database management system, and
any third-party libraries or frameworks used.
The system could also be configured to restrict access to certain functions or data based on
the user's role, with administrators having the highest level of access and guests having the
lowest. Finally, the system could be monitored regularly for any unusual activity or attempts
to access sensitive data, with alerts sent to administrators if any suspicious behavior is
detected.
Future Enhancements
Improved search capabilities, an online reservation system, user recommendations and
reviews, integration with e-book platforms like Kindle or OverDrive, improved reporting and
analytics, a mobile application, integration with online databases, and improved security
measures are just a few ways to improve a library's database system. By enabling users to
look for books by genre, author, publication date, or availability status, these enhancements
can improve search capability and increase catalog accessibility for the library. Additionally,
the system can improve research capabilities and streamline interlibrary loan services by
interacting with online resources, such as scholarly article repositories or other libraries. The
privacy of user information can also be ensured by enhancing security measures, such as
two-factor authentication, encryption for sensitive data, and routine software updates.