wiki:RelationalModel

Version 1 (modified by 231073, 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)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.