Analise a seguinte SQL:GRANT REFERENCES “ID_CIDADE” ON “CIDA...
GRANT REFERENCES “ID_CIDADE” ON “CIDADES” TO “SCOTT”;
O objetivo dela é conceder ao usuário SCOTT sobre o campo ID_CIDADE da tabelaCIDADES a permissão de:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - criação de chave estrangeira.
A instrução SQL GRANT
é utilizada no processo de controle de acesso em sistemas de gerenciamento de banco de dados (SGBD). Ela permite que privilégios sejam concedidos a usuários ou grupos de usuários. Neste caso específico, o comando está concedendo um tipo específico de permissão ao usuário SCOTT. A permissão concedida é a de REFERENCES sobre a coluna ID_CIDADE
da tabela CIDADES
, o que significa que o usuário SCOTT está sendo autorizado a definir uma chave estrangeira em outra tabela que faça referência a essa coluna.
Perceba que a questão trata do controle de privilégios no contexto de um banco de dados. O conhecimento necessário para resolver essa questão inclui compreender o significado dos diferentes tipos de permissões que podem ser concedidas com o comando GRANT
, tais como SELECT (consulta), INSERT (inserção), UPDATE (atualização), DELETE (deleção), EXECUTE (execução de procedimento armazenado) e REFERENCES, que é o foco desta questão.
O privilégio REFERENCES é específico e um pouco menos conhecido do que privilégios mais comuns como SELECT ou UPDATE. Seu uso permite que o usuário crie relações de integridade referencial, que são fundamentais na manutenção da consistência dos dados através de chaves estrangeiras.
Por essas razões, a permissão que está sendo concedida não se trata de consulta, atualização, deleção ou indexação, mas sim da capacidade de criar chaves estrangeiras, justificando assim a veracidade da alternativa C.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Basicamente a questão nos pergunta sobre a palavra 'REFERENCES',
Relembrando como adiciona uma chave estrangeira em uma tabela já criada:
ALTER TABLE nome_tabela ADD CONSTRAINT nome_da_constraint
FOREIGN KEY(nome_coluna_local) REFERENCES nome_da_outra_tabela(coluna-fk)
Ao fazer isso 'matamos' a questão: references é para criação de chave estrangeira
Gabarito alternativa C
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo