16. Il linguaggio SQL Vers. 11.0 – Gennaio 2026
ISTRUZIONI DCL del linguaggio SQL
In informatica il Data Control Language( DCL) è un linguaggio utilizzato nel SQL per fornire o revocare agli utenti i permessi necessari per poter utilizzare i comandi di Data Definition Language( DDL) e Data Manipulation Language, oltre agli stessi comandi DCL( che gli servono a sua volta per poter modificare i permessi su alcuni oggetti).
Lo standard SQL non specifica in quale modo debba essere possibile creare, eliminare o modificare gli utenti di un database.
La maggior parte dei DBMS a tale scopo implementa i comandi non standard CREATE USER( che crea un utente e specifica quali permessi deve avere) e DROP USER( che elimina un utente). Per la modifica, alcuni DBMS implementano ALTER USER, ma non è un comando molto diffuso, mentre è più diffuso SET PASSWORD. In sintesi l’ istruzione per creare un utente è:
CREATE USER < username >@< host > [ IDENTIFIED BY < password > ];
dove
• < username >: Specifica il nome dell ' utente che vogliamo creare o al quale vogliamo assegnare nuovi diritti o privilegi
• < host >: Specifica il / gli host da cui è ammessa la connessione. Se impostato a '%' vuol dire che l’ utente potrà connettersi al database da qualsiasi host, senza limitazione.
• < password >: Specifica la password( scritta tra apici singoli o doppi apici) associata all ' utente che stiamo creando. N. B. La password viene scritta " in chiaro " ma viaggia sulla rete in forma criptata da MySql tramite la funzione PASSWORD(). Se si vuole visualizzare il valore criptato corrispondente alla chiave scelta, basta effettuare una delle due query seguenti
SELECT User, Host, Password SELECT PASSWORD(< password-in-chiaro >); FROM mysql. user WHERE User = < username >;
L’ istruzione per eliminare un utente è: DROP USER < username >@< host >;
Esempi di utilizzo: CREATE USER davide @ localhost; CREATE USER davide @ localhost IDENTIFIED BY ' pippo '; DROP USER davide @ localhost;
Una volta creato lo schema relazionale tramite apposite istruzioni che appartengono alla parte DDL dell’ SQL è possibile impostare le politiche relative alla sicurezza dei dati
Quando si parla di sicurezza dei dati occorre distinguere i seguenti aspetti:- sicurezza da guasti hardware e software;- sicurezza da accessi non autorizzati: per proteggersi da questa eventualità è necessario: a) stabilire i diritti di accesso ai dati;
b) stabilire le viste ossia le modalità con le quali gli utenti possono vedere la base dei dati
c) guardarsi da tecniche di hacking quali la SQL INJECTION( che vedremo poi in dettaglio http:// www. riochierego. it / mobile / docs / quinta / lab / PPT-9-SQL-INJECTION. pdf)
- sicurezza nelle transazioni per ottenere la quale occorre preservare integrità e consistenza dei dati.
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 57