Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FCC 2016

Banco de DadosPL-SQL
Código
fc033357
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2016
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação
Utilizando instruções da PL/SQL, no Oracle 11g, é possível conceder ou remover privilégios de objeto a outros usuários. É correto afirmar:
  1. APara repassar a outros usuários um conjunto de privilégios de sistema ou objeto, um usuário deve criar funções usando a instrução CREATE ROLE.
  2. BDepois que um usuário cria um objeto, ele não pode repassar qualquer um dos privilégios de objeto disponíveis a outros usuários usando a instrução GRANT.
  3. CSe for concedido a um usuário um privilégio com a cláusula WITH GRANT OPTION, esse usuário também poderá conceder o privilégio com a cláusula WITH GRANT OPTION a outros usuários.
  4. DSe a conta de um usuário for eliminada sem revogar os privilégios desta conta, os privilégios do sistema concedidos por esse usuário a outros serão afetados por essa ação.
  5. ESe um usuário for demitido da empresa e o administrador revogar seus privilégios, não será necessário conceder novamente os privilégios que esse usuário concedeu a outros usuários.
Revelar gabarito e comentário

GabaritoC — Se for concedido a um usuário um privilégio com a cláusula WITH GRANT OPTION, esse usuário também poderá conceder o privilégio com a cláusula WITH GRANT OPTION a outros usuários.

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

PL-SQL: Concessão de privilégios no Oracle 11g

Gabarito: letra C. A alternativa C está correta porque, segundo a documentação do Oracle e a sintaxe SQL, quando um privilégio é concedido com a cláusula WITH GRANT OPTION, o usuário que o recebe pode, por sua vez, conceder o mesmo privilégio a outros usuários, inclusive incluindo novamente a cláusula WITH GRANT OPTION. Essa é a funcionalidade que permite a propagação de privilégios. As demais alternativas contêm erros conceituais ou de sintaxe.

A questão aborda o comando GRANT da DCL (Data Control Language) utilizado para conceder privilégios de acesso a objetos do banco de dados. O Oracle 11g segue o padrão SQL nesse aspecto.

Alternativa A — ❌ Incorreta

A afirmação confunde CREATE ROLE com a concessão direta de privilégios. Para repassar privilégios a outros usuários, utiliza-se a cláusula WITH GRANT OPTION no GRANT, e não a criação de funções (CREATE ROLE). CREATE ROLE serve para criar papéis (roles), mas não é o mecanismo para repassar privilégios de objeto individualmente.

Alternativa B — ❌ Incorreta

O proprietário de um objeto (quem o criou) pode, sim, conceder privilégios sobre ele para outros usuários usando o comando GRANT. A afirmação nega essa possibilidade, o que é falso.

Alternativa C — ✅ Correta ⟵ GABARITO

Essa é a descrição correta da cláusula WITH GRANT OPTION. Conforme a sintaxe do comando GRANT:

SQL – DCL: GRANT <lista de privilégios> ON <objeto> TO <usuário> [WITH GRANT OPTION];

Quando a opção WITH GRANT OPTION é usada, o beneficiário pode conceder o privilégio a outros usuários, e também pode incluir a própria opção WITH GRANT OPTION em suas concessões. Dessa forma, a capacidade de repassar o privilégio se propaga.

Alternativa D — ❌ Incorreta

Se a conta de um usuário for eliminada (comando DROP USER), todos os privilégios que ele concedeu a outros usuários são automaticamente revogados (cascade). Portanto, os privilégios são afetados sim (são removidos). A afirmativa tentou sugerir que não seriam afetados, o que é incorreto.

Alternativa E — ❌ Incorreta

Quando um administrador revoga os privilégios de um usuário (com REVOKE), os privilégios que esse usuário havia concedido a terceiros também são revogados (a menos que se use a opção RESTRICT, que é incomum). Logo, é necessário conceder novamente os privilégios a esses terceiros se desejar mantê-los. A afirmação diz o contrário.

Gabarito: letra C.

Link permanente: /questoes/fc033357