Version 4 (modified by 5 days ago) ( diff ) | ,
---|
Дијаграм
Податочни побарувања
Ентитети
1. ApplicationUser - Ентитет за корисникот и неговите информации.
- UserID - примарен клуч, int
- Name - varchar
- Surname - varchar
- Email - varchar
- Password - varchar
- Phone number - varchar
- Date Joined - datetime
2. Destination - Ентитет за дестинација.
- DestinationID- примарен клуч, int
- Name - varchar
- Country - varchar
- Description - text
- Popular Attraction - text
- Best Time To Visit - varchar
3. Airport - Ентитет за аеродром.
- AirportID - примарен клуч, int, задолжителен
- Name - varchar
- Country - varchar
- Code - varchar
- Destination - int, foreign key
4. Flight - Ентитет за лет.
- FlightID - примарен клуч, int
- Flight Number - varchar
- Departure Airport - varchar
- Arrival Airport - int, foreign key
- Departure Time - int, foreign key
- Arrival Time - datetime
- Price - decimal(10,2)
- Available Seats - int
5. Booking - Ентитет за летови.
- BookingID - примарен клуч, int
- UserID - foreign key, int
- Booking Date - datetime
- Payment Status - enum('Pending','Completed', 'Cancelled')
- Total Cost - decimal(10,2)
6. BookingFlight - Ентитет за резервирани летови на корисникот.
- BookingID - foreign key
- FlightID - foreign key
- SeatNumber - int
6. Review - Ентитет за листата на рецензии.
- ReviewID- примарен клуч, int
- UserID - foreign key, int,
- BookingID - int, foreign key
- TargetID - foreign key, int (референцира таргет ентитет врз основа на TargetType)
- TargetType - enum ('Flight','Destination','Airport')
- Review Comment - text
- Rating - int
- Date - datetime
7. Payment - Ентитет за трансакции.
- PaymentID - примарен клуч, int
- BookingID - foreign key, int
- UserID - foreign key, int
- Payment method - enum('Credit Card','Debit card', 'PayPal')
- Amount - decimal(10,2)
- Transaction Date - datetime
- Payment Status - enum('Success', 'Failed', 'Processing')
8. Notification - Ентитет за известувања.
- NotificationID- примарен клуч, int
- UserID - foreign key, int
- Message - text
- Type - enum('Booking Confirmation', 'Flight Delay', 'General Update')
- Date Sent - datetime
9. Wishlist - Ентитет за листа со посакувани дестинации.
- WishlistID - примарен клуч, int
- UserID - foreign key, int
- TargetID - foreign key, int (може да биде FlightID или DestinationID)
- Date Added - datetime
10. Administrator - Ентитет за тикети за поддршка.
- AdminID - примарен клуч, int
- Email - varchar
11. Support Ticket - Ентитет за тикети за поддршка.
- TicketID- примарен клуч, int
- UserID - foreign key, int
- Subject - varchar
- Description - text
- Status - enum('Open', 'In Progress', 'Resolved')
- Date Created - datetime
- Date Resolved - datetime (nullable)
- Assigned To - foreign key, int
1-1 Релации
- pays for - релација помеѓу Payment и Booking. Секој Payment е за еден Booking, и секој Booking има само еден Payment.
1-M Релации
- books – релација помеѓу User и Booking. Секој User може да има повеќе Bookings, но секој Booking припаѓа на само еден User.
- leaves review for – релација помеѓу User и Review. Секој User може да остави повеќе Reviews, но секој Review може да припаѓа на само еден User.
- review based on booking – релација помеѓу Booking и Review. Секој Booking може да има повеќе Reviews, но секој Review е поврзан со само еден Booking, за да се осигура дека рецензијата е од вистински патник.
- adds item to – релација помеѓу User и Wishlist. Секој User може да има повеќе ставки во Wishlist, но секоја ставка припаѓа само на еден User.
- makes payment for – релација помеѓу User и Payment. Секој User може да има повеќе Payments, но секој Payment припаѓа само на еден User.
- receives notification – релација помеѓу User и Notification. Секој User може да добие повеќе Notifications, но секоја Notification е испратена само до еден User.
- submits – релација помеѓу User и Support Ticket. Секој User може да отвори повеќе Support Tickets, но секој Ticket е отворен од само еден User.
- ticket for booking – релација помеѓу Support Ticket и Booking. Секој Ticket е поврзан со еден Booking, за да може поддршката да се однесува на конкретна резервација.
- operates from– релација помеѓу Airport и Flight. Еден Airport може да биде почетна точка (departure) за повеќе Flights. Секој Flight има точно еден Departure Airport.
- operates to– релација помеѓу Airport и Flight. Еден Airport може да биде крајна точка (arrival) за повеќе Flights. Секој Flight има точно еден Arrival Airport.
- handles – релација помеѓу Administrator и Support Ticket. Секој Administrator може да обработува повеќе Tickets, но секој Ticket е доделен на еден Administrator.
- served by – релација помеѓу Destination и Airport. Еден Destination може да има повеќе Airports, но секој Airport припаѓа на само еден Destination.
M-N Релации
- booking includes flight – релација помеѓу Booking и Flight. Еден Booking може да содржи повеќе Flights (multi-leg trip), и еден Flight може да биде дел од повеќе Bookings.
- wishlist includes flight – релација помеѓу Flight и Wishlist. Wishlist може да содржи повеќе Flights, и секој Flight може да се содржи во повеќе Wishlists.
- wishlist includes destination – релација помеѓу Destination и Wishlist. Wishlist може да содржи повеќе Destinations, и секој Destination може да се содржи во повеќе Wishlists.
- review relates to flight – релација помеѓу Flight и Review. Еден Flight може да има повеќе Reviews, и секој Review може да се однесува на повеќе Flights (ако е комплексно патување).
- review relates to airport – релација помеѓу Airport и Review. Еден Airport може да има повеќе Reviews, и секој Review може да се однесува на повеќе Airports (пример, layover искуство).
Attachments (1)
- SkyChase-diagram.png (224.0 KB ) - added by 7 months ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.