Changes between Version 21 and Version 22 of DatabaseProgramming


Ignore:
Timestamp:
05/13/26 13:55:58 (13 days ago)
Author:
231027
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v21 v22  
    33== Функции
    44
    5 === get_current_price
     5=== `get_current_price`
    66
    77Оваа функција ја пресметува моменталната цена на билетот земајќи ги предвид активните промотивни периоди или поскапувања во реално време. Таа проверува дали за денешниот датум постои дефиниран период за промена на цената и соодветно ја зголемува или намалува основната цена.
     
    4343}}}
    4444
    45 === calculate_refund_amount
     45=== `calculate_refund_amount`
    4646
    4747Оваа функција ја пресметува сумата за рефундација со примена на 15% задршка од оригиналната уплата. Таа го идентификува плаќањето преку неговиот уникатен ID и враќа 85% од износот како финален износ за поврат на средства.
     
    7575== Процедури
    7676
    77 === buy_ticket
     77=== `buy_ticket`
    7878
    7979Оваа процедура го извршува целиот процес на купување билет, вклучувајќи пресметка на цена, генерирање на уникатен QR код и креирање на запис за трансакцијата. По успешното купување, процедурата автоматски го менува статусот на билетот во недостапен за да се спречи двојна продажба.
     
    104104}}}
    105105
    106 === schedule_new_happening
     106=== `schedule_new_happening`
    107107
    108108Оваа процедура се користи за автоматизирано закажување на нов настан и генерирање на инвентар од билети за сите достапни седишта во објектот. Со еден повик, таа го креира настанот и веднаш ги пополнува соодветните табели со достапни билети за секоја секција во салата.
     
    143143== Тригери
    144144
    145 === trg_check_ticket_availability
     145=== `trg_check_ticket_availability`
    146146
    147147Овој тригер служи како безбедносен механизам кој пред секое купување проверува дали билетот е навистина слободен. Доколку билетот е веќе продаден, тригерот ја блокира трансакцијата и фрла грешка, со што се спречува конфликт на податоци.
     
    165165}}}
    166166
    167 === trg_check_user_age
     167=== `trg_check_user_age`
    168168
    169169Овој тригер врши автоматска проверка на старосната граница на корисникот пред да му дозволи да купи билет за одреден настан. Доколку настанот има ограничување (на пр. 18+), тригерот ја пресметува возраста на корисникот и го блокира внесувањето во табелата за нарачки ако условот не е исполнет.
     
    200200}}}
    201201
    202 === trg_check_venue_schedule
     202=== `trg_check_venue_schedule`
    203203
    204204Овој тригер спречува преклопување на два настани во ист објект и во исто време. Пред секој внес или измена во распоредот, базата проверува дали терминот е веќе резервиран за таа локација.
     
    227227}}}
    228228
    229 === trg_check_performer_availability
     229=== `trg_check_performer_availability`
    230230
    231231Овој тригер гарантира дека еден изведувач не може да биде на две места истовремено. Со поврзување на табелите за изведувачи и настани, системот автоматски го блокира секој обид за дуплирање на ангажманот во ист термин.
     
    262262}}}
    263263
    264 === trg_validate_event_rating
     264=== `trg_validate_event_rating`
    265265
    266266Овој тригер овозможува оставање на рејтинг само за корисници кои поседуваат валиден билет за конкретниот настан. Системот проверува дали постои купопродажен запис кој не е поврзан со рефундација, со што се спречува лажно оценување од корисници кои не присуствувале на настанот.