Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2024

Banco de DadosSQL
Código
fg077424
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 9 - TI / Infraestrutura e Segurança - Tarde
Existem diferentes tipos de privilégios aplicáveis aos objetos de um banco de dados. O comando SQL abaixo será executado em uma instância de banco de dados mantida pelo PostgreSQL:GRANT USASE ON SCHEMA objeto1 TO objeto2;O resultado da execução do comando acima resultará na concessão de privilégios para que a role:
  1. Aprocure e acesse objetos contidos no esquema;
  2. Butilize as funções dos esquemas currval e nextval;
  3. Ccrie funções em esquemas de uma determinada linguagem;
  4. Ddefina tipos e domínios na criação de esquemas de tabelas;
  5. Eleia os nomes dos objetos do esquema no catálogo do sistema.
Revelar gabarito e comentário

GabaritoA — procure e acesse objetos contidos no esquema;

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

Privilégio USAGE em esquema PostgreSQL

Gabarito: letra A. O comando GRANT USAGE ON SCHEMA objeto1 TO objeto2; concede o privilégio USAGE sobre o esquema objeto1 para a role objeto2. Esse privilégio permite que a role acesse e procure objetos (tabelas, funções, etc.) contidos no esquema, sem poder criar, alterar ou ler diretamente o catálogo do sistema. A documentação do PostgreSQL define que USAGE dá o direito de "usar" o esquema, ou seja, de acessar os objetos dentro dele, mas não de modificá-los.

Alternativa A — ✅ Correta ⟵ GABARITO

Concede exatamente o que o privilégio USAGE proporciona: procurar e acessar objetos contidos no esquema. O grantee pode, por exemplo, executar SELECT em tabelas do esquema (se tiver também o privilégio SELECT na tabela) ou chamar funções. É o significado padrão de USAGE no PostgreSQL.

Alternativa B — ❌ Incorreta

"Utilizar as funções currval e nextval" são funções de sequência. Embora essas funções estejam em um esquema (normalmente pg_catalog), o privilégio USAGE no esquema não concede especificamente o direito de usá-las; é necessário também possuir o privilégio de EXECUTE na função ou ser o proprietário. A alternativa confunde a permissão genérica de acessar objetos com uma permissão específica sobre funções.

Alternativa C — ❌ Incorreta

"Criar funções em esquemas de uma determinada linguagem" exige o privilégio CREATE no esquema e o privilégio USAGE na linguagem (se aplicável). USAGE não permite criar objetos; é uma permissão de acesso, não de criação.

Alternativa D — ❌ Incorreta

"Definir tipos e domínios na criação de esquemas de tabelas" também demanda o privilégio CREATE no esquema. USAGE não autoriza a definição de novos objetos.

Alternativa E — ❌ Incorreta

"Ler os nomes dos objetos do esquema no catálogo do sistema" requer o privilégio SELECT nas tabelas do catálogo (pg_class, pg_namespace, etc.), não USAGE. O USAGE permite usar o esquema, mas não visualizar sua definição diretamente.

Gabarito: letra A — apenas a alternativa A descreve corretamente a consequência do privilégio USAGE sobre um esquema no PostgreSQL.

Link permanente: /questoes/fg077424