Changes between Version 2 and Version 3 of DatabaseProgramming


Ignore:
Timestamp:
06/12/26 20:32:09 (3 days ago)
Author:
231001
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v2 v3  
    44= '''Функции:'''
    55=== calculate_full_reservation_price
    6 Функцијата calculate_full_reservation_price ја пресметува вкупната цена на една резервација врз основа на основната цена на престојот, дополнителните активности, изнајмената опрема и услугите достапни на избраната камп-локација. Доколку за резервацијата е применета промоција, функцијата ги пресметува и соодветните попусти (процентуални или фиксни), по што ја враќа конечната цена за плаќање заедно со детална распределба на сите трошоци.
     6Функцијата '''calculate_full_reservation_price'''' ја пресметува вкупната цена на една резервација врз основа на основната цена на престојот, дополнителните активности, изнајмената опрема и услугите достапни на избраната камп-локација. Доколку за резервацијата е применета промоција, функцијата ги пресметува и соодветните попусти (процентуални или фиксни), по што ја враќа конечната цена за плаќање заедно со детална распределба на сите трошоци.
    77=== is_camp_available
    8 Функцијата is_camp_available проверува дали одредена камп-локација е достапна за резервација во зададен временски период. Најпрво ја валидира исправноста на внесените датуми, потоа проверува дали камп-локацијата постои и дали е активна, а потоа пребарува дали постојат постоечки резервации со статус „pending“ или „confirmed“ кои се преклопуваат со бараниот период. Функцијата враќа TRUE доколку локацијата е слободна и достапна за резервација, а FALSE во спротивно.
     8Функцијата '''is_camp_available''' проверува дали одредена камп-локација е достапна за резервација во зададен временски период. Најпрво ја валидира исправноста на внесените датуми, потоа проверува дали камп-локацијата постои и дали е активна, а потоа пребарува дали постојат постоечки резервации со статус „pending“ или „confirmed“ кои се преклопуваат со бараниот период. Функцијата враќа TRUE доколку локацијата е слободна и достапна за резервација, а FALSE во спротивно.
    99= '''Процедури:'''
    1010=== make_reservation
    11 Процедурата make_reservation овозможува креирање нова резервација за избрана камп-локација. Најпрво проверува дали локацијата е достапна во бараниот период, дали бројот на гости го почитува максимално дозволениот капацитет и дали постои важечка цена за избраниот термин. Потоа ја пресметува вкупната цена врз основа на бројот на ноќевања и цената по ноќ, а доколку е внесен промотивен код, го пресметува и применува соодветниот попуст. По успешните проверки, процедурата ја зачувува резервацијата во системот со статус „pending“, ја евидентира вкупната цена и генерира единствен идентификатор за новата резервација.
     11Процедурата '''make_reservation''' овозможува креирање нова резервација за избрана камп-локација. Најпрво проверува дали локацијата е достапна во бараниот период, дали бројот на гости го почитува максимално дозволениот капацитет и дали постои важечка цена за избраниот термин. Потоа ја пресметува вкупната цена врз основа на бројот на ноќевања и цената по ноќ, а доколку е внесен промотивен код, го пресметува и применува соодветниот попуст. По успешните проверки, процедурата ја зачувува резервацијата во системот со статус „pending“, ја евидентира вкупната цена и генерира единствен идентификатор за новата резервација.
    1212=== add_promotion
    13 Процедурата add_promotion овозможува креирање нов промотивен код во системот. Најпрво проверува дали постои домаќин (host) со дадениот идентификатор, дали промотивниот код е единствен и дали внесениот период на важност е правилно дефиниран. Потоа ги валидира вредностите за фиксниот и процентуалниот попуст, осигурувајќи дека е зададен барем еден вид попуст и дека внесените вредности се во дозволените граници. По успешното поминување на сите проверки, процедурата ја зачувува промоцијата во базата на податоци и ја прави достапна за користење при идни резервации.
     13Процедурата '''add_promotion''' овозможува креирање нов промотивен код во системот. Најпрво проверува дали постои домаќин (host) со дадениот идентификатор, дали промотивниот код е единствен и дали внесениот период на важност е правилно дефиниран. Потоа ги валидира вредностите за фиксниот и процентуалниот попуст, осигурувајќи дека е зададен барем еден вид попуст и дека внесените вредности се во дозволените граници. По успешното поминување на сите проверки, процедурата ја зачувува промоцијата во базата на податоци и ја прави достапна за користење при идни резервации.
    1414=== rent_equipment
    15 Процедурата rent_equipment овозможува изнајмување опрема поврзана со постоечка резервација. Најпрво проверува дали резервацијата постои и дали нејзиниот статус дозволува изнајмување опрема, а потоа ја проверува достапноста на избраната опрема и валидноста на периодот за изнајмување. По успешните проверки, процедурата ја пресметува вкупната цена врз основа на времетраењето на изнајмувањето, дневната цена и бараната количина, како и потребниот депозит. Потоа креира запис за изнајмувањето, ја ажурира достапната количина на опремата и ги зачувува промените во базата на податоци.
     15Процедурата '''rent_equipment''' овозможува изнајмување опрема поврзана со постоечка резервација. Најпрво проверува дали резервацијата постои и дали нејзиниот статус дозволува изнајмување опрема, а потоа ја проверува достапноста на избраната опрема и валидноста на периодот за изнајмување. По успешните проверки, процедурата ја пресметува вкупната цена врз основа на времетраењето на изнајмувањето, дневната цена и бараната количина, како и потребниот депозит. Потоа креира запис за изнајмувањето, ја ажурира достапната количина на опремата и ги зачувува промените во базата на податоци.
    1616=== return_equipment
    17 Процедурата return_equipment овозможува евидентирање на враќање на претходно изнајмена опрема. Најпрво проверува дали постои запис за изнајмувањето и дали опремата веќе не е вратена. Доколку условите се исполнети, го менува статусот на изнајмувањето од „rented“ (или активен статус) во „returned“, а потоа ја ажурира достапната количина на соодветната опрема со враќање на изнајмените единици во залихата. На крај, промените се зачувуваат во базата на податоци и се прикажува потврда за успешно враќање на опремата.
     17Процедурата '''return_equipment''' овозможува евидентирање на враќање на претходно изнајмена опрема. Најпрво проверува дали постои запис за изнајмувањето и дали опремата веќе не е вратена. Доколку условите се исполнети, го менува статусот на изнајмувањето од „rented“ (или активен статус) во „returned“, а потоа ја ажурира достапната количина на соодветната опрема со враќање на изнајмените единици во залихата. На крај, промените се зачувуваат во базата на податоци и се прикажува потврда за успешно враќање на опремата.
    1818=== add_reservation_count
    19 Процедурата add_reservation_count служи за ажурирање на бројот на резервации поврзани со одреден гостин. Најпрво проверува дали постои гостин со дадениот идентификатор, а потоа ја презема тековната вредност на бројачот на резервации. По успешната проверка, процедурата го зголемува бројот на резервации за еден, со што се евидентира новокреирана резервација на корисникот. На крај, промените се зачувуваат во базата на податоци и се прикажува информација за успешно ажурирање на бројот на резервации.
     19Процедурата '''add_reservation_count''' служи за ажурирање на бројот на резервации поврзани со одреден гостин. Најпрво проверува дали постои гостин со дадениот идентификатор, а потоа ја презема тековната вредност на бројачот на резервации. По успешната проверка, процедурата го зголемува бројот на резервации за еден, со што се евидентира новокреирана резервација на корисникот. На крај, промените се зачувуваат во базата на податоци и се прикажува информација за успешно ажурирање на бројот на резервации.
    2020= '''Тригери:'''
    2121=== trg_update_host_rating
    22 Тригерот trg_update_host_rating, кој ја повикува функцијата update_host_rating, служи за автоматско ажурирање на просечната оцена на домаќинот (Host) при внесување нова рецензија. По додавањето на нов запис во табелата Review, функцијата го пронаоѓа домаќинот поврзан со соодветната камп-локација и повторно ја пресметува просечната оцена врз основа на сите постоечки рецензии за таа локација. Добиената вредност се зачувува во профилот на домаќинот, а дополнително се освежува и материјализираниот поглед view_camp_avg_rating за да се обезбеди прикажување на најновите податоци.
     22Тригерот '''trg_update_host_rating''', кој ја повикува функцијата '''update_host_rating''', служи за автоматско ажурирање на просечната оцена на домаќинот (Host) при внесување нова рецензија. По додавањето на нов запис во табелата Review, функцијата го пронаоѓа домаќинот поврзан со соодветната камп-локација и повторно ја пресметува просечната оцена врз основа на сите постоечки рецензии за таа локација. Добиената вредност се зачувува во профилот на домаќинот, а дополнително се освежува и материјализираниот поглед '''view_camp_avg_rating''' за да се обезбеди прикажување на најновите податоци.