DatabaseCreation: views.sql

File views.sql, 3.8 KB (added by 233088, 12 days ago)
Line 
1-- 1. ДЕТАЛЕН ПРЕГЛЕД НА СМЕТКИ (Со име на клиент и салдо)
2CREATE OR REPLACE VIEW vw_smetki_detali AS
3SELECT
4 s.smetka_id, s.broj_smetka, s.tip_smetka, s.saldo, v.kod AS valuta,
5 k.ime, k.prezime, k.embg, s.status
6FROM smetka s
7JOIN klient k ON s.klient_id = k.klient_id
8JOIN valuta v ON s.valuta_id = v.valuta_id;
9
10-- 2. МОНИТОРИНГ НА КАРТИЧКИ (Поврзани со сопственикот)
11CREATE OR REPLACE VIEW vw_karticki_klienti AS
12SELECT
13 ka.broj_karticka, ka.status AS karticka_status, ka.datum_istekuvanje,
14 tk.ime AS tip_karticka, s.broj_smetka,
15 k.ime, k.prezime
16FROM karticka ka
17JOIN tip_karticka tk ON ka.tip_karticka_id = tk.tip_karticka_id
18JOIN smetka s ON ka.smetka_id = s.smetka_id
19JOIN klient k ON s.klient_id = k.klient_id;
20
21-- 3. КРЕДИТИ И СТАТУС НА РАТИ (Проверка на секоја рата поединечно)
22-- Овој поглед ти овозможува да видиш која точно рата е платена а која не
23CREATE OR REPLACE VIEW vw_kreditni_rati_status AS
24SELECT
25 kr.kredit_id, k.ime, k.prezime,
26 r.rata_kredit_id, r.iznos_rata, r.datum_na_valuta, r.status AS status_rata,
27 v.kod AS valuta
28FROM rata_kredit r
29JOIN kredit kr ON r.kredit_id = kr.kredit_id
30JOIN smetka s ON s.kredit_id = kr.kredit_id
31JOIN klient k ON s.klient_id = k.klient_id
32JOIN valuta v ON kr.valuta_id = v.valuta_id;
33
34-- 4. ТРАНСАКЦИОНЕН ЛОГ (Со имиња на испраќач и примач)
35CREATE OR REPLACE VIEW vw_transakcii_imiња AS
36SELECT
37 t.transakcija_id, t.datum_transakcija, t.iznos,
38 k_od.ime AS isprakjac_ime, k_od.prezime AS isprakjac_prezime,
39 k_do.ime AS primac_ime, k_do.prezime AS primac_prezime,
40 t.opis
41FROM transakcija t
42JOIN smetka s_od ON t.smetka_isprakjac_id = s_od.smetka_id
43JOIN klient k_od ON s_od.klient_id = k_od.klient_id
44JOIN smetka s_do ON t.smetka_primac_id = s_do.smetka_id
45JOIN klient k_do ON s_do.klient_id = k_do.klient_id;
46
47-- 5. ЦЕНТРАЛЕН КЛИЕНТСКИ АДРЕСАР
48CREATE OR REPLACE VIEW vw_klient_kontakt_info AS
49SELECT
50 k.klient_id, k.ime, k.prezime, bu.username,
51 t.telefonski_broj, e.email,
52 concat(a.grad, ', ', a.ulica, ' ', a.broj) AS adresa
53FROM klient k
54JOIN bank_user bu ON k.user_id = bu.user_id
55LEFT JOIN telefon t ON k.klient_id = t.klient_id
56LEFT JOIN email e ON k.klient_id = e.klient_id
57LEFT JOIN adresa a ON k.klient_id = a.klient_id;
58
59-- 6. ПРЕГЛЕД НА ДЕПОЗИТИ ПО КЛИЕНТ
60CREATE OR REPLACE VIEW vw_depoziti_klienti AS
61SELECT
62 d.depozit_id, d.iznos_depozit, d.kamatna_stapka, d.tip_depozit,
63 k.ime, k.prezime, s.broj_smetka
64FROM depozit d
65JOIN smetka s ON d.smetka_id = s.smetka_id
66JOIN klient k ON s.klient_id = k.klient_id;
67
68-- 7. ПРАВНИ ДОГОВОРИ (Со потписници)
69CREATE OR REPLACE VIEW vw_dogovori_detali AS
70SELECT
71 d.dogovor_id, d.naslov, d.status, d.datum_potpisuvanje,
72 k.ime, k.prezime, u.ime AS usluga_ime
73FROM dogovor d
74JOIN klient k ON d.klient_id = k.klient_id
75JOIN usluga u ON d.usluga_id = u.usluga_id;
76
77-- 8. АНАЛИТИКА НА ПРОИЗВОДИ ПО КЛИЕНТ
78CREATE OR REPLACE VIEW vw_klient_engagement AS
79SELECT
80 k.klient_id, k.ime, k.prezime,
81 (SELECT COUNT(*) FROM smetka WHERE klient_id = k.klient_id) AS broj_smetki,
82 (SELECT COUNT(*) FROM dogovor WHERE klient_id = k.klient_id) AS broj_dogovori
83FROM klient k;
84
85-- 9. ПРЕГЛЕД НА НАЛОЗИ (Плаќања)
86CREATE OR REPLACE VIEW vw_nalozi_klienti AS
87SELECT
88 n.nalog_id, n.iznos, n.svrha_na_plakjanje, n.datum_na_valuta,
89 k.ime, k.prezime, s.broj_smetka AS od_smetka
90FROM nalog n
91JOIN klient k ON n.nalogodavac_id = k.klient_id
92JOIN smetka s ON n.smetka_nalogodavac_id = s.smetka_id;