==== Дневен буџет до крајот на месецот за корисник Дневен буџет базиран на вкупниот баланс на сите сметки на корисникот {{{#!sql CREATE OR REPLACE FUNCTION get_daily_budget_user( p_user_id INT ) RETURNS TABLE ( daily_budget NUMERIC ) LANGUAGE plpgsql AS $$ BEGIN RETURN QUERY SELECT COALESCE(SUM(ta.balance), 0) / (DATE_PART('day', DATE_TRUNC('month', CURRENT_DATE + INTERVAL '1 MONTH') - INTERVAL '1 DAY') - DATE_PART('day', CURRENT_DATE) + 1) AS daily_budget FROM transaction_account ta WHERE ta.user_id = p_user_id; END; $$; }}} ==== Релациона алгебра - TA(transaction_account_id, user_id, balance) Филтрирање по корисник: - F ← σ,,user_id = p_user_id,,(TA) Агрегација на вкупен баланс: - S ← γ,,; SUM(balance) → total_balance,,(F) Пресметка на дневен буџет до крајот на месецот: - R_final ← γ,,; total_balance / (DATE_PART('day', DATE_TRUNC('month', CURRENT_DATE + INTERVAL '1 MONTH') - INTERVAL '1 DAY')- DATE_PART('day', CURRENT_DATE) + 1) → daily_budget,,(S)