Questão de Banco de Dados — Visão (View) — Quadrix 2023
- Código
- qa540998
- Banca
- Quadrix
- Órgão
- CREF 3
- Ano
- 2023
- Cargo
- Ana ( )

- CCerto
- EErrado

GabaritoE — Errado
Gabarito: ERRADO (letra E). A afirmação de que uma view somente pode ser criada referenciando, no mínimo, duas tabelas é falsa — uma view pode ser criada a partir de uma única tabela, de várias tabelas ou até de outras views. O conceito central é que uma view é uma tabela virtual derivada de uma consulta armazenada, sem a restrição de quantidade de tabelas-base.
Uma view (ou visão) é, essencialmente, uma consulta SQL pré-definida e armazenada no banco de dados, que se comporta como uma tabela virtual para os usuários. Quando você cria uma view, o SGBD guarda apenas a definição da consulta (o comando CREATE VIEW), não os dados em si. Ao ser referenciada, a view executa a consulta subjacente e retorna os dados atualizados das tabelas-base. Isso significa que a view não ocupa espaço físico de armazenamento (exceto no caso de views materializadas, que veremos adiante) e sempre reflete as alterações feitas nas tabelas originais.
A utilidade prática das views é enorme: elas permitem restringir o acesso a determinadas colunas ou linhas (segurança), simplificar consultas complexas para usuários finais, mascarar a complexidade do esquema e padronizar consultas frequentemente utilizadas. Por exemplo, se um sistema precisa frequentemente consultar o total de denúncias por cidade, em vez de reescrever a consulta com JOIN e GROUP BY toda vez, pode-se criar uma view que encapsula essa lógica.
A pegadinha desta questão está na falsa premissa de que uma view exige múltiplas tabelas. Na verdade, a definição de view não impõe nenhum requisito mínimo de quantidade de tabelas. Uma view pode ser criada sobre uma única tabela, filtrando colunas e linhas, ou sobre múltiplas tabelas com junções. A única exigência real é que a consulta subjacente seja válida. Portanto, a afirmação de que "não é permitido" criar uma view com uma única tabela é completamente equivocada.
Para fixar: a view é uma abstração sobre o esquema físico, e sua flexibilidade é justamente um de seus pontos fortes. A banca explora a confusão entre "view exige junção de tabelas" (mito) e a realidade de que views podem ser simples ou complexas, conforme a necessidade.
A assertiva afirma que não é permitido criar uma view para mostrar a quantidade de denúncias na cidade de Joinville, sob o argumento de que uma view somente pode ser criada referenciando, no mínimo, duas tabelas. Esse argumento é falso. Uma view pode ser criada a partir de uma única tabela, de várias tabelas ou até de outras views. Não existe nenhuma restrição no modelo relacional ou na linguagem SQL que exija um número mínimo de tabelas para a criação de uma view.
No caso concreto, se a tabela de denúncias contém a coluna cidade (ou similar), seria perfeitamente possível criar uma view com uma consulta como:
CREATE VIEW DenunciasJoinville AS
SELECT COUNT(*) AS total_denuncias
FROM Denuncias
WHERE cidade = 'Joinville';Essa view referencia apenas uma tabela e é totalmente válida. Portanto, a justificativa apresentada no enunciado está incorreta, tornando o item ERRADO.
A banca tenta fazer o candidato acreditar que view é sinônimo de junção (JOIN) entre tabelas. Na prática, a view é apenas uma consulta armazenada — ela pode ser tão simples quanto SELECT * FROM tabela ou tão complexa quanto uma consulta com múltiplos JOINs, GROUP BY e subconsultas. A quantidade de tabelas envolvidas não é um critério de validade.
Ao julgar questões sobre views, lembre-se sempre: view = consulta armazenada (tabela virtual). Pergunte-se: "essa consulta poderia ser executada diretamente?" Se sim, a view também pode ser criada. Não existe limitação de número de tabelas, nem de tipos de dados, nem de quantidade de consultas.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/qa540998