wiki:DatabaseProgramming

Version 12 (modified by 231044, 5 days ago) ( diff )

--

Functions, procedures and triggers

Функции

Certification Expiry

  • Параметри: DaysUntil (број на денови од моменталниот датум до датумот на истекување)
  • Резултат: табела со колони - EmployeeID, Name, Surname, Active, !CertificationID, CertificationType, AirplaneModel, ExpirationDate, DaysUntilExpiration, IsExpired

Со оваа фунцкија се излистуваат сите сертификати и медицински прегледи на вработените кои истекуваат за DaysUntil.

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 овозможено е пронаоѓање на некои поврзани летови при што се нуди информација и за аеродромот каде се поврзуваат и времето на чекање. Функцијата враќа само два поврзани лета поради тоа што во реалното функционирање на авиокомпании се употребуваат хабови (аердроми кои имаат летови до речиси сите понудени дестинации) - со ова се избегнува потребата од поврзување на повеќе летови со што се подобрува искуството на корисниците.

ConnectingFlights.sql

Find Alternative Flights

  • Параметри: !CancelledFlightID (ID на откажаниот лет) и MaxHours (максимален број на часови од полетувањето на откажаниот лет и ново пронајдениот лет)
  • Резултат: табела со колони - FlightID, FlightNumber, Departure, Arrival, HoursFromOriginal, SeatClass, AvailableSeats

Оваа функција наоѓа алтернативни летови од одреден лет при откажување. Како аргументи ги прима ID на откажаниот лет преку чии податоци знае како да пребара нови летови и максималниот број на часови до полетувањето на новиот пронајден лет. За секој лет се прикажуваат детали како и бројот на слободни седишта од секоја класа.

FindAlternativeFlights.sql

Get Flight Crew

  • Параметри: !FlightID (ID на летот)
  • Резултат: табела со колони - EmployeeId, Name, Surname, DateOfBirth, Rolе

Оваа функција враќа детални податоци за вработените на секој лет - лични податоци како и улога на летот (пилот, копилот или стјуардеса).

GetFlightCrew.sql

Процедури

Add Baggage

  • Параметри: TicketId (ID на карта), BaggageTypeId (ID на тип на багаж), Weight (тежина на багаж), Height (висина на багаж), Length (должина на багаж), Width (ширина на багаж)

Оваа процедура се употребува за додавање на багаж на одредена карта. Кога патникот сака да додаде нов багаж на својата карта за одреден лет процедурата ги проверува соодветно валидноста на летот, картата како и димензиите во споредба со одбраниот тип на багаж. По проверките за валидација се додава нова редица во табелата Baggage.

AddBaggage.2.sql

Assign Seat

  • Параметри: !TicketID (ID на картата), !SeatID (ID на седиштето на конкретен лет)

Оваа процедура се употребува за доделување на слободно седиште на некој патник на даден лет. Се проверува дали постои летот и картата на корисникот, дали корисникот веќе се има качено на авионот (картата има статус Boarded), дали веќе е доделено тоа седиште на таа карта, дали седиштето припаѓа на истиот лет со картата, дали се совпаѓа со избраната класа и дали е веќе резервирано. Доколку не е во табелата Ticket се ажурира полето SeatID, и на атрибутот Reserved во Seat му се доделува вредност true.

AssignSeat.sql

Attachments (16)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.