Recommandé, 2024

Choix De L'Éditeur

Différence entre accorder et révoquer

En SQL, les commandes DCL sont utilisées pour attribuer les différentes autorisations à l'utilisateur. Ce type d'autorisations est appelé privilège. Les commandes Grant et Revoke sont les commandes DCL. La commande GRANT est utilisée pour conférer l'autorisation aux utilisateurs, tandis que la commande REVOKE est utilisée pour retirer l'autorisation. La sélection, l’insertion, la mise à jour et la suppression sont quelques-uns des privilèges inclus dans les normes SQL.

Tableau de comparaison

Base de comparaisonSubventionRévoquer
De baseLa commande Grant est utilisée pour donner les privilèges aux utilisateurs.La commande Revoke est utilisée pour supprimer les privilèges des utilisateurs.
Quand le contrôle est décentraliséL'octroi est plus simple.Révoquer est assez complexe à réaliser.
Syntaxesubvention
sur
à ;
révoquer
sur
de ;

Définition de subvention

L'administrateur de base de données définit la commande GRANT en SQL pour donner l'accès ou les privilèges aux utilisateurs de la base de données. Les trois principaux composants impliqués dans l'autorisation sont les utilisateurs, les privilèges / s (opérations) et un objet de base de données. L' utilisateur est celui qui déclenche l'exécution du programme d'application. Les opérations sont le composant intégré dans un programme d'application. Les opérations sont effectuées sur des objets de base de données tels qu'une relation ou un nom de vue.

SYNTAXE de la commande GRANT:

subvention
sur
à ;

Ici, la liste de privilèges pourrait impliquer des opérations de sélection, d’insertion, de mise à jour et de suppression ou une combinaison de celles-ci. Ces trois aspects de la commande sont vérifiés par le contrôle des autorisations avant de continuer.

Lorsqu'un compte propriétaire A1 de la relation (table) R accorde des privilèges à un autre compte A2 sur R, le compte A2 peut accéder à la relation R et est autorisé à octroyer les privilèges à un autre compte sur R. Si A1 révoque les privilèges de A2 sur R1, tous les privilèges propagés par A2 seront automatiquement révoqués par le système. C'est ainsi que les privilèges sur les tables peuvent se propager. Ainsi, un SGBD permettant la propagation doit suivre les privilèges accordés afin que ces privilèges puissent être facilement révoqués.

Prenons un exemple pour illustrer l’octroi de privilèges. Nous avons deux schémas pour les tables Faculty et Department et les comptes A1 et A2.

GRANT SELECT, INSERT, MISE À JOUR SUR LA FACULTÉ, DÉPARTEMENT JUSQU'À A1, A2;

Dans l'exemple ci-dessus, les comptes A1 et A2 sont autorisés à effectuer les opérations de sélection, d'insertion et de mise à jour de la table des employés et des services.

Définition de révocation

La commande REVOKE dans SQL est définie pour supprimer les privilèges accordés (autorisations) à l'utilisateur de la base de données. L'administrateur de la base de données est autorisé à retirer les privilèges.

SYNTAXE de la commande REVOKE:

révoquer
sur
de ;

La commande est similaire à la commande grant à l'exception du mot clé revoke et de la réponse 'from'. Dans une commande donnée, les opérations incluses dans le privilège sont annulées pour l'utilisateur ou la liste de rôles en particulier. La révocation devient complexe lorsque les privilèges sont propagés d'un utilisateur à un autre.

Prenons un exemple similaire pour illustrer la révocation de privilèges.

REVOKE INSERT, MISE À JOUR SUR LA FACULTÉ, DÉPARTEMENT DE A1, A2;

Dans l'exemple ci-dessus, les comptes A1 et A2 sont retirés de leurs droits et ne sont pas autorisés à effectuer des opérations d'insertion et de mise à jour sur la table des employés et des services.

Différences clés entre accorder et révoquer

  1. La commande Accorder confère les privilèges à l'utilisateur, tandis que la commande Révoquer supprime les privilèges de l'utilisateur.
  2. Dans le système centralisé, les commandes DCL GRANT et REVOKE peuvent être facilement exécutées. Lorsque le contrôle est décentralisé, les requêtes sont plus flexibles mais complexes. La commande GRANT est facile à gérer, mais en cas de commande REVOKE, elle est récursive.

Conclusion

La commande GRANT donne les privilèges ou l'accès aux utilisateurs sur les objets de base de données. D'autre part, la commande REVOKE est utilisée pour supprimer les droits ou privilèges des utilisateurs sur les objets de base de données.

Top