Cel mai bun răspuns
Provocările cu care se confruntă întotdeauna administratorii și utilizatorii de baze de date este scrierea de interogări SQL complexe și securizarea accesului la baza de date. Utilizarea unui proxy peste tabelul original ajută la simplificarea acestor interogări. De asemenea, există cazuri în care administratorul dorește să limiteze accesul direct la baza de date. Pentru ambele circumstanțe, se pot utiliza vizualizări.
Ce este o Vizualizare?
O tabelă virtuală care este compilată în runtime se numește vizualizare. SQL are o versiune specială a tabelelor care este o vizualizare. . O vizualizare este doar o instrucțiune SQL, iar datele asociate acesteia nu sunt stocate fizic în vizualizare, ci sunt stocate în tabelele de bază ale acesteia. Are toate rândurile și coloanele unui tabel sau doar câteva rânduri și coloane selectate dacă este necesar să restricționați accesul. În funcție de interogarea SQL scrisă utilizată pentru a crea vizualizarea, aceasta poate fi creată dintr-unul sau mai multe tabele.
Vizualizările sunt folosite pentru a structura datele în moduri în care utilizatorii să le găsească naturale, să simplifice interogările complexe, să restricționeze accesul la date și rezumați datele din mai multe tabele pentru a crea rapoarte.
Există diferite aspecte legate de gestionarea vizualizărilor, cum ar fi:
Eliminarea vizualizării: Folosind instrucțiunea „drop view”, o vizualizare existentă poate fi eliminată.
Crearea vizualizării: Vizualizările pot fi create folosind instrucțiunea „creați vizualizarea”. Vizualizarea este definită de o interogare care face referire la vizualizări materializate, tabele sau alte vizualizări.
Vizualizări de listare: Toate vizualizările din SQL Baza de date a serverului poate fi listată interogând vizualizarea catalogului de sistem.
Redenumire vizualizare: Vizualizările pot fi redenumite și ar trebui să se asigure că toate obiectele care fac referire la vechiul nume al vizualizării ar trebui să aibă un nume nou.
Tipuri de vizualizări în SQL
Vizualizări definite de sistem
Vizualizările definite de sistem sunt vizualizări predefinite care există deja în baza de date SQL Server, cum ar fi Tempdb, Master și temp. Fiecare dintre bazele de date are propriile sale proprietăți și funcții. Vizualizările definite de sistem vor fi atașate automat la toate bazele de date definite de utilizator. Și acestea oferă informații despre baza de date, tabele și toate proprietățile bazei de date și tabele. Există trei tipuri de vizualizări definite de sistem, schemă informațională, vizualizare catalog și vizualizare gestionare dinamică.
Vizualizare catalog
Vizualizările din catalog oferă un mod eficient de a obține, prezenta și transforma forme personalizate de informații și sunt utilizate pentru a returna informațiile utilizate de serverul SQL. Acestea nu includ nicio informație despre planurile de copiere de rezervă, replicare sau întreținere etc. Aceste vizualizări sunt utilizate pentru a accesa metadatele bazelor de date, iar numele și numele coloanelor sunt descriptive, ajutând un utilizator să interogheze ceea ce se așteaptă.
Vizualizare gestionare dinamică
Administratorul poate obține informații despre starea serverului pentru a diagnostica problemele, monitoriza starea instanței serverului și reglați performanța prin aceste vizualizări. Vizualizarea Dynamic Management View din domeniul serverului este stocată numai în baza de date Master, în timp ce View Dynamic Management din domeniul bazei de date este stocată în fiecare bază de date.
Schema de informații
Există douăzeci de vizualizări diferite ale schemei în serverul SQL. Acestea sunt utilizate pentru a afișa informațiile fizice ale bazei de date, cum ar fi tabele, constrângeri, coloane și vizualizări. O constrângere este utilizată într-o anumită coloană dintr-un tabel pentru a se asigura că anumite reguli de date sunt respectate pentru coloană.
Vizualizări definite de utilizator
Vizualizare complexă
Aceste vizualizări pot conține mai multe tabele de bază sau pot fi construite pe mai multe tabele de bază , și conțin un grup de clauză, condiții de asociere, un ordin de clauză. Funcțiile de grup pot fi utilizate aici și conțin grupuri de date. Vizualizările complexe nu pot fi întotdeauna utilizate pentru a efectua operațiuni DML. Dar, spre deosebire de Vizualizările simple, Vizualizările complexe pot conține grupare după, pseudocolumn precum rownum, distincte, coloane definite prin expresii, de asemenea, Inserare, ștergere și actualizare nu pot fi aplicate direct pe vizualizările complexe.
Vizualizare simplă
Aceste vizualizări pot conține doar un singur tabel de bază sau pot fi create numai dintr-un singur tabel. Funcțiile de grupare, cum ar fi MAX (), COUNT (), etc., nu pot fi utilizate aici și nu conține grupuri de date. Vizualizarea simplă nu conține grupare după, pseudocolumn precum rownum, distinct, coloane definite prin expresii. Vizualizarea simplă nu include, de asemenea, coloanele NU NULL din tabelele de bază.
În concluzie, o Vizualizare în SQL este definită și explicată în detaliu și sunt definite și diferitele moduri în care sunt gestionate Vizualizările.Diferitele tipuri de vizualizări din SQL, cum ar fi Vizualizările definite de sistem și Vizualizările definite de utilizator, sunt descrise în detaliu împreună cu diferitele subtipuri de la fiecare tip.
Răspuns
În scopul acest răspuns Voi defini mai întâi o vizualizare și apoi voi lista două tipuri diferite de vizualizări. Rețineți că sunt probabil mai multe, dar acestea sunt cele două pe care le-am văzut și le-am folosit în mod obișnuit.
Mai întâi, o vizualizare este o bucată de sql care oferă un set de date. „Selectați * din x” poate fi o vizualizare, deoarece oferă un set de date.
În majoritatea sistemelor RDBMS la care am fost expus, există două tipuri principale de vizualizări pe care le-ați putea întâlni. Prima este o vizualizare clasică definită de sistemul RDBMS. Utilizați o sintaxă de creare a vizualizării pentru a crea o vizualizare care poate fi utilizată ca alias. Adică poți scrie o bucată complexă de sql și o poți atribui unei vizualizări și apoi poți apela acea vizualizare dintr-o altă bucată de sql după numele ei, mai degrabă decât să trebuiască să scrii întreaga vizualizare.
A doua și mai puțin tip de vedere comun, dar nu mai puțin important, se numește vedere în linie. O vizualizare inline este locul în care aveți o instrucțiune select cuibărită într-o altă declarație select. Aceasta este declarația dvs. de selecție din interior care oferă un set de date pentru declarația de selectare din exterior. De exemplu,
selectați * din (selectați columna, columnb, columnc din tabelul a)
Partea din paranteză este o vizualizare inline. De obicei, acestea sunt folosite pentru a agrega date înainte de a ajunge la declarația outter sql, care agregează în continuare datele.