Changes between Version 4 and Version 5 of DatabaseProgramming


Ignore:
Timestamp:
06/14/26 00:43:18 (3 days ago)
Author:
231049
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v4 v5  
    1414=== 3. fn_notify_worker_premium_start()
    1515
    16 Овој тригер се активира кога во табелата Premium_Worker ќе се додаде нов запис, односно кога на работникот му започнува премиум претплатата. Во тој момент автоматски се креира запис во табелата Notification, со кој корисникот се известува дека неговиот премиум статус е успешно активиран. Во известувањето се вклучени името на избраниот премиум план и датумот до кога истиот важи.
     16Овој тригер се активира кога во табелата Premium_Worker ќе се додаде нов запис, односно кога на работникот му започнува премиум претплатата. Во тој момент автоматски се креира запис во табелата Notification, со кој работникот се известува дека неговиот премиум статус е успешно активиран. Во известувањето се вклучени името на избраниот премиум план и датумот до кога истиот важи.
    1717
    1818=== 4. prevent_review_without_hire()
    1919
    20 Овој тригер се активира при обид на корисник да додаде рецензија за работник. Неговата цел е да спречи креирање рецензии во случаи кога не постои реална соработка помеѓу корисникот и работникот, т.е тригерот проверува дали постои пост од дадениот корисник, во кој пост од работникот има статус "Accepted". Доколку таков случај не постои, внесувањето на рецензија се спречува.
     20Овој тригер се активира при обид на корисник да додаде рецензија за работник. Неговата цел е да спречи креирање рецензии во случаи кога не постои реална соработка помеѓу корисникот и работникот за таа конкретна специајност која корисникот пробува да ја оцени. Т.е тригерот проверува дали постои пост од дадениот корисник, во кој пост од работникот има статус "Accepted" и специјалноста е таа која се оценува. Доколку таков случај не постои, внесувањето на рецензија се спречува.
    2121
    2222=== 5. block_application_to_closed_post()
     
    2626=== 6. prevent_duplicate_application()
    2727
    28 Овој тригер се активира при обид за креирање нова апликација од страна на работник. Неговата цел е да спречи дуплирање на апликации за ист пост од ист работник. При секое внесување, тригерот проверува дали веќе постои апликација за истиот worker_id и post_id која се уште е активна Доколку таква апликација постои, се генерира грешка и новиот запис се спречува.
     28Овој тригер се активира при обид за креирање нова апликација од страна на работник. Неговата цел е да спречи дуплирање на апликации за ист пост од ист работник. При секое внесување, тригерот проверува дали веќе постои апликација за истиот worker_id и post_id која се уште е активна. Доколку таква апликација постои, се генерира грешка и новиот запис се спречува.
    2929
    3030=== 7. fn_auto_create_calendar()
    3131
    32 Бидејќи во системот секој работник си има свој календар, при креирање на нов работник за истиот автоматски се креира и календар со овој тригер.
     32Бидејќи во системот секој работник си има свој календар (работникот сам одлучува дали ќе го користи или не), при креирање на нов работник за истиот автоматски се креира и календар со овој тригер.
    3333
    3434
    35 === 8. fn_auto_create_notification()
     35=== 8. fn_auto_create_worker_notification()
    3636
    3737Овој тригер исто така се однесува на автоматско креирање нотификации, но со фокус на апликациите на мајсторите. Истиот се активира при промена на статусот на апликација.
    3838
    39 === 9. fn_auto_reject_pending_applications()
     39=== 9. sp_auto_reject_pending_applications()
    4040
    41 Овој тригер се активира при промена на статусот на пост. Неговата цел е автоматски да ги ажурира сите активни апликации кога постот се означува како завршен, т.е тригерот проверува дали статусот на постот се менува во "Completed". Во тој случај, системот автоматски ги пронаоѓа сите апликации за тој пост кои се во статус "Pending" и нивниот статус го менува во „Rejected“.
     41Оваа процедура служи за автоматско одбивање на сите останати апликации кога одреден пост повеќе не е активен. Најпрво, процедурата го проверува моменталниот статус на постот.  Доколку постот е со статус "Active" го ажурира во статус "Completed".
    4242
    43 === 10. fn_auto_complete_post_on_accept()
     43Потоа се извршува ажурирање врз табелата Application, каде што се пронаоѓаат сите апликации поврзани со конкретниот пост кои сè уште немаат статус "Accepted" или "Deleted", и нивниот статус автоматски се менува во "Rejected".
    4444
    45 Овој тригер се активира при промена на статусот на апликација. Неговата цел е автоматски да го ажурира статусот на постот кога работник ќе биде прифатен, т.е кога статусот на апликацијата ќе се промени во "Accepted", системот автоматски го означува поврзаниот пост како "Completed".
     45Оваа процедура е потребна во случај кога на одреден пост му се потребни мајстори од повеќе специјалност, а корисникот што го објавил постот одлучува дека за секоја специјалност ќе прифати различни мајстори. Кога корисникот ќе ги прифати сите апликации кои му се од интерес ќе кликне на копче "Одбиј ги останатите апликации и затвори го постот" со што ќе се повика оваа процедура.
     46
     47=== 10. fn_notify_client_new_application()
     48
     49Овој тригер исто така се однесува на автоматско креирање нотификации, но со фокус на постовите на корисниците. Истиот се активира кога на даден пост ќе пристигне нова апликација.
    4650
    4751
    48 == Скрипта за креирање погледи
     52== Скрипта
    4953
    5054[https://develop.finki.ukim.mk/projects/MajStore/attachment/wiki/DatabaseProgramming/MajStore_Triggers_Functions_Procedures.sql]