Pular para o conteúdo principal

Questão de Banco de Dados — Visão (View) — VUNESP 2023

Banco de DadosVisão (View)
Código
vu196691
Banca
VUNESP
Órgão
Pref Campinas
Ano
2023
Cargo
Ana TI ( )
Considere a seguinte tabela de um banco de dados relacional:   Hotel (ID, Nome, Cidade, Estado)   O comando SQL para criar uma visão denominada Local, que contenha apenas os atributos ID, Cidade e Estado é:
  1. ASELECT ID, Cidade, Estado FROM Hotel AS CREATE VIEW Local;
  2. BCREATE VIEW Local AS SELECT ID, Cidade, Estado FROM Hotel;
  3. CSELECT ID, Cidade, Estado FROM Hotel AS VIEW Local (ID, Cidade, Estado);
  4. DCREATE Local AS VIEW FROM Hotel (ID, Cidade, Estado);
  5. ECREATE VIEW Local (ID, Cidade, Estado) FROM Hotel;
Revelar gabarito e comentário

GabaritoB — CREATE VIEW Local AS SELECT ID, Cidade, Estado FROM Hotel;

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ão (View) em SQL: sintaxe de criação

Gabarito: letra B. O comando CREATE VIEW Local AS SELECT ID, Cidade, Estado FROM Hotel; é a única alternativa que segue a sintaxe padrão do SQL para criação de visões: a cláusula CREATE VIEW seguida do nome da visão, a palavra-chave AS e a consulta SELECT que define o conteúdo da visão. As demais alternativas invertem a ordem dos comandos ou usam palavras-chave incorretas, como AS CREATE VIEW ou AS VIEW.

Uma visão (ou view) é uma tabela virtual derivada de outras tabelas, que podem ser tabelas base ou outras visões previamente definidas. Tecnicamente, é uma consulta predefinida e armazenada no dicionário de dados, que é executada sempre que referenciada. Diferente das tabelas base, a visão não armazena dados fisicamente — ela apenas guarda a definição da consulta, e os dados são buscados das tabelas subjacentes no momento em que a visão é acessada. Isso significa que alterações nos dados das tabelas base refletem automaticamente nos resultados da visão.

A sintaxe padrão para criar uma visão é:

CREATE VIEW nome_da_visao AS
SELECT coluna1, coluna2, ...
FROM nome_da_tabela
WHERE condição;

Nesse comando, CREATE VIEW é a instrução DDL (Data Definition Language) que cria o objeto visão, nome_da_visao é o nome que será dado à visão, AS introduz a consulta que define o conteúdo, e o SELECT especifica quais colunas e de qual tabela os dados serão extraídos. A cláusula WHERE é opcional e serve para filtrar as linhas.

No caso da questão, a visão Local deve conter apenas os atributos ID, Cidade e Estado da tabela Hotel. Portanto, a consulta deve selecionar exatamente essas três colunas da tabela Hotel, sem nenhuma condição de filtro. O comando correto é:

CREATE VIEW Local AS
SELECT ID, Cidade, Estado
FROM Hotel;

A banca explora a confusão entre a ordem dos comandos e o uso incorreto de palavras-chave. Muitos candidatos podem lembrar que a visão é criada com CREATE VIEW, mas erram ao colocar o SELECT antes do CREATE ou ao usar AS VIEW em vez de AS. É fundamental memorizar a estrutura exata: CREATE VIEW nome AS SELECT ... FROM ....

  1. 1CREATE VIEW nome
  2. 2AS
  3. 3SELECT colunas
  4. 4FROM tabela
  5. 5WHERE (opcional)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa A coloca o SELECT antes do CREATE VIEW, o que inverte a ordem correta dos comandos. A sintaxe correta exige que CREATE VIEW venha primeiro, seguido do nome da visão e da cláusula AS. Além disso, a expressão AS CREATE VIEW não é válida em SQL — a palavra-chave AS deve vir depois do nome da visão, não antes de CREATE VIEW.

Alternativa B — ✅ Correta ⟵ GABARITO

A alternativa B segue exatamente a sintaxe padrão: CREATE VIEW Local AS SELECT ID, Cidade, Estado FROM Hotel;. O comando cria a visão Local com as colunas ID, Cidade e Estado da tabela Hotel, atendendo ao que o enunciado pede.

Alternativa C — ❌ Incorreta

A alternativa C usa AS VIEW Local, o que não é uma sintaxe válida. A palavra-chave VIEW já está implícita em CREATE VIEW; não se deve repetir VIEW após AS. Além disso, a ordem está invertida: o SELECT vem antes do CREATE, o que também é incorreto.

Alternativa D — ❌ Incorreta

A alternativa D usa CREATE Local AS VIEW, o que está errado. A ordem correta é CREATE VIEW (com a palavra VIEW logo após CREATE), não CREATE ... AS VIEW. Além disso, a cláusula FROM está posicionada de forma incorreta, e a lista de colunas entre parênteses não é usada dessa maneira na criação de visões.

Alternativa E — ❌ Incorreta

A alternativa E usa CREATE VIEW Local (ID, Cidade, Estado) FROM Hotel;, mas a sintaxe correta exige a cláusula AS antes do SELECT. A lista de colunas entre parênteses após o nome da visão é opcional e serve para renomear as colunas, mas não substitui a necessidade do AS SELECT. Além disso, falta a palavra-chave SELECT antes da lista de colunas.

Gabarito: letra B

Link permanente: /questoes/vu196691