Questão de Banco de Dados — SQL — Quadrix 2024
- Código
- qg351065
- Banca
- Quadrix
- Órgão
- CRN - 8ª Região (PR)
- Ano
- 2024
- Nível
- Médio
- Cargo
- Assistente de Tecnologia da Informação Júnior
- AREVOKE.
- BGRANT.
- CDELETE.
- DCASCADE.
- ECONSTRAINT.
GabaritoB — GRANT.
Gabarito: letra B. No MySQL, a instrução GRANT é a utilizada para conceder privilégios e funções (roles) a usuários, enquanto REVOKE é o comando que retira essas permissões. A questão cobra exatamente essa distinção fundamental da sublinguagem DCL (Data Control Language) do SQL.
A DCL (Data Control Language) é a parte do SQL responsável pelo controle de acesso aos dados, gerenciando quem pode visualizar ou manipular informações dentro do banco. Ela é composta essencialmente por dois comandos: GRANT e REVOKE. O GRANT é usado para conceder privilégios (como SELECT, INSERT, UPDATE, DELETE) e também para atribuir papéis (roles) a usuários, permitindo que eles executem tarefas específicas. O REVOKE, por sua vez, é o comando que revoga essas permissões, retirando os acessos que foram previamente concedidos. Essa é a lógica central que a banca explora: a concessão de privilégios é feita exclusivamente pelo GRANT.
Na prática, a sintaxe básica do GRANT no MySQL segue o padrão:
GRANT <lista de privilégios> ON <objeto> TO <usuário ou role> [WITH GRANT OPTION];Por exemplo, para conceder o privilégio de seleção na tabela clientes ao usuário financeiro, o comando seria GRANT SELECT ON clientes TO financeiro;. Já para revogar essa permissão, usaríamos REVOKE SELECT ON clientes FROM financeiro;. A opção WITH GRANT OPTION permite que o usuário conceda os mesmos privilégios a outros usuários, um detalhe importante que pode aparecer em questões mais avançadas.
A pegadinha desta questão é justamente a inversão de papéis: o candidato que confunde GRANT com REVOKE acaba marcando a alternativa A, que é o comando de revogação. A banca explora essa confusão clássica entre os dois comandos da DCL. É fundamental memorizar que GRANT concede e REVOKE revoga — essa é a fronteira que separa as alternativas.
O comando REVOKE é utilizado para revogar (retirar) privilégios que foram concedidos anteriormente, não para concedê-los. Ele é o oposto do GRANT. A banca coloca essa alternativa como distrator justamente para testar se o candidato sabe a diferença entre conceder e revogar permissões.
O comando GRANT é exatamente o que a questão pede: ele é usado para conceder privilégios e funções (roles) a usuários no MySQL. É o comando da DCL responsável por dar acesso a usuários ou papéis para executar tarefas específicas no banco de dados.
DELETE é um comando da DML (Data Manipulation Language), utilizado para remover registros de uma tabela. Ele não tem relação com a concessão de privilégios, que é uma operação de controle de acesso (DCL).
CASCADE não é um comando SQL, mas sim uma cláusula utilizada em comandos como DROP e ALTER para indicar que a operação deve ser propagada para objetos dependentes (por exemplo, ao excluir uma tabela, também excluir suas views). Também é usada em chaves estrangeiras para definir o comportamento em cascata. Não se trata de um comando de concessão de privilégios.
CONSTRAINT é uma palavra-chave usada na definição de restrições de integridade em tabelas (como PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK). Ela faz parte da DDL (Data Definition Language) e não tem relação com a concessão de privilégios a usuários.
Gabarito: letra B
Link permanente: /questoes/qg351065