← Questões de Banco de Dados

Banco de Dados · CONSULPLAN · 2022

Questão comentada de Banco de Dados

Foi solicitado ao administrador de banco de dados, responsável pelo gerenciamento de um sistema de banco de dados, que fizesse uma atualização nas permissões do usuário PROFESSOR01. Entre suas responsabilidades estão a criação de conta e a concessão e revogação de privilégios. Assim, observe a expressão a seguir: GRANT SELECT, UPDATE (NOTA), INSERT, DELETE ON ALUNOS TO PROFESSOR01 WITH GRANT OPTION Considerando o caso hipotético, assinale a afirmativa que descreve corretamente a função da expressão anterior.

Gabarito: B

No SQL, o comando GRANT serve para conceder privilégios sobre tabelas, colunas ou outros objetos do banco. Aqui, a expressão informa que o usuário PROFESSOR01 recebe permissão para fazer SELECT, INSERT e DELETE na tabela ALUNOS, além de UPDATE somente na coluna NOTA. Isso é importante: quando o UPDATE vem com o nome da coluna entre parênteses, o privilégio não vale para a tabela inteira, mas apenas para aquele campo específico. Bem mais cirúrgico, como um bisturi de banco de dados. Outro ponto-chave é o trecho WITH GRANT OPTION. Ele não cria privilégio temporário, nem limita o tempo de uso. O que ele faz é permitir que PROFESSOR01 repasse esses privilégios a outras contas, ou seja, conceda o mesmo direito a terceiros. Esse detalhe costuma aparecer bastante em prova para confundir quem associa "option" com algo provisório. Por isso, o gabarito B está correto: a conta PROFESSOR01 pode recuperar, atualizar a coluna NOTA, inserir e excluir tuplas da relação ALUNOS, e ainda pode transferir esses privilégios para outros usuários. Em termos conceituais, a banca cobra exatamente a leitura fina da sintaxe do GRANT e da diferença entre privilégio sobre a tabela e privilégio sobre coluna.

Continue treinando

Questões relacionadas