Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Langage de Contrôle des Données | Quelques Sujets Supplémentaires
Quizzes & Challenges
Quizzes
Challenges
/
Optimisation SQL et Fonctionnalités de Requête

bookLangage de Contrôle des Données

Data Control Language (DCL) est un sous-ensemble du SQL utilisé pour contrôler l'accès aux données stockées dans un système de gestion de base de données relationnelle.
Les commandes DCL concernent principalement l'attribution ou la révocation de privilèges sur des objets de base de données tels que les tables, les vues et les schémas.

Commandes DCL

Les deux principales commandes DCL sont :

  1. GRANT : cette commande permet d'accorder des privilèges spécifiques à des utilisateurs ou des rôles ;

  2. REVOKE : cette commande permet de retirer des privilèges spécifiques à des utilisateurs ou des rôles qui les avaient précédemment reçus.

Privilèges

Objets

Implémentation

Pour accorder certains privilèges sur un objet en SQL à un utilisateur particulier, on peut utiliser l'instruction suivante :

GRANT privileges
ON object
TO {user | role | PUBLIC};

Il existe 3 types de rôles dans la base de données auxquels vous pouvez accorder des privilèges :

  • user : un utilisateur individuel de la base de données ;
  • role : un rôle de base de données, un groupe nommé de privilèges pouvant être attribué à des utilisateurs (par exemple admin, developer, analyst) ;
  • PUBLIC : un mot-clé spécial qui accorde les privilèges spécifiés à tous les utilisateurs.

On peut accorder un rôle à un utilisateur en utilisant l'instruction suivante :

GRANT role TO user;

Enfin, il est possible de révoquer des privilèges précédemment accordés en utilisant l'instruction suivante :

REVOKE privileges
ON object
FROM {user | role | PUBLIC};

Exemple

Voici quelques exemples d'utilisation de la commande GRANT pour attribuer différents privilèges sur les tables bankaccounts et userlogs à différents rôles et utilisateurs.

-- Create role
CREATE ROLE bank_manager;

-- Grant privileges to bank_manager role
GRANT SELECT, INSERT, UPDATE, DELETE ON BankAccounts TO bank_manager;
GRANT SELECT, INSERT ON UserLogs TO bank_manager;

-- Create users
CREATE USER john WITH PASSWORD 'password123';
CREATE USER jane WITH PASSWORD 'password456';

-- Assign roles to users
GRANT bank_manager TO john;
GRANT bank_manager TO jane;

Nous pouvons maintenant révoquer certains des privilèges accordés :

-- Revoke privileges from bank_manager role
REVOKE UPDATE, DELETE ON BankAccounts FROM bank_manager;
REVOKE INSERT ON UserLogs FROM bank_manager;

-- Revoke bank_manager role from john
REVOKE bank_manager FROM john;
question mark

Quel privilège permet à un utilisateur de lire les données d'une table ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 4.55

bookLangage de Contrôle des Données

Glissez pour afficher le menu

Data Control Language (DCL) est un sous-ensemble du SQL utilisé pour contrôler l'accès aux données stockées dans un système de gestion de base de données relationnelle.
Les commandes DCL concernent principalement l'attribution ou la révocation de privilèges sur des objets de base de données tels que les tables, les vues et les schémas.

Commandes DCL

Les deux principales commandes DCL sont :

  1. GRANT : cette commande permet d'accorder des privilèges spécifiques à des utilisateurs ou des rôles ;

  2. REVOKE : cette commande permet de retirer des privilèges spécifiques à des utilisateurs ou des rôles qui les avaient précédemment reçus.

Privilèges

Objets

Implémentation

Pour accorder certains privilèges sur un objet en SQL à un utilisateur particulier, on peut utiliser l'instruction suivante :

GRANT privileges
ON object
TO {user | role | PUBLIC};

Il existe 3 types de rôles dans la base de données auxquels vous pouvez accorder des privilèges :

  • user : un utilisateur individuel de la base de données ;
  • role : un rôle de base de données, un groupe nommé de privilèges pouvant être attribué à des utilisateurs (par exemple admin, developer, analyst) ;
  • PUBLIC : un mot-clé spécial qui accorde les privilèges spécifiés à tous les utilisateurs.

On peut accorder un rôle à un utilisateur en utilisant l'instruction suivante :

GRANT role TO user;

Enfin, il est possible de révoquer des privilèges précédemment accordés en utilisant l'instruction suivante :

REVOKE privileges
ON object
FROM {user | role | PUBLIC};

Exemple

Voici quelques exemples d'utilisation de la commande GRANT pour attribuer différents privilèges sur les tables bankaccounts et userlogs à différents rôles et utilisateurs.

-- Create role
CREATE ROLE bank_manager;

-- Grant privileges to bank_manager role
GRANT SELECT, INSERT, UPDATE, DELETE ON BankAccounts TO bank_manager;
GRANT SELECT, INSERT ON UserLogs TO bank_manager;

-- Create users
CREATE USER john WITH PASSWORD 'password123';
CREATE USER jane WITH PASSWORD 'password456';

-- Assign roles to users
GRANT bank_manager TO john;
GRANT bank_manager TO jane;

Nous pouvons maintenant révoquer certains des privilèges accordés :

-- Revoke privileges from bank_manager role
REVOKE UPDATE, DELETE ON BankAccounts FROM bank_manager;
REVOKE INSERT ON UserLogs FROM bank_manager;

-- Revoke bank_manager role from john
REVOKE bank_manager FROM john;
question mark

Quel privilège permet à un utilisateur de lire les données d'une table ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
some-alt