No contexto do banco de dados Oracle, uma view é updatable ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
No contexto do banco de dados Oracle, uma view é um objeto que permite criar uma "tabela virtual" baseada em um comando SELECT. Quando uma view é considerada atualizável (ou updatable), significa que é possível realizar operações de UPDATE, DELETE e INSERT diretamente na view, e essas operações são refletidas na tabela base.
A alternativa correta é a B - Operador INNER JOIN.
Justificativa:
O INNER JOIN é um operador que permite combinar registros de duas ou mais tabelas com base em uma condição. No contexto de views updatable, o INNER JOIN é permitido porque ele não impede que as alterações sejam refletidas nas tabelas subjacentes. A condição de junção garante que apenas as linhas existentes em todas as tabelas envolvidas sejam consideradas, o que preserva a integridade das operações de atualização.
Análise das alternativas incorretas:
A - Cláusula GROUP BY: Essa cláusula é usada para agregar dados, agrupando linhas que possuem valores de coluna idênticos em conjuntos de resumo. Devido à natureza de agregação, views que utilizam GROUP BY não são atualizáveis, pois não é claro como uma modificação afetaria os dados agrupados.
C - Operadores de conjunto UNION e UNION ALL: Estes operadores são usados para combinar resultados de duas ou mais consultas SELECT. Como eles combinam conjuntos de resultados, há um problema de ambiguidade e complexidade que impede a atualização direta das views criadas com esses operadores. Não há um mapeamento claro de como a atualização afetaria cada conjunto de resultados.
D - Cláusula DISTINCT: Esta cláusula elimina linhas duplicadas no resultado da consulta. Isso cria uma ambiguidade similar à do GROUP BY, pois não se pode determinar de maneira direta e inequívoca qual linha da tabela subjacente deveria ser atualizada, inserida ou excluída.
Entender quais operadores e cláusulas permitem a criação de views updatable no Oracle é crucial para garantir que as operações de atualização nas views tenham efeito. Este conhecimento é essencial para administradores de banco de dados que precisam criar sistemas eficientes e funcionais.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
a view is not updatable if it contains any of the following:
- Aggregate functions or window functions (SUM(), MIN(), MAX(), COUNT(), and so forth)
- DISTINCT
- GROUP BY
- HAVING
- UNION or UNION ALL
- Subquery in the select list
- Nondependent subqueries in the select list fail for INSERT, but are okay for UPDATE, DELETE. For dependent subqueries in the select list, no data change statements are permitted.
- Certain joins (see additional join discussion later in this section)
- Reference to nonupdatable view in the FROM clause
- Subquery in the WHERE clause that refers to a table in the FROM clause
- Refers only to literal values (in this case, there is no underlying table to update)
- ALGORITHM = TEMPTABLE (use of a temporary table always makes a view nonupdatable)
- Multiple references to any column of a base table (fails for INSERT, okay for UPDATE, DELETE)
https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/view-updatability.html
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo