Trova fonti: “Visualizza” SQL – news · giornali · libri · scholar · JSTOR (marzo 2020) (Scopri come e quando rimuovere questo messaggio modello)
In un database, una vista è il set di risultati di una query memorizzata sui dati, che gli utenti del database possono interrogare proprio come farebbero in un oggetto di raccolta di database persistente. Questo comando di query prestabilito viene mantenuto nel dizionario del database., A differenza delle normali tabelle di base in un database relazionale, una vista non fa parte dello schema fisico: come set di risultati, è una tabella virtuale calcolata o raccolta dinamicamente dai dati nel database quando viene richiesto l’accesso a tale vista. Le modifiche applicate ai dati in una tabella sottostante pertinente si riflettono nei dati mostrati nelle invocazioni successive della vista. In alcuni database NoSQL, le viste sono l’unico modo per interrogare i dati.
Le viste possono fornire vantaggi rispetto alle tabelle:
- Le viste possono rappresentare un sottoinsieme dei dati contenuti in una tabella., Di conseguenza, una vista può limitare il grado di esposizione delle tabelle sottostanti al mondo esterno: un dato utente può avere il permesso di interrogare la vista, mentre negato l’accesso al resto della tabella di base.
- Le viste possono unire e semplificare più tabelle in un’unica tabella virtuale.
- Le viste possono fungere da tabelle aggregate, in cui il motore di database aggrega i dati(somma, media, ecc.) e presenta i risultati calcolati come parte dei dati.
- Le viste possono nascondere la complessità dei dati., Ad esempio, una vista potrebbe apparire come Sales2000 o Sales2001, partizionando in modo trasparente la tabella sottostante effettiva.
- Le viste occupano pochissimo spazio per l’archiviazione; il database contiene solo la definizione di una vista, non una copia di tutti i dati che presenta.
- A seconda del motore SQL utilizzato, le viste possono fornire maggiore sicurezza.
Proprio come una funzione (in programmazione) può fornire astrazione, così può una vista del database. In un altro parallelo con le funzioni, gli utenti del database possono manipolare le viste nidificate, quindi una vista può aggregare i dati da altre viste., Senza l’uso di viste, la normalizzazione dei database sopra la seconda forma normale diventerebbe molto più difficile. Le viste possono semplificare la creazione di scomposizione join senza perdita di dati.
Proprio come le righe in una tabella di base non hanno alcun ordine definito, le righe disponibili attraverso una vista non appaiono con alcun ordinamento predefinito. Una vista è una tabella relazionale e il modello relazionale definisce una tabella come un insieme di righe. Poiché gli insiemi non sono ordinati — per definizione — nemmeno le righe di una vista., Pertanto, una clausola ORDER BY nella definizione della vista non ha senso; lo standard SQL (SQL: 2003) non consente una clausola ORDER BY nella sottoquery di un comando CREATE VIEW, proprio come viene rifiutata in un’istruzione CREATE TABLE. Tuttavia, i dati ordinati possono essere ottenuti da una vista, allo stesso modo di qualsiasi altra tabella, come parte di un’istruzione di query su quella vista. Tuttavia, alcuni DBMS (come Oracle Database) non rispettano questa restrizione standard SQL.