5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 57

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
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