Data Control Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
VolkovBot (discussione | contributi)
m Bot: Aggiungo: zh:資料控制語言
Aggiunto il template "Portale"
 
(25 versioni intermedie di 17 utenti non mostrate)
Riga 1:
{{torna a|Structured Query Language}}
'''Data Control Language (DCL)''' è un linguaggio utilizzato nel [[SQL]] per fornire o revocare agli utenti i permessi necessari per poter utilizzare i comandi [[Data Manipulation Language]] (DML) e [[Data Definition Language]] (DDL), oltre agli stessi comandi DCL (che gli servono per poter a sua volta modificare i permessi su alcuni oggetti).
 
In [[informatica]] il '''Data Control Language''' ('''DCL)''') è ununa linguaggioparte utilizzatodel nelpiù esteso linguaggio [[SQL]] che comprende i costrutti necessari per fornire o revocare agli utenti i permessi necessari per poter utilizzare i comandi di [[Data ManipulationDefinition Language]] (DMLDDL) e [[Data DefinitionManipulation Language]] (DDL), oltre agli stessi comandi DCL (che gli servono per poter a sua volta per poter modificare i permessi su alcuni oggetti).
===Create User, Alter User e Drop User===
Lo standard SQL non specifica in quale modo debba essere possibile creare, eliminare o modificare gli [[account|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.
 
===Grant= Descrizione ==
=== Create User, Alter User e Drop User ===
Lo standard SQL non specifica in quale modo debba essere possibile creare, eliminare o modificare gli [[account|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.
 
=== Grant ===
Il comando ''Grant'' fornisce uno o più permessi a un determinato utente su un determinato oggetto del database (es: il permesso di inserimento in una tabella).
 
==== Sintassi del comando Grant ====
<syntaxhighlight lang="sql">
<pre>
GRANT ''privilegi''
ON ''oggetti''
TO { PUBLIC | ''nome_utentenome_ddde'' [, ...] }
[ WITH GRANT OPTION ]
</syntaxhighlight>
</pre>
 
* PUBLIC indica che il privilegio deve essere assegnato a tutti gli utenti, compresi quelli che verranno creati in seguito e ai quali non verrà espressamente negato.
 
* Se si specifica WITH GRANT OPTION, l'utente avrà la possibilità di assegnare gli stessi privilegi anche ad altri utenti, o eventualmente revocarli.
 
=== Revoke ===
Il comando ''Revoke'' revoca uno o più permessi a un determinato utente su un determinato tipo di oggetti (es: il permesso di cancellazione da una tabella).
 
==== Sintassi del comando Revoke ====
<syntaxhighlight lang="sql">
<pre>
REVOKE [ GRANT OPTION FOR ] ''privilegi''
ON ''oggetto''
FROM { PUBLIC | ''nome_utente'' [, ...] }
{ RESTRICT | CASCADE }
</syntaxhighlight>
</pre>
 
* GRANT OPTION FOR specifica che non si intende eliminare il privilegio in sé, ma il diritto di un certo utente di accordare o revocare tale permesso ad altri.
 
* PUBLIC indica che il permesso viene revocato a tutti gli utenti, compresi quelli che verranno creati in futuro e ai quali non verrà espressamente garantito.
 
* CASCADE indica che bisogna eliminare gli oggetti ai quali nessun utente ha più il permesso di accedere. RESTRICT, che è il valore predefinito, indica che tali oggetti devono essere preservati.
 
== Voci correlate ==
* [[SQL]]
* [[Data ManipulationDefinition Language]] (DMLDDL)
*[[Database]]
* [[Data DefinitionManipulation Language]] (DDLDML)
* [[Database]]
*[[Data Manipulation Language]] (DML)
 
{{Portale|informatica}}
[[Categoria:Database]]
 
[[Categoria:DatabaseSQL]]
[[de:Data Control Language]]
[[en:Data Control Language]]
[[es:Lenguaje de Control de Datos]]
[[fr:Langage de contrôle de données]]
[[ja:データ制御言語]]
[[nl:Data Control Language]]
[[uk:DCL]]
[[zh:資料控制語言]]