Changes between Version 3 and Version 4 of Design
- Timestamp:
- 02/07/25 17:28:59 (4 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Design
v3 v4 19 19 === Најважни случаи на употреба 20 20 1. **Регистрација на нов вработен од страна на администратор** 21 22 {{{ 23 CREATE 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 21 34 2. **Приказ на сите клиенти и деталите за одреден клиент** 35 All 36 37 {{{ 38 SELECT 39 client_id, 40 name, 41 contact_person, 42 email, 43 phone, 44 city, 45 country 46 FROM 47 Client 48 ORDER BY 49 name; 50 51 {{{ 52 53 Specific Client 54 55 {{{ 56 SELECT 57 cl.*, 58 COUNT(i.invoice_id) AS total_invoices, 59 SUM(i.total_amount) AS total_amount_due 60 FROM 61 Client cl 62 LEFT JOIN 63 Invoice i ON cl.client_id = i.client_id AND i.status = 'Unpaid' 64 WHERE 65 cl.client_id = 5 -- Replace 5 with the specific client ID 66 GROUP BY 67 cl.client_id; 68 69 }}} 70 71 22 72 3. **Креирање и уредување на фактури** 73 All 74 {{{ 75 SELECT 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 82 FROM 83 Invoice i 84 JOIN 85 Client c ON i.client_id = c.client_id 86 ORDER BY 87 i.issue_date DESC; 88 89 }}} 90 91 92 New Invoice 93 {{{ 94 INSERT INTO Invoice (client_id, issue_date, due_date, total_amount) 95 VALUES 96 (3, CURRENT_DATE, CURRENT_DATE + INTERVAL '30 days', 1250.00); 97 98 }}} 99 100 Modify Existing Invoice 101 102 {{{ 103 UPDATE Invoice 104 SET 105 total_amount = 1350.00, 106 due_date = '2025-03-01', 107 status = 'Paid' 108 WHERE 109 invoice_id = 2; -- Replace 2 with the actual invoice ID 110 111 }}} 112 113