= Концептуален дизајн - ЕР Дијаграм и податочни побарувања = == ER дијарграм == [[Image(BER.png)]] == Податочни побарувања == === Ентитети === 1. '''Users''' * '''UserID''' - Primary Key, Numeric''' * Username - Mandatory Attribute, Text * FirstName - Optional Attribute, Text * LastName - Optional Attribute, Text * Address - Optional Attribute, Text * Phone - Optional Attribute, Numeric * Password - Mandatory Attribute, Text * Email - Mandatory Attribute, Text * Role - Mandatory Attribute, Text 2. '''Member''' * '''MemberID ''' - Primary Key, Numeric * Membership_Status - Mandatory Attribute, ENUM (Values: 'Active', 'Inactive', 'Suspended') * Expired_Date - Mandatory Attribute, Date 3. '''Book_Author''' 4. '''Author''' * '''AuthorID''' - Primary Key, Numeric * FirstName - Mandatory Attribute, Text * LastName - Mandatory Attribute, Text * Nationality - Mandatory Attribute, Text * DateOfBirth - Mandatory Attribute, Date 5. '''Loan''' * '''LoanID''' - Primary Key, Numeric * LoanDate - Mandatory Attribute, Date * ReturnDate - Optional Attribute, Date * Status - Mandatory Attribute, Text (Values: 'Active', 'Returned', 'Overdue') 8. '''Fine''' * '''FineID''' - Primary Key, Numeric * FineAmount - Mandatory Attribute, Numeric * FineDate - Mandatory Attribute, Date * Status - Mandatory Attribute, Text 9. '''Fine_Payment''' * '''FinePaymentID''' - Primary Key, Numeric * PaymentDate - Mandatory Attribute, Date * PaymentAmount - Mandatory Attribute, Numeric == Релации === 1. Book и Book_Copies: * '''Едно-на-Многу (1:N)''' - Една книга може да има многу копии, но секоја копија припаѓа на една книга. 2. Book_Copies и Loan: * '''Едно-на-Многу (1:N)''' - Една копија на книга може да биде позајмена повеќе пати, но секоја позајмица се однесува само на една копија. 3. Book и Book_Author: * '''Многу-на-Многу (M:N)''' - Една книга може да има повеќе автори, а еден автор може да напише повеќе книги. Оваа релација се обработува преку табелата Book_Author. 4. Book_Author и Author: * '''Многу-на-Едно (N:1)''' - Повеќе автори можат да бидат поврзани со една книга, а секој запис во табелата Book_Author ги поврзува книгата и авторот. 5. Loan и Member: * '''Многу-на-Едно (N:1)''' - Еден член може да направи повеќе позајмици, но секоја позајмица е поврзана со еден член. 6. Member и User: * '''Едно-на-Едно (1:1)''' - Секој член е поврзан со еден корисник. 7. Member и Fine: * '''Едно-на-Многу (1:N)''' - Еден член може да има повеќе казни, но секоја казна е поврзана со еден член. 8. Fine и Loan: * '''Едно-на-Едно (1:1)''' - Секој трошок за казна е поврзан со една позајмица, и секоја позајмица може да генерира само една казна. 9. Fine и Fine_Payment: * '''Едно-на-Едно (1:1)''' - Секоја уплата на казна е поврзана со една конкретна казна. 10. Book и Fine (Индиректно преку Loan): * '''Многу-на-Многу (M:N)''' - Книга може да има повеќе позајмици кои резултираат со казни. 11. Book и Fine_Payment (Индиректно преку Loan и Fine): * '''Многу-на-Многу (M:N)''' - Книга може да биде поврзана со плаќања на казни преку позајмици и казни. 12. Member и Fine_Payment (Индиректно преку Fine): * '''Многу-на-Многу (M:N)''' -Член може да направи повеќе плаќања на казни.