Recomendado, 2024

Escolha Do Editor

Diferença entre conceder e revogar

No SQL, os comandos DCL são usados ​​para atribuir as diferentes autorizações ao usuário, esse tipo de autorização é conhecido como privilégio. Os comandos Grant e Revoke são os comandos DCL. O comando GRANT é usado para conferir a autorização aos usuários, enquanto o comando REVOKE é usado para retirar a autorização. Selecionar, inserir, atualizar e excluir são alguns dos privilégios incluídos nos padrões SQL.

Gráfico de comparação

Base para comparaçãoConcederRevogar
BasicO comando Grant é usado para fornecer os privilégios aos usuários.O comando Revoke é usado para remover os privilégios dos usuários.
Quando o controle é descentralizadoConceder é mais simples.Revogar é bastante complexo para executar.
Sintaxeconceder
em
para ;
revogar
em
de ;

Definição de Grant

O administrador do banco de dados define o comando GRANT no SQL para fornecer o acesso ou os privilégios aos usuários do banco de dados. Três componentes principais que estão envolvidos na autorização são os usuários, privilégios / s (operações) e um objeto de banco de dados. O usuário é quem aciona a execução do programa aplicativo. Operações são o componente que é incorporado em um programa aplicativo. As operações são realizadas em objetos de banco de dados, como relação ou nome de exibição.

SINTAXE do comando de GRANT:

conceder
em
para ;

Aqui, a lista de privilégios pode envolver selecionar, inserir, atualizar e excluir operações ou uma combinação delas. Esses três aspectos do comando são verificados pelo controle de autorização antes de prosseguir.

Quando uma conta de proprietário A1 da relação (tabela) R concede privilégio a outra conta A2 em R, a conta A2 pode acessar a relação R e está autorizada a conceder os privilégios a outra conta em R. Se a A1 revogar os privilégios de A2 em R1, então, todos os privilégios propagados por A2 serão revogados automaticamente pelo sistema. Então, é assim que os privilégios nas tabelas podem se propagar. Assim, um SGBD que permita a propagação deve seguir os privilégios que são concedidos para que os privilégios possam ser facilmente revogados.

Vamos dar um exemplo para ilustrar a concessão de privilégios. Temos dois esquemas para as tabelas Docente e Departamento e contas A1 e A2.

GRANT SELECT, INSERT, UPDATE ON FACULDADE, DEPARTAMENTO A1, A2;

No exemplo acima, as contas A1 e A2 têm permissão para executar as operações de seleção, inserção e atualização na tabela de funcionários e departamentos.

Definição de Revogação

O comando REVOKE no SQL é definido para remover os privilégios concedidos (autorizações) do usuário do banco de dados. Aquele que tem autoridade para retirar os privilégios é o administrador do banco de dados.

SINTAXE do comando REVOKE:

revogar
em
de ;

O comando é semelhante ao comando grant, exceto pela palavra-chave revoke e 'from'. Em determinado comando, as operações incluídas no privilégio são canceladas para o usuário ou lista de funções específica. A revogação se torna complexa quando os privilégios são propagados de um usuário para outro.

Vamos pegar o exemplo semelhante para ilustrar a revogação de privilégios.

REVOKE INSERT, UPDATE ON FACULDADE, DEPARTAMENTO A1, A2;

No exemplo dado acima, as contas A1 e A2 são retiradas de seus direitos e não podem realizar operações de inserção e atualização na tabela de funcionários e departamentos.

Principais diferenças entre conceder e revogar

  1. O comando Conceder concede os privilégios ao usuário enquanto o comando Revogar retira os privilégios do usuário.
  2. No sistema centralizado, os comandos DCL GRANT e REVOKE podem ser facilmente executados. Quando o controle é descentralizado, as consultas são mais flexíveis, mas complexas. O comando GRANT é fácil de lidar, mas no caso do comando REVOKE, é recursivo na forma.

Conclusão

O comando GRANT concede os privilégios ou acesso aos usuários nos objetos do banco de dados. Por outro lado, o comando REVOKE é usado para remover os direitos ou privilégios dos usuários nos objetos do banco de dados.

Top