Changes between Initial Version and Version 1 of Концептуален дизајн - ЕР Дијаграм и податочни побарувања


Ignore:
Timestamp:
01/31/25 22:19:41 (3 weeks ago)
Author:
173067
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Концептуален дизајн - ЕР Дијаграм и податочни побарувања

    v1 v1  
     1== Дијаграм
     2
     3[[Image(SkyChase-diagram.png)]]
     4
     5== Податочни побарувања
     6
     7=== Ентитети\\
     8
     9**1. ApplicationUser** - Ентитет за корисникот и неговите информации.\\
     10
     11   - UserID - примарен клуч, int
     12   - Name - varchar
     13   - Surname - varchar
     14   - Email - varchar
     15   - Password - varchar
     16   - Phone number - varchar
     17   - Date Joined - datetime
     18
     19**2. Destination** - Ентитет за дестинација.\\
     20
     21   - DestinationID- примарен клуч, int
     22   - Name - varchar
     23   - Country - varchar
     24   - Description - text
     25   - Popular Attraction - text
     26   - Best Time To Visit - varchar\\
     27
     28**3. Airport** - Ентитет за аеродром.\\
     29
     30   - AirportID - примарен клуч, int, задолжителен
     31   - Name - varchar
     32   - CityID - int, foreign key
     33   - Country - varchar
     34   - Code - varchar
     35
     36
     37**4. Flight** - Ентитет за лет.\\
     38
     39   - FlightID - примарен клуч, int
     40   - Flight Number - varchar
     41   - Departure Airport - varchar
     42   - Arrival Airport - int, foreign key
     43   - Departure Time - int, foreign key
     44   - Arrival Time - datetime
     45   - Price - decimal(10,2)
     46   - Available Seats - int \\
     47
     48**5. Booking** - Ентитет за листата на резервирани летови за корисникот.\\
     49
     50   - BookingID - примарен клуч, int
     51   - UserID - foreign key, int
     52   - FlightID - foreign key, int
     53   - Booking Date - datetime
     54   - Payment Status - enum('Pending','Completed', 'Cancelled')
     55   - Total Cost - decimal(10,2)
     56   - Seat Number - int\\
     57
     58
     59
     60**6. Review** - Ентитет за листата на рецензии.\\
     61
     62   - ReviewID- примарен клуч, int
     63   - UserID - foreign key, int,
     64   - TargetID - foreign key, int (може да биде FlightID или DestinationID)
     65   - Review Comment - text
     66   - Rating - int
     67   - Date - datetime
     68
     69
     70**7. Payment** - Ентитет за трансакции.\\
     71
     72   - PaymentID - примарен клуч, int
     73   - BookingID - foreign key, int
     74   - UserID - foreign key, int
     75   - Payment method - enum('Credit Card','Debit card', 'PayPal')
     76   - Amount - decimal(10,2)
     77   - Transaction Date - datetime
     78   - Payment Status - enum('Success', 'Failed', 'Processing')\\
     79
     80**8. Notification** - Ентитет за известувања.\\
     81
     82   - NotificationID- примарен клуч, int
     83   - UserID - foreign key, int
     84   - Message - text
     85   - Type - enum('Booking Confirmation', 'Flight Delay', 'General Update')
     86   - Date Sent - datetime\\
     87
     88**9. Wishlist** - Ентитет за листа со посакувани дестинации.\\
     89
     90   - WishlistID - примарен клуч, int
     91   - UserID - foreign key, int
     92   - TargetID - foreign key, int (може да биде FlightID или DestinationID)
     93   - Date Added - datetime \\
     94
     95
     96**10. Administrator** - Ентитет за тикети за поддршка.\\
     97   - AdminID - примарен клуч, int
     98   - Email - varchar\\
     99
     100
     101**11. Support Ticket** - Ентитет за тикети за поддршка.\\
     102
     103   - TicketID- примарен клуч, int
     104   - UserID - foreign key, int
     105   - Subject - varchar
     106   - Description - text
     107   - Status - enum('Open', 'In Progress', 'Resolved')
     108   - Date Created - datetime
     109   - Date Resolved - datetime (nullable)
     110   - Assigned To - foreign key, int\\
     111
     112
     113=== 1-1 Релации
     114
     115 - ''pays for'' - релација помеѓу **Payment** и **Booking**. Секој Payment е за еден Booking, и секој Booking има само еден Payment.
     116 - ''served by'' - релација помеѓу **Destination** и **Airport**. Секоја Destination се опслужува од еден Airport, и секој Airport опслужува само една  Destination.
     117
     118=== 1-M Релации
     119
     120 - ''books'' - релација помеѓу **User** и **Booking**. Секој User може да има повеќе Bookings, и еден Booking може да има повеќе Users.
     121 - ''leaves review for'' - релација помеѓу **User** и **Review**. Секој User може да остави повеќе Reviews, но едно Review може да припаѓа на еден User.
     122 - ''adds item to'' - релација помеѓу **User** и **Wishlist**. Секој User може да има повеќе ставки во Wishlist, но една ставка од Wishlist може да припаѓа само на еден User.
     123 - ''makes payment for'' - релација помеѓу **User** и **Payment**. Секој User може да има повеќе Payments, но еден Payment може да припаѓа на еден User.
     124 - ''receives notification'' - релација помеѓу **User** и **Notification**. Секој User може да добие повеќе Notifications, но една нотификација е пратена до само еден User.
     125 - ''submits'' - релација помеѓу **User** и **Support Ticket**. Секој User може да отвори повеќе Support Tickets, но еден тикет може да е отворен од само еден User.
     126 - ''includes'' - релација помеѓу **Flight** и **Booking**. Секој Flight може да има повеќе Bookings, но еден Booking е линкуван со само еден Flight.
     127 - ''operates on'' - релација помеѓу **Airport** и **Flight**. Секој Airport може да има повеќе departing or arriving Flights, но секој Flight departs or arrives на еден Airport.
     128 - ''receives review for'' - релација помеѓу **Destination** и **Review**. Секој Destination може да има повеќе Reviews, но еден Review може да припаѓа на само една Destination.
     129 - ''handles'' - релација помеѓу **Administrator** и **Support Ticket**. Секој Administrator може да работи на повеќе Support Tickets, но еден Support Ticket може да припаѓа само на еден Administrator.
     130
     131=== M-N Релации
     132
     133 - ''wishlist includes flight'' - релација помеѓу **Flight** и **Wishlist**. Wishlist може да содржи повеќе Flights, и секој Flight може да се содржи во повеќе Wishlists.
     134 - ''wishlist includes destination'' - релација помеѓу **Destination** и **Wishlist**. Wishlist може да содржи повеќе Destinations, и секој Destination може да се содржи во повеќе Wishlists.
     135 - ''review relates to flight'' - релација помеѓу **Flight** и **Review**. Review може да има за повеќе Flights, и зa секој Flight може да има повеќе Reviews.
     136