16. Il linguaggio SQL Vers. 11.2 – Febbraio 2026
Quindi, in pratica, la creazione di una vista ci permette di imporre delle restrizioni sull’ accesso ai dati e di limitare in questo modo l’ azione delle interrogazioni soltanto a specifiche colonne di una tabella; lo stesso discorso può essere fatto per quanto riguarda le possibilità di accesso ai dati.
N. B. Anche sulle viste inoltre è possibile utilizzare l’ istruzione GRANT.
Quindi è possibile creare utenti con diritti di accesso specifici su tabelle di tipo vista aumentando di fatto il livello di sicurezza nell’ accesso ai dati.
Per creare una vista si utilizza l’ istruzione SQL CREATE VIEW la cui sintassi è la seguente: CREATE VIEW < NomeTabellaVista > [< ListaColonne >] AS < QuerySelect > [ WITH CHECK OPTION ];
Dove:- < NomeTabellaVista > è il nome che desideriamo assegnare alla vista;
- < ListaColonne > contiene l’ elenco delle colonne che parteciperanno alla creazione della vista; N. B. questa voce deve comprendere lo stesso numero di colonne che viene specificato nella parte relativa a < QuerySelect >; nel caso in cui la voce < ListaColonne > dovesse mancare CREATE VIEW farà riferimento a quelle indicate tramite < QuerySelect >;
- < QuerySelect > è una normale query formulata con l’ istruzione SELECT che definisce la vista;
- WITH CHECK OPTION è una clausola che viene applicata ai comandi per la modifica dei dati come INSERT e UPDATE per rispettare la definizione della vista apportata tramite < QuerySelect >( siano, cioè, conformi all ' eventuale clausola WHERE specificata in sede di definizione della Vista).
Quando si crea una vista è necessario tenere conto di alcune restrizioni:
• È possibile creare viste soltanto nel database corrente.
• Il nome della vista deve seguire le regole imposte dall’ IDENTIFIER del datasource.
• Il nome della vista non deve essere lo stesso della tabella di partenza.
• È possibile creare una vista solo se la tabella di partenza permette l’ esecuzione di query SELECT.
• Non è possibile definire una vista utilizzando il comando SELECT INTO.
• Non è possibile definire un trigger in una vista.
• Non è possibile definire un indice all’ interno di una vista.
• Non è possibile associare CREATE VIEW ad altri comandi SQL nella stessa istruzione.
Le tabelle virtuali possono essere alterate esattamente come quelle fisiche, a questo scopo esiste il comando ALTER VIEW che modifica la definizione di una vista.
Per modificare una vista si utilizza l’ istruzione ALTER VIEW la cui sintassi è la seguente: ALTER VIEW < NomeTabellaVista > [< ListaColonne >] AS < QuerySelect > [ WITH CHECK OPTION ];
In questo caso non vi è nulla da segnalare di particolare, la sintassi per l’ alterazione delle tabelle si differenzia da quella di creazione essenzialmente per il comando SQL utilizzato che in questo caso è ALTER VIEW.
Per eliminare una vista si utilizza l’ istruzione SQL DROP VIEW la cui sintassi è la seguente: DROP VIEW < NomeTabellaVista >;
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 61