LibDB Team: - 231103 Андреј Саноев - 231062 Благоја Џорлев - 231089 Тодор Темелков Short description: For this project, we are developing a library management system. The database is built to handle all the daily operations of a modern, current day chain of libraries, storing several key types of data. First it handles the entire inventory. The system stores detailed information on resources, tracking specific editions, authors, chapters, genres, and individual physical or digital copies. Also the database stores profiles for both employees and also people who are and want to be members, linking users to membership plans that define their rental durations, concurrent borrowing limits, and fees. The system records the actual circulation of items. It logs when a book is checked out, tracks due dates, and manages penalties for late returns. Beyond just tracking books, the database maps out the library's physical layout, including specific rooms and genre-assigned shelves. It also includes data structures for community engagement. This allows the library to organize events that users can register for, while giving patrons the ability to write book reviews, reply to comments, and build personal wishlists. Detailed description: This data model has a few key features and problems it solves: 1. Inventory management and cataloging This is the core of the data model, the management of resources, the implementation is similar to that of the FRBR model. Resource, ResourceType and Genre are used to represent the abstract work (e.g. The Lord of the Rings). It holds generic information about the resource. Edition and Author represent the specific publication tracking all the necessary information. In addition there is also the Chapter table intended to handle multi author textbooks. ResourceCopy is the final physical item sitting in a building in one of the libraries managed by the system. 2. Metadata Instead of hardcoding every single possible attribute, we keep a few attributes like the number of pages or the cover type as part of the editions, but should it be required the EditionAttributes table along with all the tables relating to attributes can be used to extend the amount of attributes available without altering any table. 3. Community and Social Engagement The tables relating to Events allow the libraries to host several workshops and book readings along with the ability to track the physical spaces these events are held in Reviews and Replies allow for users to share thoughts about editions as well as aiding others choose which book to read next. Wishlists allow for users to save editions they want to read or rent in the future 4. Rentals Rental tracks ResourceCopy, Membership and Employee along with enforcing timeframes and tracking penalties for late returns. 5. User management User management includes a base table for everyone while an extended table for Employees helps us keep track of all the users. Membership and MembershipPlan a more flexible way of dictating tiers of library plans that can differ by price, how many books may be rented at a time, for how long and similar. 6. Physical spaces Tables like Location, Library, Room and Shelf allows for both users and employees to find the correct locations of resources.