De fiecare dată când scrieți o interogare, cheltuiți o mulțime de timp și efort pentru a o formula. Cu ajutorul vederilor, puteți salva definiția unei interogări SQL într-o ‘tabelă virtuală’ reutilizabilă.
Scopul acestei lecții: De a salva o interogare sub formă de vedere.
Puteți trata o vedere la fel ca pe o tabelă, însă datele sale provin dintr-o interogare. Haideți să efectuăm o vedere simplă, bazată pe cele de mai sus:
create view roads_count_v as
select count(people.name), streets.name
from people, streets where people.street_id=streets.id
group by people.street_id, streets.name;
După cum se poate vedea, singura schimbare este crearea vederii roads_count_v ca parte de început . Acum, putem selecta datele din această vedere:
select * from roads_count_v;
Rezultat:
count | name
-------+-------------
1 | Main Road
2 | High street
1 | Low Street
(3 rows)
O vedere nu este fixă, și nu conține ‘date reale’. Aceasta înseamnă că o puteți schimba cu ușurință, fără nici un impact asupra datelor din baza de date:
CREATE OR REPLACE VIEW roads_count_v AS
SELECT count(people.name), streets.name
FROM people, streets WHERE people.street_id=streets.id
GROUP BY people.street_id, streets.name
ORDER BY streets.name;
(Acest exemplu demonstrează, de asemenea, că cea mai bună practică este de a folosi MAJUSCULE pentru toate cuvintele cheie SQL.)
Veți vedea că am adăugat o clauză ORDER BY, astfel încât rândurile din vederea noastră să fie frumos sortate:
select * from roads_count_v;
count | name
-------+-------------
2 | High street
1 | Low Street
1 | Main Road
(3 rows)
Dacă nu mai aveți nevoie de vedere, o puteți șterge astfel:
drop view roads_count_v;
Vederile constau în salvarea unei interogări, urmată de accesarea rezultatelor acesteia similar ca și în cazul tabelelor.
Uneori, atunci când are loc o schimbare asupra datelor, veți dori ca modificările să aibă efecte în altă parte din baza de date. Următoarea lecție vă arată cum să faceți acest lucru.