Important

Traducerea este un efort al comunității, la care puteți să vă alăturați. În prezent, această pagină este tradusă 83.33%.

15.5. Lesson: Views

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: Salvarea unei interogări sub formă de vedere.

15.5.1. Crearea unei Vederi

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 înainte:

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;

As you can see the only change is the create view roads_count_v as part at the beginning. We can now select data from that view:

select * from roads_count_v;

Rezultat:

 count |    name
-------+-------------
     1 | Main Road
     2 | High street
     1 | Low Street
(3 rows)

15.5.2. Modificarea unei Vederi

O vizualizare nu este fixă ​​și nu conține „date reale”. Aceasta înseamnă că o puteți modifica cu ușurință, fără a afecta vreo dată 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.)

You will see that we have added an ORDER BY clause so that our view rows are nicely sorted:

select * from roads_count_v;

 count |    name
-------+-------------
     2 | High street
     1 | Low Street
     1 | Main Road
(3 rows)

15.5.3. Eliminarea unei Vederi

Dacă nu mai aveți nevoie de vedere, o puteți șterge astfel:

drop view roads_count_v;

15.5.4. În concluzie

Vederile constau în salvarea unei interogări, urmată de accesarea rezultatelor acesteia ca și cum ar fi o tabelă.

15.5.5. Ce urmează?

Uneori, atunci când are loc o schimbare asupra datelor, veți dori ca modificările să aibă efecte în altă parte a bazei de date. Următoarea lecție vă arată cum să faceți acest lucru.