Changes between Version 4 and Version 5 of AdvancedDatabaseDevelopment


Ignore:
Timestamp:
02/20/26 02:56:02 (4 days ago)
Author:
221181
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedDatabaseDevelopment

    v4 v5  
    33== 1.Тригери и Функции ==
    44
    5 === 1.1 Автоматско пресметување на вкупниот износ на продажба (trg_recalculate_sale_total) ===
     5=== 1.1 Автоматско пресметување на вкупниот износ на продажба ===
    66
    7 Цел: Автоматски ја ажурира вкупната сума на продажбата секогаш кога се додаваат, менуваат или бришат ставки, со што се обезбедува точна пресметка во базата на податоци.
     7Автоматски ја ажурира вкупната сума на продажбата секогаш кога се додаваат, менуваат или бришат ставки, со што се обезбедува точна пресметка во базата на податоци.
    88
    99{{{#!sql
     
    3939}}}
    4040
    41 === 1.2 Спречување на паѓање на залихата во негативна вредност (trg_prevent_negative_stock) ===
     41=== 1.2 Спречување на паѓање на залихата во негативна вредност ===
    4242
    43 Што прави: Спречува која било операција да ја намали количината на залиха под нула, со што се обезбедува дека залихата никогаш нема да биде негативна.
     43Спречува која било операција да ја намали количината на залиха под нула, со што се обезбедува дека залихата никогаш нема да биде негативна.
    4444
    4545{{{#!sql
     
    6464}}}
    6565
     66=== 1.3 Корисникот не може сам да го избрише својот акаунт ===
     67
     68Ако најавен корисник се обиде да го избрише својот сопствен акаунт, тоа се спречува.
     69
     70{{{#!sql
     71CREATE 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;
     76END;
     77 $$ LANGUAGE plpgsql;
     78
     79CREATE TRIGGER trg_user_self_delete BEFORE DELETE ON users
     80FOR EACH ROW EXECUTE FUNCTION trg_func_no_self_delete();
     81}}}
     82
    6683== 2.Views ==
    6784
    68 === 2.1 vw_sales_by_day_of_week - Кој ден од неделата се продава најмногу? ===
     85=== 2.1 Кој ден од неделата се продава најмногу? ===
    6986
    7087Кои денови се зафатени, а кои мирни за планирање на персоналот.
     
    93110}}}
    94111
    95 === 2.2 vw_employee_sales_ranking - Кој продавач продава повеќе? ===
     112=== 2.2 Кој продавач продава повеќе? ===
    96113
    97114Прикажува колку продажби направил секој вработен, колку приход донел и неговото место во рангирањето.