No contexto do banco de dados Oracle, uma view é updatable ...

Próximas questões
Com base no mesmo assunto
Q3034867 Banco de Dados
No contexto do banco de dados Oracle, uma view é updatable quando pode ser alvo de comandos update, delete, insert. Qual operador/cláusula é permitido(a) na definição de uma view updatable no Oracle? 
Alternativas

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