Changes between Version 14 and Version 15 of DatabaseProgramming


Ignore:
Timestamp:
05/21/26 15:43:45 (5 days ago)
Author:
231026
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v14 v15  
    1818- Резултат: табела со колони - flight1_Number, flight1_Departure, flight1_Arrival, connection, layoverMinutes, flight2_Number, flight2_Departure, flight2_Arrival
    1919
    20 Оваа функција пронаоѓа лет од аеродром со код !DepartureCode до аеродром со код !ArrivalCode на датум Date. Многу дестинации и рути помеѓу два аеродроми во реални авиокомпании немаат директни летови, туку најчесто се поврзани. Со функцијата Connecting Flights овозможено е пронаоѓање на некои поврзани летови при што се нуди информација и за аеродромот каде се поврзуваат и времето на чекање. Функцијата враќа само два поврзани лета поради тоа што во реалното функционирање на авиокомпании се употребуваат хабови (аердроми кои имаат летови до речиси сите понудени дестинации) - со ова се избегнува потребата од поврзување на повеќе летови со што се подобрува искуството на корисниците.
     20Оваа функција пронаоѓа лет од аеродром со код !DepartureCode до аеродром со код !ArrivalCode на датум Date. Многу дестинации и рути помеѓу два аеродроми во реални авиокомпании немаат директни летови, туку најчесто се поврзани. Со функцијата Connecting Flights овозможено е пронаоѓање на некои поврзани летови, при што се нуди информација и за аеродромот каде се поврзуваат и времето на чекање. Функцијата враќа само два поврзани лета поради тоа што во реалното функционирање на авиокомпании се употребуваат хабови (аердроми кои имаат летови до речиси сите понудени дестинации) - со ова се избегнува потребата од поврзување на повеќе летови, со што се подобрува искуството на корисниците.
    2121
    2222[attachment:ConnectingFlights.sql]
     
    2727- Резултат: табела со колони - FlightID, FlightNumber, Departure, Arrival, HoursFromOriginal, SeatClass, AvailableSeats
    2828
    29 Оваа функција наоѓа алтернативни летови од одреден лет при откажување. Како аргументи ги прима ID на откажаниот лет преку чии податоци знае како да пребара нови летови и максималниот број на часови до полетувањето на новиот пронајден лет. За секој лет се прикажуваат детали како и бројот на слободни седишта од секоја класа.
     29Оваа функција наоѓа алтернативни летови од одреден лет при откажување. Како аргументи ги прима ID на откажаниот лет, преку чии податоци знае како да пребара нови летови, и максималниот број на часови до полетувањето на новиот пронајден лет. За секој лет се прикажуваат детали, како и бројот на слободни седишта од секоја класа.
    3030
    3131[attachment:FindAlternativeFlights.sql]
     
    3636- Резултат: табела со колони - EmployeeId, Name, Surname, DateOfBirth, Rolе
    3737
    38 Оваа функција враќа детални податоци за вработените на секој лет - лични податоци како и улога на летот (пилот, копилот или стјуардеса).
     38Оваа функција враќа детални податоци за вработените на секој лет - лични податоци, како и нивната улога на летот (пилот, копилот или стјуардеса).
    3939
    4040[attachment:GetFlightCrew.sql]
     
    4747- Параметри: TicketId (ID на карта), BaggageTypeId (ID на тип на багаж), Weight (тежина на багаж), Height (висина на багаж), Length (должина на багаж), Width (ширина на багаж)
    4848
    49 Оваа процедура се употребува за додавање на багаж на одредена карта. Кога патникот сака да додаде нов багаж на својата карта за одреден лет процедурата ги проверува соодветно валидноста на летот, картата како и димензиите во споредба со одбраниот тип на багаж. По проверките за валидација се додава нова редица во табелата Baggage.
     49Оваа процедура се употребува за додавање на багаж на одредена карта. Кога патникот сака да додаде нов багаж на својата карта за одреден лет, процедурата ги проверува соодветно валидноста на летот, картата, како и димензиите во споредба со одбраниот тип на багаж. По проверките за валидација се додава нова редица во табелата Baggage.
    5050
    5151[attachment:AddBaggage.sql]
     
    5555- Параметри: !TicketID (ID на картата), !SeatID (ID на седиштето на конкретен лет)
    5656
    57 Оваа процедура се употребува за доделување на слободно седиште на некој патник на даден лет. Се проверува дали постои летот и картата на корисникот, дали корисникот веќе се има качено на авионот (картата има статус Boarded), дали веќе е доделено тоа седиште на таа карта, дали седиштето припаѓа на истиот лет со картата, дали се совпаѓа со избраната класа и дали е веќе резервирано. Доколку не е во табелата Ticket се ажурира полето SeatID, и на атрибутот Reserved во Seat му се доделува вредност true.
     57Оваа процедура се употребува за доделување на слободно седиште на некој патник на даден лет. Се проверува дали постојат летот и картата на корисникот, дали корисникот веќе се има качено на авионот (картата има статус Boarded), дали веќе е доделено тоа седиште на таа карта, дали седиштето припаѓа на истиот лет со картата, дали се совпаѓа со избраната класа, и дали е веќе резервирано. Доколку не е, во табелата Ticket се ажурира полето SeatID, и на атрибутот Reserved во табелата Seat му се доделува вредност true.
    5858
    5959[attachment:AssignSeat.sql]
     
    6363- Параметри: !TicketID (ID на картата)
    6464
    65 Оваа процедура сетира статус на картата - Boarded. Се прават претходно проверки дали картата не е Boarded и дали веќе е !CheckedIn. Исто така се проверува дали е започнат процесот на чекирање (од 8 часа до 45 минути до полетување). Исто така доколку нема доделено седиште, системот автоматски му доделува седиште од иста класа како со картата на патникот.
     65Оваа процедура сетира статус на картата - Boarded. Пред да се направи тоа, се прават проверки дали картата не е Boarded и дали веќе е !CheckedIn. Исто така, се проверува дали е започнат процесот на чекирање (од 8 часа до 45 минути до полетување). Исто така, доколку нема доделено седиште, системот автоматски му доделува седиште од иста класа како со картата на патникот.
    6666
    6767[attachment:CheckInTicket.sql]
     
    7171- Параметри: !TicketID (ID на картата)
    7272
    73 Оваа процедура сетира статус на картата - Boarded. Се прават претходно проверки дали картата е !CheckedIn и дали веќе е Boarded. Исто така се проверува дали е дозволен влез на авионот (од 1 час до 15 минути до полетување).
     73Оваа процедура сетира статус на картата - Boarded. Пред да се направи тоа, се прават проверки дали картата е !CheckedIn и дали веќе е Boarded. Исто така, се проверува дали е дозволен влез на авионот (од 1 час до 15 минути до полетување).
    7474
    7575[attachment:Board.sql]
     
    7979- Параметри: !FlightID (ID на летот), CancellationReason (причина за откажување)
    8080
    81 Со оваа процедура вработените во авиокомпанијата можат да откажат одреден лет и да наведат причина за истото. Се вршат проверки дали летот постои, дали е веќе откажан или дали е веќе полетан. Доколку поминат проверките се менува статусот на летот во Cancelled, се додава нова колона во табелата !CancelledFlight и се менува статусот на сите карти за тој лет во Cancelled.
     81Со оваа процедура вработените во авиокомпанијата можат да откажат одреден лет и да наведат причина за истото. Се вршат проверки дали летот постои, дали е веќе откажан или дали е веќе полетан. Доколку поминат проверките, се менува статусот на летот во Cancelled, се додава нова колона во табелата !CancelledFlight и се менува статусот на сите карти за тој лет во Cancelled.
    8282
    8383[attachment:CancelFlight.sql]
     
    9595- Параметри: PassangerID (ID на патникот), FlightID (ID на летот), SeatClassID (ID на класата седиште), SeatID (ID на резервирано седиште), ReservationID (ID на резервација)
    9696
    97 Со оваа процедура овозможено е купување на билет за одреден лет. Потребно е да се внесат корисникот, летот, класата, резервацијата и незадолжително може да се внесе и резервирано седиште доколку корисникот сака да го резервира однапред (дополнителната цена се додава на вкупната цена на билетот). Се прават проверки дали постои летот, дали е дозволено купување на билет (треба да има повеќе од 3 часа време до полетување), дали летот е откажан и слично. На крај, се пресметува цената на билетот според растојанието и класата и се додава нова редица во колоната Ticket.
     97Со оваа процедура е овозможено купување на билет за одреден лет. Потребно е да се внесат корисникот, летот, класата, резервацијата и незадолжително може да се внесе и резервирано седиште доколку корисникот сака да го резервира однапред (дополнителната цена се додава на вкупната цена на билетот). Се прават проверки дали постои летот, дали е дозволено купување на билет (треба да има повеќе од 3 часа време до полетување), дали летот е откажан и слично. На крај, се пресметува цената на билетот според растојанието и класата и се додава нова редица во колоната Ticket.
    9898
    9999[attachment:PurchaseTicket.sql]
     
    104104=== Award Mile Points
    105105
    106 При слетување на некои лет (ажурирање на статусот на лет во Arrived) на секој патнике кој се качил на авионот (поседува карта со статус Boarded) добива поени според растојанието на летот како и класата на седиште.
     106При слетување на некој лет (ажурирање на статусот на лет во Arrived) на секој патник кој се качил на авионот (поседува карта со статус Boarded) му се доделуваат поени според растојанието на летот и класата на седиштето.
    107107
    108108[attachment:AwardMilePoints.sql]
     
    122122=== Update Airplane Flight Hours
    123123
    124 Кога статусот на некој лет се променува во Arrived, вкупниот број на летани часови на авионот се зголемуваат за растојанието поминато.
     124Кога статусот на некој лет се менува во Arrived, вкупниот број на часови на летање на авионот се зголемуваат за времето кое било потребно да се помине растојанието од почетната до крајната дестинација на летот.
    125125
    126126[attachment:UpdateAirplaneFlightHours.sql]
     
    128128=== Update Last Maintenance
    129129
    130 При извршување на сервис на некој авион (додавање на редица во табелара Maintenance), потребно е атрибутот !LastMaintenance на авионот да се ажурира на ID на новиот сервис.
     130При извршување на сервис на некој авион (додавање на редица во табелата Maintenance), потребно е атрибутот !LastMaintenance на авионот да се ажурира на ID на новиот сервис.
    131131
    132132[attachment:UpdateLastMaintenance.sql]