| 1 | = Логички и физички дизајн |
| 2 | |
| 3 | == Релациска шема |
| 4 | |
| 5 | * Примарен клуч: __underline__ |
| 6 | * Надворешен клуч: __underline__ и * |
| 7 | * Not null: **bold** |
| 8 | ---- |
| 9 | |
| 10 | User(**__UserId__**, **!FirstName**, **!LastName**, **Email**, **Username**, **Password**, **City**, **Neighborhood**) |
| 11 | |
| 12 | Book(**__BookId__**, **Title**, **Author**, **Language**, ImageURL) |
| 13 | |
| 14 | BookISBN(**__!BookId*__**, **ISBN**) |
| 15 | • !BookId референцира кон Book(!BookId) |
| 16 | |
| 17 | Genre(**__!BookId*__**, **Genre**) |
| 18 | • !BookId референцира кон Book(!BookId) |
| 19 | |
| 20 | Library(**__InventoryId__**, **__!UserId*__**, **__!BookId*__**, **Availability**, **Condition**) |
| 21 | • !UserId референцира кон User(!UserId) |
| 22 | • !BookId референцира кон Book(!BookId) |
| 23 | |
| 24 | Wishlist(**__WishId__**, **__!UserId*__**, **__!BookId*__**, Priority) |
| 25 | • !UserId референцира кон User(!UserId) |
| 26 | • !BookId референцира кон Book(!BookId) |
| 27 | |
| 28 | !BookRequest(**__RequestId__**, **__!RequesterId*__**, **__!OwnerId*__**, **__!BookId*__**, **__!InventoryId*__**, **!RequestStatus**, **!RequestDate**) |
| 29 | • !RequesterId референцира кон User(!UserId) |
| 30 | • !OwnerId референцира кон User(!UserId) |
| 31 | • !BookId референцира кон Book(!BookId) |
| 32 | • !InventoryId референцира кон Library(!InventoryId) |
| 33 | |
| 34 | Transaction(**__TransactionId__**, **__!RequestId*__**, **__!BorrowerId*__**, **__!LenderId*__**, **__!InventoryId*__**, **!BorrowDate**, **!ReturnDate**, **!BorrowDuration**, !SwapTransactionId) |
| 35 | • !RequestId референцира кон !BookRequest(!RequestId) |
| 36 | • !BorrowerId референцира кон User(!UserId) |
| 37 | • !LenderId референцира кон User(!UserId) |
| 38 | • !InventoryId референцира кон Library(!InventoryId) |
| 39 | |
| 40 | !TransactionBook(**__TransactionId*__**, **__!BookId*__**) |
| 41 | • !BookId референцира кон Book(!BookId) |
| 42 | • !TransactionId референцира кон Transaction(!TransactionId) |
| 43 | |
| 44 | Review(**__ReviewId__**, **__!TransactionId*__**, **__!ReceiverId*__**, **__!GiverId*__**, **Rating**, !ReviewerComment, **Date**) |
| 45 | • !TransactionId референцира кон Transaction(!TransactionId) |
| 46 | • !ReceiverId референцира кон User(!UserId) |
| 47 | • !GiverId референцира кон User(!UserId) |
| 48 | |
| 49 | Message(**__MessageId__**, **__!SenderId*__**, **__!ReceiverId*__**, **Time**, **Date**, **!MessageContent**) |
| 50 | • !SenderId референцира кон User(!UserId) |
| 51 | • !ReceiverId референцира кон User(!UserId) |
| 52 | |
| 53 | !FriendRequest(**__FriendshipId__**, **__!SenderId*__**, **__!ReceiverId*__**, **!DateCreated**, **Status**) |
| 54 | • !SenderId референцира кон User(!UserId) |
| 55 | • !ReceiverId референцира кон User(!UserId) |
| 56 | |
| 57 | Report(**__ReportId__**, **__!ReportedUserId*__**, **__!ReportingUserId*__**, **!ReportType**, **!ReportDate**, Details, **!ReportStatus**, **!ReportedEntity**) |
| 58 | • !ReportedUserId референцира кон User(!UserId) |
| 59 | • !ReportingUserId референцира кон User(!UserId) |
| 60 | |
| 61 | Notification(**__NotificationId__**, **__!TransactionId*__**, **Type**, **Time**, **Date**, **!EntityId**, **Description**, **Status**) |
| 62 | • !TransactionId референцира кон Transaction(!TransactionId) |
| 63 | |
| 64 | !UserNotification(**__UserId*__**, **__!NotificationId*__**) |
| 65 | • !ReportedUserId референцира кон User(!UserId) |
| 66 | • !NotificationId референцира кон Notification(!NotificationId) |
| 67 | |
| 68 | |
| 69 | == DDL скрипта за бришење на табелите и креирање на табелите |
| 70 | [attachment:ddlskripta.sql ddlskripta.sql] |
| 71 | |
| 72 | == DML скрипта за полнење на табелите со податоци |
| 73 | [attachment:dmlskripta.sql dmlskripta.sql] |
| 74 | |
| 75 | == Релациски дијаграм изведен од DBeaver |
| 76 | |
| 77 | [[Image(relDiagram.jpg)]] |