Gráfico de comparação
Base para comparação | Conceder | Revogar |
---|---|---|
Basic | O 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 é descentralizado | Conceder é mais simples. | Revogar é bastante complexo para executar. |
Sintaxe | conceder 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
- O comando Conceder concede os privilégios ao usuário enquanto o comando Revogar retira os privilégios do usuário.
- 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.