← Questões de Banco de Dados

Banco de Dados · FGV · 2025

Questão comentada de Banco de Dados

O analista Juca precisa criar um esquema no banco de dados processos e atribuir direitos para o perfil ad1. Para isso, com o perfil dadosadm, Juca definiu os seguintes passos: 1. criar o esquema processos; e 2. atribuir ao perfil ad1 o direito de apagar os registros das tabelas do esquema processos, criados por dadosadm, podendo usar alguma condição. No PostgreSQL, para implementar os passos definidos, Juca deve executar os comandos:

Gabarito: D

Em PostgreSQL, criar um esquema e ajustar permissões para objetos futuros costuma exigir duas ideias separadas: primeiro, criar o schema; depois, definir privilégios padrão para as tabelas que ainda serao criadas nele. O comando CREATE SCHEMA processos AUTHORIZATION dadosadm faz com que o schema fique associado ao dono informado, o que combina com a ideia de os objetos serem criados por dadosadm. No segundo passo, o ponto-chave e que o privilegio pedido e de apagar registros, e isso, no SQL, normalmente significa o direito DELETE sobre tabelas. Como a questao fala em tabelas do schema processos criadas por dadosadm, o comando correto precisa mexer nos privilegios padrao, para valer para futuras tabelas desse autor. Em PostgreSQL, isso e feito com ALTER DEFAULT PRIVILEGES FOR ROLE dadosadm IN SCHEMA processos GRANT DELETE ON TABLES TO ad1. Repare na sutileza: GRANT em tabelas existentes e uma coisa; DEFAULT PRIVILEGES e outra, usada para o que ainda vai nascer. A banca costuma cobrar exatamente essa diferenca, porque ela separa o candidato que sabe o nome do comando daquele que sabe quando usar o comando certo. Por isso, o gabarito D esta correto: ele cria o schema com o dono adequado e concede, como privilegio padrao, o direito DELETE ao perfil ad1 nas tabelas que forem criadas por dadosadm dentro do schema processos. Esse raciocinio esta alinhado com a sintaxe oficial do PostgreSQL para schemas e default privileges.

Continue treinando

Questões relacionadas