Changes between Version 3 and Version 4 of Design


Ignore:
Timestamp:
02/07/25 17:28:59 (4 months ago)
Author:
163080
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Design

    v3 v4  
    1919=== Најважни случаи на употреба
    20201. **Регистрација на нов вработен од страна на администратор**
     21
     22{{{
     23CREATE TABLE Employee (
     24    employee_id BIGSERIAL PRIMARY KEY,
     25    first_name VARCHAR(255) NOT NULL,
     26    last_name VARCHAR(255) NOT NULL,
     27    email VARCHAR(255) UNIQUE NOT NULL,
     28    password_hash VARCHAR(255) NOT NULL,
     29    role VARCHAR(50) CHECK (role IN ('Admin', 'Manager', 'Accountant')) NOT NULL,
     30    date_of_employment DATE NOT NULL DEFAULT CURRENT_DATE
     31);
     32}}}
     33
    21342. **Приказ на сите клиенти и деталите за одреден клиент**
     35All
     36
     37{{{
     38SELECT
     39    client_id,
     40    name,
     41    contact_person,
     42    email,
     43    phone,
     44    city,
     45    country
     46FROM
     47    Client
     48ORDER BY
     49    name;
     50
     51{{{
     52
     53Specific Client
     54
     55{{{
     56SELECT
     57    cl.*,
     58    COUNT(i.invoice_id) AS total_invoices,
     59    SUM(i.total_amount) AS total_amount_due
     60FROM
     61    Client cl
     62LEFT JOIN
     63    Invoice i ON cl.client_id = i.client_id AND i.status = 'Unpaid'
     64WHERE
     65    cl.client_id = 5  -- Replace 5 with the specific client ID
     66GROUP BY
     67    cl.client_id;
     68
     69}}}
     70
     71
    22723. **Креирање и уредување на фактури**
     73All
     74{{{
     75SELECT
     76    i.invoice_id,
     77    c.name AS client_name,
     78    i.issue_date,
     79    i.due_date,
     80    i.total_amount,
     81    i.status
     82FROM
     83    Invoice i
     84JOIN
     85    Client c ON i.client_id = c.client_id
     86ORDER BY
     87    i.issue_date DESC;
     88
     89}}}
     90
     91
     92New Invoice
     93{{{
     94INSERT INTO Invoice (client_id, issue_date, due_date, total_amount)
     95VALUES
     96(3, CURRENT_DATE, CURRENT_DATE + INTERVAL '30 days', 1250.00);
     97
     98}}}
     99
     100Modify Existing Invoice
     101
     102{{{
     103UPDATE Invoice
     104SET
     105    total_amount = 1350.00,
     106    due_date = '2025-03-01',
     107    status = 'Paid'
     108WHERE
     109    invoice_id = 2; -- Replace 2 with the actual invoice ID
     110
     111}}}
     112
     113