11 | | - UserID - примарен клуч, int, задолжителен |
12 | | - Name - varchar, задолжителен |
13 | | - Surname - varchar, задолжителен |
14 | | - Email - varchar, задолжителен |
15 | | - Password - varchar, задолжителен |
| 11 | - UserID - примарен клуч, int |
| 12 | - Name - varchar |
| 13 | - Surname - varchar |
| 14 | - Email - varchar |
| 15 | - Password - varchar |
| 16 | - Phone number - varchar |
| 17 | - DateJoined - datetime |
18 | | **2. Flight From** - Ентитет за почетна дестинација.\\ |
19 | | |
20 | | - FlightFromID - примарен клуч, int, задолжителен |
21 | | - City Name - varchar, задолжителен\\ |
22 | | |
23 | | **3. Flight To** - Ентитет за крајна дестинација.\\ |
24 | | |
25 | | - FlightToID - примарен тип, int, задолжителен |
26 | | - City Name - varchar, задолжителен\\ |
| 21 | - FlightID - примарен клуч, int |
| 22 | - FlightNumber - varchar |
| 23 | - DepartureAirport - varchar |
| 24 | - ArrivalAirport - varchar |
| 25 | - DepartureTime - datetime |
| 26 | - ArrivalTime - datetime |
| 27 | - Duration - time |
| 28 | - Price - decimal(10,2) |
| 29 | - AvailableSeats - int \\ |
30 | | - BookingID - примарен клуч, int, задолжителен |
| 33 | - BookingID - примарен клуч, int |
| 34 | - UserID - foreign key, int |
| 35 | - FlightID - foreign key, int |
| 36 | - BookingDate - datetime |
| 37 | - PaymentStatus - enum('Pending','Completed', 'Cancelled') |
| 38 | - TotalCost - decimal(10,2) |
| 39 | - SeatNumber - int\\ |
| 40 | |
| 41 | **4. Destination** - Ентитет за дестинација.\\ |
| 42 | |
| 43 | - DestinationID- примарен клуч, int |
| 44 | - Name - varchar |
| 45 | - Country - varchar |
| 46 | - Description - text |
| 47 | - PopularAttraction - text |
| 48 | - BestTimeToVisit - varchar\\ |
| 49 | |
44 | | - NotificationID - примарен клуч, int, задолжителен |
| 70 | - PaymentID - примарен клуч, int |
| 71 | - BookingID - foreign key, int |
| 72 | - UserID - foreign key, int |
| 73 | - Payment method - enum('Credit Card','Debit card', 'PayPal') |
| 74 | - Amount - decimal(10,2) |
| 75 | - TransactionDate - datetime |
| 76 | - PaymentStatus - enum('Success', 'Failed', 'Processing')\\ |
| 77 | |
| 78 | **8. Notification** - Ентитет за известувања.\\ |
| 79 | |
| 80 | - NotificationID- примарен клуч, int |
| 81 | - UserID - foreign key, int |
| 82 | - Message - text |
| 83 | - Type - enum('Booking Confirmation', 'Flight Delay', 'General Update') |
| 84 | - DateSent - datetime\\ |
| 85 | |
| 86 | **9. Wishlist** - Ентитет за листа со посакувани дестинации.\\ |
| 87 | |
| 88 | - WishlistID - примарен клуч, int |
| 89 | - UserID - foreign key, int |
| 90 | - TargetID - foreign key, int (може да биде FlightID или DestinationID) |
| 91 | - DateAdded - datetime \\ |
47 | | === Релации |
| 94 | **10. Administrator** - Ентитет за тикети за поддршка.\\ |
| 95 | - AdminID - примарен клуч, int |
| 96 | - Email - varchar\\ |
| 97 | |
| 98 | |
| 99 | **11. SupportTicket** - Ентитет за тикети за поддршка.\\ |
| 100 | |
| 101 | - TicketID- примарен клуч, int |
| 102 | - UserID - foreign key, int |
| 103 | - Subject - varchar |
| 104 | - Description - text |
| 105 | - Status - enum('Open', 'In Progress', 'Resolved') |
| 106 | - DateCreated - datetime |
| 107 | - DateResolved - datetime (nullable) |
| 108 | - AssignedTo - foreign key, int\\ |
| 109 | |
| 110 | |
| 111 | === 1-1 Релации |
| 112 | |
| 113 | - ''has'' - релација помеѓу **Payment** и **Booking**. Секој Payment е за еден Booking, и секој Booking има само еден Payment. |
| 114 | |
| 115 | === 1-M Релации |
| 116 | |
| 117 | - ''creates'' - релација помеѓу **User** и **Booking**. Секој User може да има повеќе Bookings, и еден Booking може да има повеќе Users. |
| 118 | - ''leaves'' - релација помеѓу **User** и **Review**. Секој User може да остави повеќе Reviews, но едно Review може да припаѓа на еден User. |
| 119 | - ''adds to'' - релација помеѓу **User** и **Wishlist**. Секој User може да има повеќе ставки во Wishlist, но една ставка од Wishlist може да припаѓа само на еден User. |
| 120 | - ''makes a'' - релација помеѓу **User** и **Payment**. Секој User може да има повеќе Payments, но еден Payment може да припаѓа на еден User. |
| 121 | - ''gets a'' - релација помеѓу **User** и **Notification**. Секој User може да добие повеќе Notifications, но една нотификација е пратена до само еден User. |
| 122 | - ''opens a'' - релација помеѓу **User** и **Support Ticket**. Секој User може да отвори повеќе Support Tickets, но еден тикет може да е отворен од само еден User. |
| 123 | - ''has a'' - релација помеѓу **Flight** и **Booking**. Секој Flight може да има повеќе Bookings, но еден Booking е линкуван со само еден Flight. |
| 124 | - ''has a'' - релација помеѓу **Airport** и **Flight**. Секој Airport може да има повеќе departing or arriving Flights, но секој Flight departs or arrives на еден Airport. |
| 125 | - ''has a'' - релација помеѓу **Destination** и **Review**. Секој Destination може да има повеќе Reviews, но еден Review може да припаѓа на само една Destination. |
| 126 | - ''works on'' - релација помеѓу **Administrator** и **Support Ticket**. Секој Administrator може да работи на повеќе Support Tickets, но еден Support Ticket може да припаѓа само на еден Administrator. |
| 127 | |
| 128 | === M-N Релации |
| 129 | |
| 130 | - ''added in'' - релација помеѓу **Flight** и **Wishlist**. Wishlist може да содржи повеќе Flights, и секој Flight може да се содржи во повеќе Wishlists. |
| 131 | - ''added in'' - релација помеѓу **Destination** и **Wishlist**. Wishlist може да содржи повеќе Destinations, и секој Destination може да се содржи во повеќе Wishlists. |
| 132 | - ''added for'' - релација помеѓу **Flight** и **Review**. Review може да има за повеќе Flights, и зa секој Flight може да има повеќе Reviews. |
| 133 | - ''added for'' - релација помеѓу **Destination** и **Review**. Review може да има за повеќе Destinations , и секој Destination може да има повеќе Reviews. |
| 134 | |
| 135 | |