Recomendado, 2024

La Elección Del Editor

Diferencia entre subvención y revocación

En SQL, los comandos DCL se usan para asignar las diferentes autorizaciones al usuario, este tipo de autorizaciones se conoce como privilegio. Los comandos Grant y Revoke son los comandos DCL. El comando GRANT se utiliza para otorgar la autorización a los usuarios, mientras que el comando REVOKE se utiliza para retirar la autorización. Seleccionar, insertar, actualizar y eliminar son algunos de los privilegios que se incluyen en los estándares SQL.

Gráfica comparativa

Bases para la comparaciónConcederRevocar
BASICEl comando de concesión se usa para otorgar los privilegios a los usuarios.El comando Revocar se usa para quitar los privilegios a los usuarios.
Cuando el control está descentralizado.La concesión es más simple.La revocación es bastante compleja de realizar.
Sintaxisconceder
en
a ;
revocar
en
desde ;

Definición de Grant

El administrador de la base de datos define el comando GRANT en SQL para otorgar el acceso o los privilegios a los usuarios de la base de datos. Los tres componentes principales que están involucrados en la autorización son los usuarios, privilegios / s (operaciones) y un objeto de base de datos. El usuario es el que activa la ejecución del programa de aplicación. Las operaciones son el componente que está incrustado en un programa de aplicación. Las operaciones se realizan en objetos de la base de datos como la relación o el nombre de la vista.

SYNTAX del comando GRANT:

conceder
en
a ;

Aquí, la lista de privilegios podría incluir operaciones de selección, inserción, actualización y eliminación o combinación de ellas. Estos tres aspectos del comando se verifican mediante el control de autorización antes de continuar.

Cuando una cuenta propietaria A1 de la relación (tabla) R otorga privilegios a otra cuenta A2 en R, entonces la cuenta A2 puede acceder a la relación R y está autorizada para otorgar los privilegios a otra cuenta en R. Si la A1 revoca los privilegios de A2 en R1, entonces, todos los privilegios que A2 propagó serán revocados automáticamente por el sistema. Entonces, así es como los privilegios en las tablas pueden propagarse. Por lo tanto, un DBMS que permita la propagación debe seguir los privilegios que se otorgan para que los privilegios puedan ser revocados fácilmente.

Tomemos un ejemplo para ilustrar la concesión de privilegios. Disponemos de dos esquemas para las tablas Facultad y Departamento y cuentas A1 y A2.

OTORGAR SELECCIONAR, INSERTAR, ACTUALIZAR EN FACULTAD, DEPARTAMENTO A A1, A2;

En el ejemplo anterior, las cuentas A1 y A2 pueden realizar las operaciones de selección, inserción y actualización en la tabla de empleados y departamentos.

Definición de revocar

El comando REVOKE en SQL se define para quitar los privilegios otorgados (autorizaciones) del usuario de la base de datos. El que tiene la autoridad para retirar los privilegios es el administrador de la base de datos.

SYNTAX del comando REVOKE:

revocar
en
desde ;

El comando es similar al comando grant, excepto por la palabra clave revoke y 'from'. En el comando dado, las operaciones incluidas en el privilegio se cancelan para el usuario particular o la lista de roles. La revocación se vuelve compleja cuando los privilegios se propagan de un usuario a otro.

Tomemos el ejemplo similar para ilustrar la revocación de privilegios.

REVOCAR INSERTAR, ACTUALIZAR EN FACULTAD, DEPARTAMENTO DE A1, A2;

En el ejemplo anterior, las cuentas A1 y A2 se retiran de sus derechos y no se les permite realizar operaciones de inserción y actualización en la tabla de empleados y departamentos.

Diferencias clave entre conceder y revocar

  1. El comando Otorgar confiere los privilegios al usuario mientras que el comando Revocar retira los privilegios del usuario.
  2. En el sistema centralizado, los comandos DCL GRANT y REVOKE se pueden ejecutar fácilmente. Cuando el control está descentralizado, las consultas son más flexibles pero complejas. El comando GRANT es fácil de manejar, pero en el caso del comando REVOKE, es recursivo.

Conclusión

El comando GRANT otorga privilegios o acceso a los usuarios en los objetos de la base de datos. Por otro lado, el comando REVOKE se utiliza para eliminar los derechos o privilegios de los usuarios en los objetos de la base de datos.

Top