Project .Dbms
Project .Dbms
Objective
The primary objectives of this project are:
• To design a database system that manages a library's books, members, and staff efficiently.
• To implement a user-friendly interface for easy interaction with the system.
• To automate the process of tracking books, managing inventory, and keeping a record of issued and
returned books.
• To ensure accurate and real-time updates for books available, books on loan, and overdue books.
• To provide an easy way to manage member accounts and staff responsibilities.
System Requirements
Hardware Requirements:
• Processor: Intel Core i3 or higher
• RAM: 4GB or more
• Hard Disk: 100GB or more
• Display: Minimum 1024x768 resolution
• Internet: Required for deployment and accessing online
documentation.
Software Requirements:
• Operating System: Windows 7/8/10 or Linux
• Database Management System: MySQL 5.x or higher
• Web Server: Apache (for deployment, if needed)
• Programming Language: SQL
• IDE: Any text editor (e.g., Visual Studio Code or MySQL Workbench)
System Architecture
Library Management System follows a three-tier structure:
1. Presentation Layer (UI): This layer interacts with the users and
provides an interface for viewing books, issuing/returning books,
managing members, etc. It is designed with HTML/CSS and can use
PHP for interaction.
2. Business Logic Layer: This layer contains the core logic of the system.
It processes user inputs, calculates returns, tracks book availability,
and performs other operations like issuing notices. SQL queries and
stored procedures manage these operations.
3. Data Layer: The data layer consists of the MySQL database, which
stores information about books, members, staff, and transactions.
SQL commands are used to manipulate and retrieve data.
Project Modules
Book Management Module
• Functions: Add new books, update book details, delete books, view books by categories,
check book availability.
• Database Tables: book, book_availability, book_information
Member Management Module
• Functions: Register new members, update member details, view member information,
issue library cards.
• Database Tables: member, library_card
Staff Management Module
• Functions: Add new staff, assign designations, view staff details.
• Database Tables: staff, staff_designation
Book Issue/Return Module
• Functions: Issue books to members, track books issued, return books, check overdue
status.
• Database Tables: book_issued_details
Library Card Module
• Functions: Assign library cards, set expiration dates, add comments/notes to cards.
• Database Tables: library_card
. Report Generation
• Functions: Generate reports for issued books, overdue books, books available, etc.
ENTITY TYPES
1. MEMBERS
2. BOOK
3. STAFF
RELATIONSHIP TYPES
1. ISSUE_CARD
2. ISSUE_NOTICE
3. ISSUE_BOOK
4. GET_DESCRIPTION
IDENTIFICATION
1. Every other entity is uniquely identified by its primary key which can be seen from
the relational schema diagram.
2. The following entities are represented with their primary keys underlined, and
foreign keys by italic style.
AGGREGATION
1. All entities are aggregation of component attributes as seen from the EER
diagram.
2. Relation types that have member attributes, is also an example aggregation.
SPECIALIZATION / GENERALIZATION
1. The Books have been specialized to in_stock, and on_loan on the basis of its
availability. .
This would be a total disjoint specialization.
3. The Staff is classified/ specialized on the basis of its designation. This would be a
partial disjoint specialization.
ASSUMPTIONS
1. We assumed that all books borrowed are kept as loan
2. There might be many number of books that have same isbn.
3. Reference Librarians have the power to access description of books,
and not other designation_staff.
4. Every library card has a notice attached to it.
5. Every Member has a comment attached to her/ his account.
EER DIAGRAM
3
EER-to-RELATIONAL MAPPING
Here, all the primary keys are referenced with an arrow pointed towards itself. All the foreign
keys are depicted by a line pointing straight.
RELATIONAL SCHEMA DIAGRAM
SQL SCHEMA
Learning Outcomes
• Database Design: Gained hands-on experience with database design,
creating tables, defining primary/foreign keys, and writing SQL queries for
complex operations.
• Project Management: Learned to break down a large project into smaller
modules, implement them efficiently, and integrate them into a working
system.
• Testing: Improved skills in testing SQL queries, validating data, and
troubleshooting issues.
• UI Development: Developed an understanding of designing user-friendly
interfaces that cater to both functionality and usability.
Conclusion
The Library Management System project successfully demonstrates the use of
SQL queries in managing books, members, and staff data in a library. The
project aims to automate the traditional library management processes,
improving efficiency and minimizing human errors. It also highlights the
importance of database design, SQL optimization, and system testing in
developing robust applications. Through this project, I have gained valuable
insights into system design, database management, and software
development lifecycle, which will be helpful for my future projects.