| Version 2 (modified by , 13 days ago) ( diff ) |
|---|
Релациски модел
ЕР Дијаграм
Дополнителен опис и објаснување
Од ентитетот User произлегуваат Member, Librarian, и Admin. Го избравме овој пристап за да избегнеме дуплирање на податоците и да се овозможи сите корисници да делат заеднички атрибути додека пак специфичните ги чуваме во посебни табели.
Направивме разлика и помеѓу Book и BookCopy, бидејќи една книга може да има повеќе копии, со кои што функционира целиот систем, тие се физичките примероци со кои се управува со позајмување и достапност. Исто така секоја копија од самата книга има свој статус (пр. позајмена, достапна...).
Имаме посебни табели за нашите M:N релации како што се Book_Author, Book_Genre, Category_Book, Event_Book и Event_Book_Authon. Нашиот систем го дизајниравме да поддржува книги со повеќе автори, книги со повеќе жанрови/категории и настани кои ги поврзавме со повеќе книги и автори, не ги ограничуваме на само една книга или автор.
Ентитети за настани
Делот за настани е подетално моделиран и вклучува Event и EventReservation ентитети. Притоа, Event дополнително е поврзан со Book, Librarian и Author, а додека пак EventReservation е поврзан со Member. Ова овозможува реални сценарија како промоција на книга, средба со автор, резервирање на седишта за посакуван настан и слично.
Логови
Имаме дел и за следење на активности на корисникот со помош на Logs, моделот содржи повеќе log табели како SearchLog, BookViewLog, AuthorLog и GenreLog. Со ова овозможуваме анализа на однесувањето на корисниците и следење на нивните пребарувања и интереси од што произлегува потенцијална имплементација на препораки за корисниците.
Позајмување и резервација
Делот за позајмување и резервација на книги го имплементираме преку LoanHistory кој поврзува BookCopy, Member и Librarian. Содржи информации за рокови, враќање и казни. Самите резервации се одвоени во Reservations што овозможува резервација без да се позајми книгата веднаш и подобра контрола врз достапноста на одредена копија на книгата. Казните или ентитетот Fines овозможува управување со финансиските казни на еден корисник и е поврзан со Notifications.
Членства и плаќања
Делот за членства и плаќања ги содржи ентитетите MembershipPlan, Membership и Payment. Имаме различни типови членства и претплати кои се ограничени временски (месечни, полугодишни и годишни), исто така ги следиме и плаќањата на корисникот.
Нотификации
Нотификациите ги имплементиравме преку ентитетот Notifications кој е поврзан со Member, Payment и Fines (со посебна табела Fines_Notifications) за можност за една казна да генерира повеќе нотификации (пр. за доцнење при враќање на книга). Исто така е поврзан и со Reservation (пр. за известување кога книга е достапна).
Attachments (2)
- RelationalModel-BookNest.svg (446.3 KB ) - added by 13 days ago.
- RelationalModel-BookNest.vpp (1.2 MB ) - added by 13 days ago.
Download all attachments as: .zip
