Changes between Version 4 and Version 5 of DatabaseProgramming
- Timestamp:
- 06/14/26 00:43:18 (3 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DatabaseProgramming
v4 v5 14 14 === 3. fn_notify_worker_premium_start() 15 15 16 Овој тригер се активира кога во табелата Premium_Worker ќе се додаде нов запис, односно кога на работникот му започнува премиум претплатата. Во тој момент автоматски се креира запис во табелата Notification, со кој корисникот се известува дека неговиот премиум статус е успешно активиран. Во известувањето се вклучени името на избраниот премиум план и датумот до кога истиот важи.16 Овој тригер се активира кога во табелата Premium_Worker ќе се додаде нов запис, односно кога на работникот му започнува премиум претплатата. Во тој момент автоматски се креира запис во табелата Notification, со кој работникот се известува дека неговиот премиум статус е успешно активиран. Во известувањето се вклучени името на избраниот премиум план и датумот до кога истиот важи. 17 17 18 18 === 4. prevent_review_without_hire() 19 19 20 Овој тригер се активира при обид на корисник да додаде рецензија за работник. Неговата цел е да спречи креирање рецензии во случаи кога не постои реална соработка помеѓу корисникот и работникот , т.е тригерот проверува дали постои пост од дадениот корисник, во кој пост од работникот има статус "Accepted". Доколку таков случај не постои, внесувањето на рецензија се спречува.20 Овој тригер се активира при обид на корисник да додаде рецензија за работник. Неговата цел е да спречи креирање рецензии во случаи кога не постои реална соработка помеѓу корисникот и работникот за таа конкретна специајност која корисникот пробува да ја оцени. Т.е тригерот проверува дали постои пост од дадениот корисник, во кој пост од работникот има статус "Accepted" и специјалноста е таа која се оценува. Доколку таков случај не постои, внесувањето на рецензија се спречува. 21 21 22 22 === 5. block_application_to_closed_post() … … 26 26 === 6. prevent_duplicate_application() 27 27 28 Овој тригер се активира при обид за креирање нова апликација од страна на работник. Неговата цел е да спречи дуплирање на апликации за ист пост од ист работник. При секое внесување, тригерот проверува дали веќе постои апликација за истиот worker_id и post_id која се уште е активна Доколку таква апликација постои, се генерира грешка и новиот запис се спречува.28 Овој тригер се активира при обид за креирање нова апликација од страна на работник. Неговата цел е да спречи дуплирање на апликации за ист пост од ист работник. При секое внесување, тригерот проверува дали веќе постои апликација за истиот worker_id и post_id која се уште е активна. Доколку таква апликација постои, се генерира грешка и новиот запис се спречува. 29 29 30 30 === 7. fn_auto_create_calendar() 31 31 32 Бидејќи во системот секој работник си има свој календар , при креирање на нов работник за истиот автоматски се креира и календар со овој тригер.32 Бидејќи во системот секој работник си има свој календар (работникот сам одлучува дали ќе го користи или не), при креирање на нов работник за истиот автоматски се креира и календар со овој тригер. 33 33 34 34 35 === 8. fn_auto_create_ notification()35 === 8. fn_auto_create_worker_notification() 36 36 37 37 Овој тригер исто така се однесува на автоматско креирање нотификации, но со фокус на апликациите на мајсторите. Истиот се активира при промена на статусот на апликација. 38 38 39 === 9. fn_auto_reject_pending_applications()39 === 9. sp_auto_reject_pending_applications() 40 40 41 Ов ој тригер се активира при промена на статусот на пост. Неговата цел е автоматски да ги ажурира сите активни апликации кога постот се означува како завршен, т.е тригерот проверува дали статусот на постот се менува во "Completed". Во тој случај, системот автоматски ги пронаоѓа сите апликации за тој пост кои се во статус "Pending" и нивниот статус го менува во „Rejected“.41 Оваа процедура служи за автоматско одбивање на сите останати апликации кога одреден пост повеќе не е активен. Најпрво, процедурата го проверува моменталниот статус на постот. Доколку постот е со статус "Active" го ажурира во статус "Completed". 42 42 43 === 10. fn_auto_complete_post_on_accept() 43 Потоа се извршува ажурирање врз табелата Application, каде што се пронаоѓаат сите апликации поврзани со конкретниот пост кои сè уште немаат статус "Accepted" или "Deleted", и нивниот статус автоматски се менува во "Rejected". 44 44 45 Овој тригер се активира при промена на статусот на апликација. Неговата цел е автоматски да го ажурира статусот на постот кога работник ќе биде прифатен, т.е кога статусот на апликацијата ќе се промени во "Accepted", системот автоматски го означува поврзаниот пост како "Completed". 45 Оваа процедура е потребна во случај кога на одреден пост му се потребни мајстори од повеќе специјалност, а корисникот што го објавил постот одлучува дека за секоја специјалност ќе прифати различни мајстори. Кога корисникот ќе ги прифати сите апликации кои му се од интерес ќе кликне на копче "Одбиј ги останатите апликации и затвори го постот" со што ќе се повика оваа процедура. 46 47 === 10. fn_notify_client_new_application() 48 49 Овој тригер исто така се однесува на автоматско креирање нотификации, но со фокус на постовите на корисниците. Истиот се активира кога на даден пост ќе пристигне нова апликација. 46 50 47 51 48 == Скрипта за креирање погледи52 == Скрипта 49 53 50 54 [https://develop.finki.ukim.mk/projects/MajStore/attachment/wiki/DatabaseProgramming/MajStore_Triggers_Functions_Procedures.sql]
