Risposta migliore
Le sfide che gli amministratori di database e gli utenti devono sempre affrontare sono la scrittura di query SQL complesse e la protezione dellaccesso al database. Lutilizzo di un proxy sulla tabella originale aiuta a semplificare tali query. Inoltre, ci sono casi in cui lamministratore vuole limitare laccesso diretto al database. Per entrambe queste circostanze, è possibile utilizzare le visualizzazioni.
Che cosè una vista?
Una tabella virtuale compilata in runtime è chiamata vista. SQL ha una versione speciale delle tabelle che è una vista. . Una vista è solo unistruzione SQL ei dati ad essa associati non sono fisicamente archiviati nella vista, ma sono archiviati nelle tabelle di base di essa. Ha tutte le righe e le colonne di una tabella o solo poche righe e colonne selezionate se è necessario limitare laccesso. A seconda della query SQL scritta utilizzata per creare la vista, questa può essere creata da una o più tabelle.
Le viste vengono utilizzate per strutturare i dati in modo che gli utenti possano trovarli naturali, semplificare le query complesse, limitare laccesso ai dati e riepilogare i dati da diverse tabelle per creare rapporti.
Esistono diversi aspetti relativi alla gestione delle visualizzazioni, ad esempio:
Rimozione della visualizzazione: utilizzando listruzione “drop view”, è possibile rimuovere una vista esistente.
Creazione vista: Le viste possono essere create utilizzando listruzione “create view”. La vista è definita da una query che fa riferimento a viste materializzate, tabelle o altre viste.
Visualizzazioni elenco: Tutte le viste nellSQL Il database del server può essere elencato eseguendo una query sulla vista del catalogo di sistema.
Rinomina vista: Le viste possono essere rinominate e dovrebbe essere garantito che tutte gli oggetti che fanno riferimento al vecchio nome della vista ora dovrebbero avere un nuovo nome.
Tipi di viste in SQL
Viste definite dal sistema
Le viste definite dal sistema sono viste predefinite che già esistono nel database di SQL Server, come Tempdb, Master e temp. Ciascuno dei database ha le proprie proprietà e funzioni. Le viste definite dal sistema verranno automaticamente collegate a tutti i database definiti dallutente. E questi forniscono informazioni sul database, le tabelle e tutte le proprietà del database e delle tabelle. Sono disponibili tre tipi di viste definite dal sistema, schema delle informazioni, vista catalogo e vista a gestione dinamica.
vista catalogo
Le viste del catalogo forniscono un modo efficiente per ottenere, presentare e trasformare forme personalizzate di informazioni e vengono utilizzate per restituire le informazioni utilizzate dal server SQL. Non includono alcuna informazione sui piani di backup, replica o manutenzione, ecc. Queste visualizzazioni vengono utilizzate per accedere ai metadati dei database e i nomi ei nomi delle colonne sono descrittivi, aiutando un utente a interrogare ciò che è previsto.
Visualizzazione a gestione dinamica
Lamministratore può ottenere informazioni sullo stato del server per diagnosticare problemi, monitorare lintegrità dellistanza del server e ottimizzare le prestazioni attraverso queste visualizzazioni. La vista a gestione dinamica con ambito server è memorizzata solo nel database principale, mentre la vista a gestione dinamica con ambito database è archiviata in ogni database.
Schema informativo
Ci sono venti diverse viste dello schema nel server SQL. Vengono utilizzati per visualizzare le informazioni fisiche del database, come tabelle, vincoli, colonne e viste. Viene utilizzato un vincolo su una particolare colonna di una tabella per garantire che per la colonna vengano rispettate determinate regole dei dati.
Viste definite dallutente
Vista complessa
Queste viste possono contenere più di una tabella di base o possono essere costruite su più di una tabella di base e contengono una clausola group by, condizioni di join, una clausola order by. Le funzioni di gruppo possono essere utilizzate qui e contiene gruppi di dati. Le viste complesse non possono essere sempre utilizzate per eseguire operazioni DML, ma a differenza delle viste semplici, le viste complesse possono contenere colonne raggruppate per, pseudocolonna come rownum, distinte, definite da espressioni, inoltre Inserisci, elimina e aggiorna non possono essere applicate direttamente su viste complesse.
Visualizzazione semplice
Queste visualizzazioni possono contenere solo una singola tabella di base o possono essere create solo da una tabella. Le funzioni di gruppo come MAX (), COUNT () e così via non possono essere utilizzate qui e non contiene gruppi di dati. Simple View non contiene colonne group by, pseudocolumn come rownum, separate, definite da espressioni. La vista semplice inoltre non include le colonne NOT NULL dalle tabelle di base.
Per concludere, una vista in SQL viene definita e spiegata in dettaglio, e vengono definiti anche i diversi modi in cui vengono gestite le viste.I diversi tipi di viste in SQL, come le viste definite dal sistema e le viste definite dallutente, sono descritti in dettaglio insieme ai vari sottotipi sotto ogni tipo.
Risposta
Ai fini di questa risposta definirò prima una vista, quindi elencherò due diversi tipi di viste. Nota che probabilmente ce ne sono altri, ma questi sono i due che ho visto e usato comunemente.
Innanzitutto una vista è un pezzo di sql che fornisce un insieme di dati. “Seleziona * da x” può essere una visualizzazione perché fornisce un insieme di dati.
Nella maggior parte dei sistemi RDBMS a cui sono stato esposto ci sono due tipi principali di visualizzazioni che potresti incontrare. La prima è una visualizzazione classica definita dal sistema RDBMS. Si utilizza una sintassi di creazione della vista per creare una vista che può essere utilizzata come alias. Cioè puoi scrivere un pezzo complesso di sql e assegnarlo a una vista e quindi chiamare quella vista da un altro pezzo di sql con il suo nome invece di dover digitare lintera vista.
Il secondo e meno il tipo di visualizzazione comune ma non meno importante è chiamato visualizzazione in linea. Una vista in linea è dove hai unistruzione select nidificata in unaltra istruzione select. Questa è la tua dichiarazione di selezione allinterno che fornisce una serie di dati alla tua dichiarazione di selezione esterna. Ad esempio
seleziona * da (seleziona colonna, colonnab, colonnac dalla tabella a)
La parte tra parentesi è una vista in linea. In genere vengono utilizzati per aggregare i dati prima che arrivino allistruzione sql outter che aggrega ulteriormente i dati.