Langage de contrôle de données

Un langage de contrôle de données (LCD ; en anglais data control language, DCL) est un langage de programmation et un sous-ensemble de SQL pour contrôler l'accès aux données d'une base de données.

Commandes SQL

On distingue typiquement six types de commandes SQL de contrôle de données :

  • GRANT : autorisation d'un utilisateur à effectuer une action ;
  • DENY : interdiction à un utilisateur d'effectuer une action ;
  • REVOKE : annulation d'une commande de contrôle de données précédente ;
  • COMMIT : validation d'une transaction en cours ;
  • ROLLBACK : annulation d'une transaction en cours ;
  • LOCK : verrouillage sur une structure de données.

Exemples de requêtes

Autorisation

Autoriser un utilisateur à effectuer une action :

GRANT UPDATE (nom, prenom) ON eleves
TO enseignant
WITH GRANT OPTION;

Interdiction

Empêcher un utilisateur d'effectuer une action :

DENY DELETE
TO enseignant

Annulation

Annuler la précédente commande de contrôle de données :

REVOKE UPDATE (nom, prenom)
ON eleves
FROM enseignant

Validation d'une transaction

Valider la transaction en cours :

START TRANSACTION;
UPDATE eleves
SET age = '19'
WHERE nom = 'Lacourt' and prenom = 'Stéphane';
COMMIT;

Annulation d'une transaction

Annuler la transaction en cours :

ROLLBACK TO sauvegarde;

Verrouillage

Verrouiller une structure de données :

LOCK TABLE eleves IN EXCLUSIVE MODE;

Voir aussi

  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des bases de données