📁
Forum per Webmaster
SQL

Le viste

Il linguaggio SQL consente di decidere le modalità con le quali gli utenti possono vedere le tabelle del database, creando una finestra, detta VIEW (vista), su alcuni o su tutti i dati contenuti in una o più tabelle. La vista viene identificata con un nome assegnato in fase di creazione con il comando CREATE VIEW. Con le viste è possibile decidere anche che un utente debba avere una visione solo parziale dei dati registrati nel database, mentre non può vedere altri dati: in questo modo si elimina il rischio di modifiche indesiderate su dati che non riguardano il lavoro di un determinato utente e nello stesso tempo l'utente non rimane distratto dai dati che sono ininfluenti sul tipo di elaborazione che deve fare. L’utente può comunque operare sulla vista con i comandi illustrati nei paragrafi precedenti, come se fosse una tabella del database. Le viste sono finestre dinamiche sulle tabelle del database, in quanto ogni modifica ai dati sulla tabella primaria è disponibile per l'utente attraverso la vista. Vale anche l'opposto: ogni modifica sui dati della vista si riflette sui dati della tabella primaria. Non tutte le viste sono aggiornabili: Infatti le viste che contengono risultati di funzioni di aggregazione non possono essere modificate.
La creazione della vista viene realizzata con l'uso dell'istruzione Select all'interno del comando Create View.
Per creare una vista di nome Impieg contenente i dati dei dipendenti con funzione di Impiegato, si usa il comando:

CREATE VIEW Impieg
 AS SELECT *
 FROM Personale
 WHERE Funzione='Impiegato';

Una vista può essere eliminata con il comando DROP VIEW seguito dal nome assegnato alla vista in fase di creazione. Per esempio il comando seguente elimina la vista creata con il nome Impieg:

DROP VIEW Impieg;

Il creatore della vista, usando il comando Grant illustrato in precedenza, fornisce all'utente il diritto di accesso ai dati attraverso l'utilizzo della vista.
Con il seguente esempio viene concesso all'utente denominato User3 il diritto di accedere alla vista Impieg, precedentemente creata, per ritrovare, cioè leggere, i dati in essa contenuti:

GRANT SELECT
 ON Impieg
 TO User3;

Quindi i sottoschemi e le autorizzazioni per utenti diversi su un database relazionale possono essere definiti con il linguaggio SQL usando in modo combinato i comandi Create View e Grant.

Argomenti nella stessa categoria