Ce este o vizualizare în SQL?

O Vizualizare este un obiect de bază de date care prezintă datele existente într-unul sau mai multe tabele. Vizualizările sunt utilizate în mod similar cu tabelele, dar nu conțin date. Ei „indică” doar datele care există în altă parte (tabele sau vizualizări, de exemplu).

De ce ne plac?

  • Vizualizările sunt o modalitate de a limita datele prezentate. De exemplu, datele departamentului de resurse umane filtrate pentru a prezenta doar informații sensibile. Informațiile sensibile în acest caz ar putea fi numerele de securitate socială, sexul angajatului, rata de plată, adresa de domiciliu etc.
  • Datele complexe din mai multe tabele pot fi combinate într-o singură „vizualizare”. Acest lucru poate face viața mai ușoară pentru analiștii și programatorii dvs. de afaceri.

Sfaturi importante de siguranță

  • Vizualizările sunt gestionate de sistem. Când datele din tabelele aferente sunt modificate, adăugate sau actualizate, vizualizarea este actualizată de sistem. Vrem să le folosim numai atunci când este necesar pentru a gestiona utilizarea resurselor sistemului.
  • În MySQL, modificările aduse designului tabelului (adică coloane noi sau abandonate) făcute DUPĂ crearea unei vizualizări nu sunt actualizate în vizualizarea în sine. Vizualizarea ar trebui actualizată sau recreată.
  • Vizualizările sunt unul dintre cele patru tipuri standard de obiecte ale bazei de date. Celelalte sunt tabele, proceduri stocate și funcții.
  • Vizualizările pot fi tratate de obicei așa cum ați face un tabel, dar actualizările sunt limitate sau nu sunt disponibile atunci când vizualizarea conține mai multe tabele.
  • Există multe alte detalii despre vizualizări care depășesc sfera acestui ghid introductiv. Petreceți timp cu manualul managerilor de baze de date și distrați-vă cu acest puternic obiect SQL.

Sintaxa declarației Create View (MySQL)

CREATE
    [OR REPLACE]
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
	[WITH [CASCADED | LOCAL] CHECK OPTION]

Acest ghid va acoperi această parte a declarației …

CREATE
    VIEW view_name [(column_list)]
    AS select_statement

Exemplu de creare a vizualizării din tabelele studenților

Note:

  • Numele vizualizării are un „v” la final. Se recomandă ca numele vizualizării să indice că este o vizualizare într-un fel, pentru a face viața mai ușoară pentru programatori și administratorii de baze de date. Magazinul dvs. IT ar trebui să aibă propriile reguli privind denumirea obiectelor.
  • Coloanele din vizualizare sunt limitate de SELECT și rândurile de date de clauza WHERE.
  • caracterul „„ ”din jurul numelor vizualizării este necesar din cauza„ – ”din nume. MySQL raportează o eroare fără ele.
create view `programming-students-v` as
select FullName, programOfStudy 
from student 
where programOfStudy = 'Programming';

select * from `programming-students-v`;

Exemplu de utilizare a unei Vizualizări pentru a combina date din mai multe tabele

Un tabel demografic al studenților a fost adăugat la baza de date pentru a demonstra această utilizare. Această vizualizare va combina aceste tabele.

Note:

  • Pentru a „uni” tabelele, tabelele trebuie să aibă câmpuri comune (de obicei chei primare) care identifică în mod unic fiecare rând. În acest caz este ID-ul de student. (Mai multe despre acest lucru în Alăturări SQL ghid.)
  • Observați „aliasul” dat fiecărui tabel („s” pentru student și „sc” pentru contactul elevului). Acesta este un instrument pentru a scurta numele tabelelor și pentru a facilita identificarea tabelului utilizat. Este mai ușor decât să tastați în mod repetat numele lungi ale tabelelor. În acest exemplu, era necesar deoarece studentID este același nume de coloană în ambele tabele, iar sistemul ar prezenta o „eroare de nume de coloană ambiguă” fără a specifica ce tabel să utilizeze.