Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2023

Banco de DadosSQL
Código
qq896748
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Desenvolvimento Oracle PL/SQL
As permissões para acesso às estruturas e operações em um banco de dados são concedidas através do comando SQL GRANT. Considere o seguinte comando SQL:GRANT ALL PRIVILEGES ON BUSINESS TO PEOPLESobre esse comando SQL, analise as assertivas abaixo e assinale a alternativa correta.I. PEOPLE pode ser um usuário ou uma ROLE.II. O usuário poderá conceder seus privilégios sobre a tabela BUSINESS a outros usuários.III. O usuário poderá fazer operações de INSERT, UPDATE ou DELETE na tabela BUSINESS.IV. O usuário poderá criar uma TRIGGER sobre a tabela BUSINESS.
  1. ATodas estão corretas.
  2. BTodas estão incorretas.
  3. CApenas II e III estão corretas.
  4. DApenas III e IV estão corretas.
  5. EApenas I, III e IV estão corretas.
Revelar gabarito e comentário

GabaritoE — Apenas I, III e IV estão corretas.

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”.

Comando GRANT no SQL

Gabarito: letra E. O comando GRANT ALL PRIVILEGES ON BUSINESS TO PEOPLE concede todos os privilégios disponíveis sobre a tabela BUSINESS ao destinatário PEOPLE (que pode ser um usuário ou uma role). Dentre esses privilégios estão INSERT, UPDATE, DELETE e a capacidade de criar triggers. No entanto, não inclui o direito de repassar esses privilégios a terceiros, a menos que a cláusula WITH GRANT OPTION seja especificada — o que não ocorre no comando. Portanto, as assertivas I, III e IV estão corretas; a assertiva II está incorreta.

Item I — ✅ Correto

PEOPLE pode ser um usuário ou uma ROLE. A sintaxe do GRANT aceita como destinatário tanto um usuário individual quanto um papel (role), conforme padrão SQL e implementações comuns (Oracle, PostgreSQL, SQL Server).

Item II — ❌ Incorreto

A capacidade de conceder privilégios a outros usuários exige a cláusula WITH GRANT OPTION (ou ADMIN OPTION para roles). Como o comando GRANT ALL PRIVILEGES ON BUSINESS TO PEOPLE não a inclui, o usuário PEOPLE não pode repassar os privilégios recebidos. A assertiva está errada.

Item III — ✅ Correto

ALL PRIVILEGES abrange as operações de inserção, atualização e exclusão de dados: INSERT, UPDATE e DELETE. Logo, o usuário pode executar esses comandos na tabela BUSINESS.

Item IV — ✅ Correto

A criação de uma trigger sobre a tabela requer o privilégio TRIGGER, que está incluído em ALL PRIVILEGES nos principais SGBDR (PostgreSQL, Oracle, MySQL a partir de certa versão, etc.). Portanto, o usuário pode criar triggers em BUSINESS.

Conclusão: Corretos os itens I, III e IV. Logo, a alternativa E é o gabarito.

PEGA ESSA DICA!

Memorize que ALL PRIVILEGES concede um conjunto amplo de permissões (SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER, etc.), mas não inclui automaticamente o direito de conceder essas permissões a terceiros. Para isso, é obrigatório o uso de WITH GRANT OPTION. Questões de concurso adoram trocar esses conceitos.

Gabarito: letra E

Link permanente: /questoes/qq896748