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
Techniques Avancées en SQL

bookLangage de Contrôle des Données

Langage de Contrôle des Données (DCL), 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 : Utilisée pour accorder des privilèges spécifiques à des utilisateurs ou des rôles ;

  2. REVOKE : Utilisée pour retirer des privilèges spécifiques à des utilisateurs ou des rôles ayant déjà reçu ces privilèges.

Privilèges

Objets

Mise en œuvre

Pour accorder certains privilèges sur un objet en SQL à un utilisateur particulier, nous pouvons 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é aux utilisateurs (par exemple, admin, developer, analyst) ;
  • PUBLIC : Un mot-clé spécial qui accorde les privilèges spécifiés à tous les utilisateurs.

Nous pouvons accorder un rôle à un utilisateur en utilisant l'instruction suivante :

GRANT role TO user;

Enfin, nous pouvons révoquer les 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 6

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

Suggested prompts:

What is the difference between GRANT and REVOKE commands?

Can you explain what each privilege allows a user to do?

How do roles and users differ in terms of privileges?

Awesome!

Completion rate improved to 4.35

bookLangage de Contrôle des Données

Glissez pour afficher le menu

Langage de Contrôle des Données (DCL), 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 : Utilisée pour accorder des privilèges spécifiques à des utilisateurs ou des rôles ;

  2. REVOKE : Utilisée pour retirer des privilèges spécifiques à des utilisateurs ou des rôles ayant déjà reçu ces privilèges.

Privilèges

Objets

Mise en œuvre

Pour accorder certains privilèges sur un objet en SQL à un utilisateur particulier, nous pouvons 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é aux utilisateurs (par exemple, admin, developer, analyst) ;
  • PUBLIC : Un mot-clé spécial qui accorde les privilèges spécifiés à tous les utilisateurs.

Nous pouvons accorder un rôle à un utilisateur en utilisant l'instruction suivante :

GRANT role TO user;

Enfin, nous pouvons révoquer les 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 6
some-alt