= Фаза 4: Функции, процедури, тригери = Апликациската логика е имплементирана на ниво на база на податоци со користење на PL/pgSQL функции, процедури и тригери. Во продолжение се издвоени најважните функционалности имплементирани преку процедури и тригери: == 1. Ослободување на откажани билети (Тригер функција) == * '''Назив:''' `trg_fn_release_cancelled_tickets()` * '''Опис:''' Тригер кој се активира автоматски по бришење или откажување на резервација, враќајќи ги билетите повторно во системот како слободни и ажурирајќи го вкупниот број на достапни места. == 2. Процес на купување билет (Процедура) == * '''Назив:''' `sp_buy_ticket(int4, int4)` * '''Опис:''' Процедура која ја менаџира трансакцијата за купување билет. Проверува достапност, креира резервација и го поврзува корисникот со генерираниот билет. * '''Пример за повик:''' `CALL public.sp_buy_ticket(1, 105);` == 3. Проверка на достапност (Функција) == * '''Назив:''' `fn_check_availability(int4)` * '''Опис:''' Функција која за даден ID на настан или сектор брзо проверува и го враќа преостанатиот број на слободни места, спречувајќи "overbooking".