Analista Judiciário – Suporte em Tecnologia da Informação
Um Database Administrator − DBA deseja criar uma função chamada analista, atribuir o privilégio create table a ela e atribuí-la ao usuário pedro. Para isso, terá que usar as instruções
ACREATE FUNCTION analista;ADD PRIVILEGE create table TO analista;GRANT analista TO pedro;
BCREATE ROLE analista;GRANT ADD create table TO analista;ADD ROLE analista TO pedro;
CCREATE FUNCTION analista;GRANT create table TO analista;ADD FUNCTION analista TO pedro;
DCREATE ROLE analista;GRANT create table TO analista;GRANT analista TO pedro;
ECREATE ROLE analista;GRANT create table TO analista;ADD analista TO Pedro WITH GRANT OPTION;
Revelar gabarito e comentário▾
GabaritoD — CREATE ROLE analista;
GRANT create table TO analista;
GRANT analista TO pedro;
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 SQL DCL: Criação de Roles e Concessão de Privilégios
Gabarito: letra D. A criação de um papel (role) no SQL é feita com CREATE ROLE, a concessão de privilégios a esse papel usa GRANT, e a atribuição do papel a um usuário também se dá com GRANT. A alternativa D segue exatamente essa sequência: CREATE ROLE analista; GRANT create table TO analista; GRANT analista TO pedro;.
A questão testa o conhecimento da sintaxe correta para gerenciar permissões por meio de roles. O comando CREATE FUNCTION é usado para criar funções armazenadas, não papéis. Já ADD PRIVILEGE e ADD ROLE não fazem parte do SQL padrão.
1CREATE ROLE analista
2GRANT create table TO analista
3GRANT analista TO pedro
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Usa CREATE FUNCTION em vez de CREATE ROLE, e o comando ADD PRIVILEGE não existe na sintaxe SQL. A atribuição da role ao usuário deveria ser com GRANT, mas a instrução GRANT analista TO pedro está correta isoladamente; porém, os erros anteriores invalidam a alternativa.
Alternativa B — ❌ Incorreta
Embora use CREATE ROLE, a concessão de privilégio é feita com GRANT ADD create table, que é incorreta (o ADD é desnecessário). A atribuição da role usa ADD ROLE, que não é um comando SQL válido; o correto é GRANT analista TO pedro.
Alternativa C — ❌ Incorreta
Novamente usa CREATE FUNCTION no lugar de CREATE ROLE. O comando ADD FUNCTION não existe para atribuir papéis.
Alternativa D — ✅ Correta ⟵ GABARITO
Sequência correta:
CREATE ROLE analista; cria o papel.
GRANT create table TO analista; concede o privilégio de criar tabelas ao papel.
GRANT analista TO pedro; atribui o papel ao usuário pedro.
Tudo conforme a sintaxe DCL padrão.
Alternativa E — ❌ Incorreta
Usa ADD analista TO pedro em vez de GRANT, e inclui WITH GRANT OPTION de forma inadequada. A opção WITH GRANT OPTION só é usada no GRANT de privilégios, não na atribuição da role em si. Além disso, a sintaxe ADD não é reconhecida.
NÃO CAIA NESSA!
A banca tenta confundir com CREATE FUNCTION (que cria funções, não papéis) e com comandos inexistentes como ADD PRIVILEGE e ADD ROLE. Lembre-se: para papéis, sempre use CREATE ROLE e GRANT.