BookWISE Project Database
BookWISE Project Database
Database System
Project Title:
BookWise: Online Library Management Database Project
Mission Statement: Our mission is to create a strong and accessible database system fitted for
the BookWise Online Library Management platform. BookWise will serve as the foundation for
efficient organization, retrieval, and management of library resources in the digital space, ensuring a
seamless and enriching experience for users.
Mission Objectives:
1.Centralizing & Optimizing: Design and implement a database schema optimized for online library
operations, covering entities such as books, authors, users, transactions, and administrative
functions.
2.User-Friendly Features: Develop data models that support essential features like online catalog
search, user account management, digital lending, and event scheduling.
3.Speedy Searches: Employ indexing and caching techniques to enhance search performance and
reduce latency, facilitating quick access to library resources.
4.Integrate security: Security measures like user authentication, authorization, and data encryption
to protect sensitive information and ensure user privacy.
5.Ready for Anything: Enable scalability and flexibility in database architecture to accommodate the
growing volume of digital assets(books etc), users, and transactions over time.
Overall Scope: The BookWise Online Library Management Database Project is all about creating
a super-smooth database system designed for online library. This includes designing database tables,
defining relationships, implementing data access methods, and ensuring data integrity and security.
Resources:
• Human Resources: Database administrators, data architects, SQL developers, project
managers to make this happen.
• Technological Resources: We’ll be using software “MySQL” for our database along with
database modeling tools, SQL scripting tools.
• Financial Resources: Budget allocation for software licenses, cloud space, and personnel
expenses.
• Data Resources: Digital library assets (books, e-books, audiobooks), user profiles, transaction
logs, event data, metadata.
Roles:
• Database Administrator: Responsible for database design, configuration, optimization, and
maintenance.
• Data Architect: They designs the database schema, tables, relationships, and indexing
strategies based on system requirements so everything fit together just right.
• SQL Developer: Setting up ways for the system to find information, perform tasks, and
respond to events using the database.
• Project Manager: Oversees project planning, resource allocation, progress tracking, and
keeping everything in the loop.
There are some questions, advice & queries etc., that helps to take a view how the database should
be created:
• "How would you like to structure your online library management database?"
Ans: We want a database that can store details about books, authors, users, borrowing, and
admin tasks. It should be easy to search, secure, and let users log in securely. Also, it should grow
with us and connect with other systems.
• “How will be the copyright of the data will be managed on this digital platform?”
Ans: Copyright of data in the online library management system is managed through licensing
agreements, access controls, and agreement monitoring to ensure lawful usage, supported by
DRM (Digital rights management) technologies and legal guidance.
Limitations
The limitations of an online library management database include organizing and connecting
information about books, authors, users, and borrowing records. It's about making sure data is
accurate, secure, and easy to find. This involves setting up rules for how data is stored, accessed, and
protected. It also involves limit user access to our data of database.
Requirements
The requirements for online library management include features like user authentication,
cataloging books, managing user accounts, handling borrowing and returning processes, ensuring
data security, and providing user support. Additionally, it involves maintaining the digital
infrastructure and communication channels for feedback.
Authentication:
auth_id, expiry, OTP, user_id (fk), password, email.
Admin:
admin_id , user_id (fk).
Patron:
patron_id, expiry_date, membership_type, user_id (fk).
Book:
book_id, published_year, genre, title, ISBN, publisher, edition, category, availability.
Book_Author:
book_id(fk), author_id(fk).
Author:
author_id, author_name.
Report:
report_id, category, date_created, description, book_id (fk).
Publishing Event :
event_id , duration, event_title, date, book_published, publisher, book_id(fk).
Borrower:
borrower_id , contact_info, address, date_of_birth, user_id(fk), book_id(fk) .
“Authentication”
Attributes Domain Name Meaning Definition
auth_id Authentication User’s unique
Identification authentication ID
”Patron”
Attributes Domain Name Meaning Definition
patron_id Patron Identification To maintain the
integrity of patron
related data
“Book”
Attributes Domain Name Meaning Definition
Book_id Book Identification Unique ID of book
“Book_Author”
Attributes Domain Name Meaning Definition
book_id (fk) Book Identification Unique book ID
“Author”
Attributes Domain Name Meaning Definition
author_id Author Identification Unique Author ID
“Report”
Attributes Domain Name Meaning Definition
Report_id Report Identification Identifier
“Borrower”
Attributes Domain Name Meaning Definition
borrower_ID User Identification Unique user ID
1NF:
The table is already in 1st normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
1NF:
The table is already in 1st normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
1NF:
The table is already in 1st normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
1NF:
The table is already in 1st normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
1NF:
The table is already in 1st normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
1NF:
The table is already in 1st normal form.
2NF:
The table is already in 2nd normal form.
3NF:
The table is already in 3rd normal form.
1NF:
Now, the table is already in 1st normal form.
2NF:
Now, the table is already in 2nd normal form.
3NF:
Now, the table is already in 3rd normal form.
• Relation Name: Book_Author
book_ID(fk) author_ID(fk)
1NF:
Now, the table is already in 1st normal form.
2NF:
Now, the table is already in 2nd normal form.
3NF:
Now, the table is already in 3rd normal form.
1NF:
Now, the table is already in 1st normal form.
2NF:
Now, the table is already in 2nd normal form.
3NF:
Now, the table is already in 3rd normal form.
DDL(Data Definition Language) CODE
• Schema Definition: This includes the creation of database objects such as tables,
specifying the columns, data types, constraints, and relationships
-- Table: User
CREATE TABLE User (
user_id INT AUTO_INCREMENT PRIMARY KEY,
full_name VARCHAR(255),
username VARCHAR(255) UNIQUE,
email VARCHAR(255) UNIQUE,
password VARCHAR(255)
);
-- Table: Patron
CREATE TABLE Patron (
patron_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
membership_type VARCHAR(50),
expiry_date DATE,
FOREIGN KEY (user_id) REFERENCES User(user_id)
);
-- Table: Admin
CREATE TABLE Admin (
admin_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES User(user_id)
);
-- Table: Author
CREATE TABLE Author (
author_id INT AUTO_INCREMENT PRIMARY KEY,
author_name VARCHAR(255)
);
-- Table: Book
CREATE TABLE Book (
book_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
ISBN VARCHAR(20) UNIQUE,
category VARCHAR(50),
edition VARCHAR(50),
publisher VARCHAR(255),
published_year YEAR,
genre VARCHAR(50),
availability BOOLEAN
);
-- Table: Borrower
CREATE TABLE Borrower (
borrower_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
book_id INT,
date_of_birth DATE,
address VARCHAR(255),
contact_info VARCHAR(255),
borrow_date DATE,
return_date DATE,
FOREIGN KEY (book_id) REFERENCES Book(book_id),
FOREIGN KEY (user_id) REFERENCES User(user_id)
);
-- Table: Report
CREATE TABLE Report (
report_id INT AUTO_INCREMENT PRIMARY KEY,
book_id INT,
description TEXT,
category VARCHAR(50),
date_created DATE,
FOREIGN KEY (book_id) REFERENCES Book(book_id)
);
-- Table: PublishingEvent
CREATE TABLE PublishingEvent (
event_id INT AUTO_INCREMENT PRIMARY KEY,
event_title VARCHAR(255),
date DATE,
duration TIME,
publisher VARCHAR(255),
book_published VARCHAR(255),
book_id INT,
FOREIGN KEY (book_id) REFERENCES Book(book_id)
);
-- Table: Authentication
CREATE TABLE Authentication (
auth_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
email VARCHAR(255) UNIQUE,
password VARCHAR(255),
OTP VARCHAR(50),
expiry DATETIME,
FOREIGN KEY (user_id) REFERENCES User(user_id)
);
• Data Insertion: Although strictly speaking, data insertion falls under DML (Data
Manipulation Language) rather than DDL, it is common to include some initial data
insertion commands alongside schema definitions for demonstration or testing purposes.
---------------------------------------------------THE END---------------------------------------------------------