Questão de Banco de Dados — Visão (View) — INSTITUTO AOCP 2024
Banco de Dados›Visão (View)
Código
qg263654
Banca
INSTITUTO AOCP
Órgão
UFTM
Ano
2024
Nível
Médio
Cargo
Técnico em Tecnologia da Informação - Todas as Áreas
João, técnico em TI na Universidade Federal do Triângulo Mineiro (UFTM), está trabalhando em um projeto de banco de dados para gerenciar informações acadêmicas. Ele precisa criar uma visão (view) no sistema de gerenciamento de banco de dados para facilitar consultas frequentes e complexas, sem armazenar fisicamente os dados. João quer garantir que a visão seja eficiente e atenda às necessidades dos usuários finais. Com base nesse cenário, assinale a alternativa que apresenta corretamente acerca do uso de visões em um sistema de gerenciamento de banco de dados.
AAs visões permitem inserções e atualizações de dados, assim como tabelas normais, e são armazenadas fisicamente no banco de dados.
BVisões são usadas principalmente para otimizar o desempenho do banco de dados, pois armazenam dados fisicamente de forma mais eficiente que tabelas normais.
CVisões são consultas armazenadas que permitem a visualização de dados de uma ou mais tabelas sem armazená-los fisicamente.
DA criação de visões é desaconselhada em sistemas de gerenciamento de banco de dados, pois aumenta a complexidade e reduz a segurança dos dados.
Revelar gabarito e comentário▾
GabaritoC — Visões são consultas armazenadas que permitem a visualização de dados de uma ou mais tabelas sem armazená-los fisicamente.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Visões (Views) em Banco de Dados
Gabarito: letra C. A alternativa C está correta porque define visão como uma consulta armazenada que permite visualizar dados de uma ou mais tabelas sem armazená-los fisicamente — exatamente o conceito de tabela virtual. As demais alternativas erram ao afirmar que visões são armazenadas fisicamente ou que servem para otimizar desempenho por esse motivo.
Uma visão (ou view) é um objeto de banco de dados que representa o resultado de uma consulta pré-definida. Tecnicamente, é uma tabela virtual: não ocupa espaço físico em disco, pois seus dados são derivados dinamicamente das tabelas base sempre que a visão é referenciada. O comando SQL que define a visão (o SELECT) é o que fica armazenado no dicionário de dados do SGBD, não os dados em si.
A principal utilidade das visões é simplificar consultas complexas: em vez de reescrever um SELECT com múltiplos joins e filtros toda vez, o usuário consulta a visão como se fosse uma tabela comum. Além disso, visões oferecem um mecanismo de segurança, pois permitem restringir o acesso a colunas ou linhas específicas das tabelas base, expondo apenas os dados que o usuário deve ver. Outra vantagem é mascarar a complexidade do banco, apresentando uma interface mais amigável para o usuário final.
É importante distinguir visões de visões materializadas. Enquanto a visão comum é virtual e sempre reflete o estado atual das tabelas base, a visão materializada armazena fisicamente o resultado da consulta em uma tabela auxiliar, o que melhora o desempenho de leitura, mas exige atualização periódica para não ficar defasada. A questão não menciona visões materializadas, então a regra geral se aplica.
Outro ponto relevante: visões não são totalmente atualizáveis como tabelas normais. Em regra, apenas operações de consulta são permitidas; inserções, alterações e exclusões através de visões dependem de condições específicas (como a visão ser baseada em uma única tabela e incluir a chave primária). Isso contrasta com a alternativa A, que trata visões como se fossem tabelas normais para escrita.
A pegadinha da banca está em confundir visão com tabela física ou com mecanismo de otimização por armazenamento. A visão não armazena dados; ela é apenas uma consulta guardada. O desempenho que ela pode trazer vem da simplificação da consulta e da possibilidade de o SGBD otimizá-la, não do armazenamento físico.
Guarde a fronteira: visão = consulta armazenada, tabela virtual, sem dados físicos; visão materializada = resultado armazenado fisicamente. É exatamente nessa distinção que as alternativas se dividem.
Critério
Visão (View) Comum
Visão Materializada
Armazenamento físico
Não armazena dados; guarda apenas a consulta SQL no dicionário de dados
Armazena fisicamente o resultado da consulta em uma tabela auxiliar
Atualização dos dados
Sempre reflete o estado atual das tabelas base (dinâmica)
Pode ficar defasada; exige atualização periódica (manual ou automática)
Desempenho de leitura
Depende da otimização do SGBD a cada consulta
Geralmente mais rápida, pois os dados já estão materializados
Uso de espaço em disco
Não ocupa espaço adicional
Ocupa espaço físico para armazenar o resultado
Atualização via INSERT/UPDATE/DELETE
Restrita a condições específicas (ex.: baseada em uma única tabela com chave primária)
Normalmente não é atualizável diretamente; requer refresh
Alternativa A — ❌ Incorreta
Afirma que visões permitem inserções e atualizações como tabelas normais e são armazenadas fisicamente. Há dois erros: (1) visões não são armazenadas fisicamente — são tabelas virtuais; (2) visões não são totalmente atualizáveis como tabelas normais — em regra, apenas consultas são permitidas, e a atualização depende de condições específicas (visão baseada em uma única tabela, incluindo a chave primária, sem agregações, etc.).
Alternativa B — ❌ Incorreta
Afirma que visões otimizam o desempenho porque armazenam dados fisicamente de forma mais eficiente que tabelas normais. O erro está em dizer que visões armazenam dados fisicamente — isso é característica de visões materializadas, não de visões comuns. A visão comum não ocupa espaço em disco; ela apenas guarda a consulta. O desempenho que pode ser obtido vem da simplificação da consulta e da otimização prévia pelo SGBD, não do armazenamento físico.
Alternativa C — ✅ Correta ⟵ GABARITO
Define corretamente visão como consulta armazenada que permite visualizar dados de uma ou mais tabelas sem armazená-los fisicamente. É exatamente o conceito de tabela virtual: o comando SELECT é guardado no dicionário de dados, e os dados são derivados dinamicamente das tabelas base a cada acesso. A visão sempre reflete o estado atual dos dados das tabelas subjacentes.
Alternativa D — ❌ Incorreta
Afirma que a criação de visões é desaconselhada porque aumenta a complexidade e reduz a segurança. É o oposto: visões reduzem a complexidade para o usuário final (mascaram joins e filtros complexos) e aumentam a segurança (restringem o acesso a colunas e linhas específicas, expondo apenas os dados necessários). São justamente vantagens reconhecidas do uso de visões.
PEGA ESSA DICA!
Na prova, ao ver "visão" ou "view", lembre-se do par: virtual = não armazena dados (regra geral) × materializada = armazena fisicamente (exceção). Se a alternativa disser que visão armazena dados fisicamente, está errada — a menos que mencione explicitamente "visão materializada".