= Functions, procedures and triggers == Функции === Certification Expiry - Параметри: !DaysUntil (број на денови од моменталниот датум до датумот на истекување) - Резултат: табела со колони - EmployeeID, Name, Surname, Active, !CertificationID, CertificationType, !AirplaneModel, !ExpirationDate, !DaysUntilExpiration, !IsExpired Со оваа фунцкија се излистуваат сите сертификати и медицински прегледи на вработените кои истекуваат за !DaysUntil. [attachment:CertificationExpiry.sql] === Connecting Flights - Параметри: !DepartureCode (код на аеродромот од кој се полетува), !ArrivalCode (кон на аеродромот од кој се слетуава), Date (датум на лет) - Резултат: табела со колони - flight1_Number, flight1_Departure, flight1_Arrival, connection, layoverMinutes, flight2_Number, flight2_Departure, flight2_Arrival Оваа функција пронаоѓа лет од аеродром со код !DepartureCode до аеродром со код !ArrivalCode на датум Date. Многу дестинации и рути помеѓу два аеродроми во реални авиокомпании немаат директни летови, туку најчесто се поврзани. Со функцијата Connecting Flights овозможено е пронаоѓање на некои поврзани летови при што се нуди информација и за аеродромот каде се поврзуваат и времето на чекање. Функцијата враќа само два поврзани лета поради тоа што во реалното функционирање на авиокомпании се употребуваат хабови (аердроми кои имаат летови до речиси сите понудени дестинации) - со ова се избегнува потребата од поврзување на повеќе летови со што се подобрува искуството на корисниците. [attachment:ConnectingFlights.sql] === Find Alternative Flights - Параметри: !CancelledFlightID (ID на откажаниот лет) и !MaxHours (максимален број на часови од полетувањето на откажаниот лет и ново пронајдениот лет) - Резултат: табела со колони - FlightID, FlightNumber, Departure, Arrival, HoursFromOriginal, SeatClass, AvailableSeats Оваа функција наоѓа алтернативни летови од одреден лет при откажување. Како аргументи ги прима ID на откажаниот лет преку чии податоци знае како да пребара нови летови и максималниот број на часови до полетувањето на новиот пронајден лет. За секој лет се прикажуваат детали како и бројот на слободни седишта од секоја класа. [attachment:FindAlternativeFlights.sql] === Get Flight Crew - Параметри: !FlightID (ID на летот) - Резултат: табела со колони - EmployeeId, Name, Surname, DateOfBirth, Rolе Оваа функција враќа детални податоци за вработените на секој лет - лични податоци како и улога на летот (пилот, копилот или стјуардеса). [attachment:GetFlightCrew.sql] == Процедури === Add Baggage - Параметри: TicketId (ID на карта), BaggageTypeId (ID на тип на багаж), Weight (тежина на багаж), Height (висина на багаж), Length (должина на багаж), Width (ширина на багаж) Оваа процедура се употребува за додавање на багаж на одредена карта. Кога патникот сака да додаде нов багаж на својата карта за одреден лет процедурата ги проверува соодветно валидноста на летот, картата како и димензиите во споредба со одбраниот тип на багаж. По проверките за валидација се додава нова редица во табелата Baggage.