Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — VUNESP 2024

Banco de DadosMySQL
Código
vu212043
Banca
VUNESP
Órgão
SPTrans
Ano
2024
Cargo
Tec ( )
Considerando o sistema gerenciador de banco de dados MYSQL v8.0, os comandos para atribuir e retirar privilégios de objetos de um banco de dados, são, respectivamente,
  1. AFLOAT e NULL.
  2. BENUM e BLOB.
  3. CINSTANCE e JSON.
  4. DLOAD e DELETE.
  5. EGRANT e REVOKE.
Revelar gabarito e comentário

GabaritoE — GRANT e REVOKE.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Comandos DCL no MySQL: GRANT e REVOKE

Gabarito: letra E. No MySQL 8.0, o comando GRANT é utilizado para atribuir privilégios de acesso a usuários e papéis (roles), enquanto o comando REVOKE é utilizado para retirar esses privilégios. Ambos fazem parte da sublinguagem DCL (Data Control Language) do SQL, que controla a autorização de dados e as permissões de usuários.

A DCL (Data Control Language) é a parte do SQL responsável por gerenciar as permissões de acesso aos objetos do banco de dados. Ela define quem pode visualizar ou manipular dados, garantindo a segurança e a integridade do sistema. Os dois comandos principais dessa sublinguagem são exatamente o GRANT e o REVOKE, que atuam de forma complementar: o primeiro concede permissões, e o segundo as revoga.

O comando GRANT permite que usuários ou papéis especificados executem tarefas específicas, como SELECT, INSERT, UPDATE, DELETE, entre outras. Sua sintaxe básica envolve a lista de privilégios, o objeto (tabela ou visão) e o destinatário (usuário ou papel). Por exemplo, para conceder o privilégio de consulta na tabela clientes ao usuário financeiro, utiliza-se: GRANT SELECT ON clientes TO financeiro;. É possível também conceder privilégios apenas a colunas específicas, indicando os nomes das colunas entre parênteses após o nome da tabela, e a opção WITH GRANT OPTION permite que o beneficiário repasse o privilégio a outros usuários.

O comando REVOKE, por sua vez, é usado para cancelar permissões concedidas anteriormente, retirando os privilégios de acesso fornecidos pelo GRANT. Sua sintaxe é semelhante, mas utiliza a cláusula FROM para indicar o usuário ou papel que terá o privilégio removido. Por exemplo, para revogar o privilégio de exclusão na tabela clientes do usuário financeiro, utiliza-se: REVOKE DELETE ON clientes FROM financeiro;.

A pegadinha desta questão está em reconhecer que os comandos corretos são GRANT e REVOKE, e não se confundir com outros comandos SQL, como FLOAT, ENUM, BLOB, INSTANCE, JSON, LOAD e DELETE, que não têm relação com a atribuição ou retirada de privilégios. FLOAT, ENUM e BLOB são tipos de dados; INSTANCE e JSON são conceitos relacionados a instâncias de banco de dados e formato de dados; LOAD é um comando para carregar dados; e DELETE é um comando DML para remover registros.

Guarde a distinção: GRANT = conceder/atribuir privilégios; REVOKE = revogar/retirar privilégios. É exatamente essa fronteira que separa a alternativa correta das demais.

DCL (Data Control Language)
  • 1GRANT
    • Atribui privilégios
    • Ex.: SELECT, INSERT, UPDATE
    • WITH GRANT OPTION (repasse)
  • 2REVOKE
    • Retira privilégios
    • Ex.: DELETE, SELECT
    • Cláusula FROM
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

FLOAT e NULL não são comandos SQL. FLOAT é um tipo de dado numérico de ponto flutuante, e NULL é uma palavra-chave que representa ausência de valor. Nenhum deles tem relação com a atribuição ou retirada de privilégios.

Alternativa B — ❌ Incorreta

ENUM e BLOB também são tipos de dados, não comandos. ENUM é um tipo de dado que permite definir uma lista de valores possíveis, e BLOB (Binary Large Object) é usado para armazenar dados binários. Não se aplicam ao controle de privilégios.

Alternativa C — ❌ Incorreta

INSTANCE e JSON não são comandos para gerenciar privilégios. INSTANCE refere-se a uma instância do banco de dados, e JSON é um formato de dados. Embora o MySQL 8.0 tenha suporte a JSON, isso não está relacionado à concessão ou revogação de permissões.

Alternativa D — ❌ Incorreta

LOAD e DELETE são comandos SQL, mas não para controle de privilégios. LOAD é usado para carregar dados de um arquivo para uma tabela (como LOAD DATA INFILE), e DELETE é um comando DML para remover registros de uma tabela. Ambos pertencem a outras sublinguagens do SQL, não à DCL.

Alternativa E — ✅ Correta ⟵ GABARITO

GRANT e REVOKE são os comandos da DCL (Data Control Language) responsáveis, respectivamente, por atribuir e retirar privilégios de acesso a objetos do banco de dados. O GRANT concede permissões a usuários ou papéis, enquanto o REVOKE as remove. Essa é a definição clássica e a resposta correta para a questão.

NÃO CAIA NESSA!

Para memorizar, associe GRANT a "dar" (conceder) e REVOKE a "revogar" (retirar). Ambos são comandos da DCL, que controla permissões. Na prova, desconfie de alternativas que tragam tipos de dados (FLOAT, ENUM, BLOB) ou comandos de outras sublinguagens (DELETE, LOAD) — a banca tenta confundir o candidato com termos que não pertencem ao contexto de privilégios.

Gabarito: letra E

Link permanente: /questoes/vu212043