Questão nº 42
Questão de Tecnologia da Informação · FGV TCE-SP 2023 (nº 42)
Views, em bancos de dados relacionais, configuram um importante mecanismo para flexibilizar o acesso aos dados armazenados. Em alguns casos, são ditas atualizáveis, pois podem ser utilizadas como alvo de comandos SQL como insert, update, delete. Uma característica que não impede uma view de ser atualizável é:
- Aa clásula group by;
- Ba cláusula distinct;
- Ca cláusula order by; (alternativa correta)
- Da presença do operador algébrico union;
- Ea inexistência de uma fonte de registros atualizáveis na cláusula from.
Resposta comentada
Gabarito Alternativa C
Uma view (ou visão) é uma tabela virtual que mostra dados de uma ou mais tabelas reais (chamadas tabelas base) através de uma consulta SQL. Uma view é atualizável quando você pode usar comandos como INSERT, UPDATE ou DELETE diretamente nela, e essas operações são refletidas nas tabelas base.
- (A) Incorreta: A cláusula
GROUP BYagrega linhas, tornando impossível para o banco de dados determinar qual linha original na tabela base deve ser modificada ou como uma nova linha agregada seria inserida. - (B) Incorreta: A cláusula
DISTINCTremove linhas duplicadas. Se uma linha na view representa várias linhas idênticas na tabela base, o banco de dados não consegue saber qual delas atualizar ou como inserir uma nova linha sem violar a unicidade. - (C) Correta: A cláusula
ORDER BYapenas define a ordem de exibição dos resultados da view. Ela não altera a estrutura dos dados nem a capacidade de identificar e modificar as linhas subjacentes nas tabelas base, portanto, não impede que a view seja atualizável. - (D) Incorreta: O operador
UNION(ouUNION ALL) combina resultados de múltiplas consultas. Se uma view é criada comUNION, o banco de dados não consegue determinar de qual das tabelas base originais uma linha específica veio para realizar uma operação de atualização. - (E) Incorreta: Se a view é baseada em uma fonte de dados que, por si só, não é atualizável (por exemplo, uma função de tabela, uma view não atualizável, ou uma consulta complexa que impede a atualização), então a view resultante também não será atualizável.
Fonte: FGV TCE-SP 2023 Agente da Fiscalização - TI (Caderno Tipo 1). Reproduzida para fins de estudo.