Changes between Version 4 and Version 5 of AdvancedDatabaseDevelopment
- Timestamp:
- 02/20/26 02:56:02 (4 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedDatabaseDevelopment
v4 v5 3 3 == 1.Тригери и Функции == 4 4 5 === 1.1 Автоматско пресметување на вкупниот износ на продажба (trg_recalculate_sale_total)===5 === 1.1 Автоматско пресметување на вкупниот износ на продажба === 6 6 7 Цел:Автоматски ја ажурира вкупната сума на продажбата секогаш кога се додаваат, менуваат или бришат ставки, со што се обезбедува точна пресметка во базата на податоци.7 Автоматски ја ажурира вкупната сума на продажбата секогаш кога се додаваат, менуваат или бришат ставки, со што се обезбедува точна пресметка во базата на податоци. 8 8 9 9 {{{#!sql … … 39 39 }}} 40 40 41 === 1.2 Спречување на паѓање на залихата во негативна вредност (trg_prevent_negative_stock)===41 === 1.2 Спречување на паѓање на залихата во негативна вредност === 42 42 43 Што прави:Спречува која било операција да ја намали количината на залиха под нула, со што се обезбедува дека залихата никогаш нема да биде негативна.43 Спречува која било операција да ја намали количината на залиха под нула, со што се обезбедува дека залихата никогаш нема да биде негативна. 44 44 45 45 {{{#!sql … … 64 64 }}} 65 65 66 === 1.3 Корисникот не може сам да го избрише својот акаунт === 67 68 Ако најавен корисник се обиде да го избрише својот сопствен акаунт, тоа се спречува. 69 70 {{{#!sql 71 CREATE OR REPLACE FUNCTION trg_func_no_self_delete() RETURNS TRIGGER AS $$ BEGIN 72 IF OLD.username = CURRENT_USER THEN 73 RAISE EXCEPTION 'You cannot delete your own account.'; 74 END IF; 75 RETURN OLD; 76 END; 77 $$ LANGUAGE plpgsql; 78 79 CREATE TRIGGER trg_user_self_delete BEFORE DELETE ON users 80 FOR EACH ROW EXECUTE FUNCTION trg_func_no_self_delete(); 81 }}} 82 66 83 == 2.Views == 67 84 68 === 2.1 vw_sales_by_day_of_week -Кој ден од неделата се продава најмногу? ===85 === 2.1 Кој ден од неделата се продава најмногу? === 69 86 70 87 Кои денови се зафатени, а кои мирни за планирање на персоналот. … … 93 110 }}} 94 111 95 === 2.2 vw_employee_sales_ranking -Кој продавач продава повеќе? ===112 === 2.2 Кој продавач продава повеќе? === 96 113 97 114 Прикажува колку продажби направил секој вработен, колку приход донел и неговото место во рангирањето.
