Pular para o conteúdo principal

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

Banco de DadosVisão (View)
Código
vu212103
Banca
VUNESP
Órgão
EsFCEx
Ano
2024
Cargo
CFO/QC ( )
O comando SQL para criar uma visão de nome Teste, a partir dos atributos C1 e C2 da tabela denominada Prova é:
  1. ACREATE TABLE VISION Teste USING (C1, C2 FROM Prova);
  2. BCREATE TABLE VIEW Teste AS SELECT C1, C2 FROM Prova;
  3. CCREATE VISION Teste FROM Prova (C1, C2);
  4. DCREATE VIEW Teste FROM Prova (C1, C2);
  5. ECREATE VIEW Teste AS SELECT C1, C2 FROM Prova;
Revelar gabarito e comentário

GabaritoE — CREATE VIEW Teste AS SELECT C1, C2 FROM Prova;

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) no SQL: sintaxe do comando CREATE VIEW

Gabarito: letra E. O comando CREATE VIEW Teste AS SELECT C1, C2 FROM Prova; é a sintaxe padrão da linguagem SQL para criar uma visão (view), que consiste em uma consulta armazenada que retorna um subconjunto de dados de uma ou mais tabelas. A alternativa E é a única que apresenta a estrutura correta: CREATE VIEW seguido do nome da visão, a cláusula AS e a consulta SELECT que define o conteúdo da visão.

Uma visão (ou view) é um objeto de banco de dados que representa uma tabela virtual, ou seja, não armazena dados fisicamente, mas sim uma consulta pré-definida que é executada sempre que a visão é referenciada. Ela é criada a partir de uma consulta SQL sobre uma ou mais tabelas base, e pode ser utilizada para simplificar consultas complexas, fornecer uma camada de segurança (restringindo o acesso a determinadas colunas ou linhas) e apresentar os dados de uma forma mais adequada para determinados usuários.

A sintaxe básica para criar uma visão em SQL é:

CREATE VIEW nome_da_visao AS
SELECT coluna1, coluna2, ...
FROM nome_da_tabela
WHERE condicao;

Nesta questão, o comando deve criar uma visão chamada Teste a partir dos atributos C1 e C2 da tabela Prova. Como não há condição de filtragem, a cláusula WHERE não é necessária. Portanto, o comando correto é CREATE VIEW Teste AS SELECT C1, C2 FROM Prova;.

É importante destacar que a visão é um objeto do esquema do banco de dados, e sua criação é um comando de DDL (Data Definition Language), assim como CREATE TABLE, ALTER TABLE e DROP TABLE. A visão não ocupa espaço físico em disco, pois apenas armazena a definição da consulta no dicionário de dados.

A pegadinha desta questão está na confusão entre os comandos CREATE TABLE e CREATE VIEW, além do uso incorreto da palavra VISION (que não existe no SQL) e da sintaxe FROM Prova (C1, C2), que não é válida. A banca explora o conhecimento da sintaxe correta do comando CREATE VIEW, que exige a cláusula AS seguida da consulta SELECT.

CREATE VIEW
  • 1Sintaxe correta
    • CREATE VIEW nome
    • AS SELECT colunas
    • FROM tabela
  • 2Erros comuns
    • CREATE TABLE VIEW
    • CREATE VISION
    • FROM tabela (colunas)
    • USING (colunas)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa A usa CREATE TABLE VISION, que mistura dois comandos diferentes: CREATE TABLE (para criar tabelas) e VISION (que não é uma palavra reservada do SQL). O correto seria CREATE VIEW. Além disso, a sintaxe USING (C1, C2 FROM Prova) não é válida para criar uma visão.

Alternativa B — ❌ Incorreta

A alternativa B usa CREATE TABLE VIEW, que é uma combinação incorreta. O comando correto é CREATE VIEW, sem a palavra TABLE. A sintaxe CREATE TABLE VIEW Teste AS SELECT C1, C2 FROM Prova; tentaria criar uma tabela chamada VIEW, o que não é o objetivo da questão.

Alternativa C — ❌ Incorreta

A alternativa C usa CREATE VISION, que não é um comando SQL válido. A palavra correta é VIEW, não VISION. Além disso, a sintaxe FROM Prova (C1, C2) não é a forma correta de especificar as colunas em uma visão; a definição deve ser feita através de uma consulta SELECT.

Alternativa D — ❌ Incorreta

A alternativa D usa CREATE VIEW Teste FROM Prova (C1, C2);, que está incorreta porque falta a cláusula AS e a consulta SELECT. A sintaxe correta exige CREATE VIEW nome AS SELECT ... FROM ..., não CREATE VIEW nome FROM tabela (colunas).

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa E apresenta a sintaxe correta: CREATE VIEW Teste AS SELECT C1, C2 FROM Prova;. O comando CREATE VIEW cria a visão, Teste é o nome da visão, AS introduz a consulta que define o conteúdo, e SELECT C1, C2 FROM Prova seleciona os atributos C1 e C2 da tabela Prova. Esta é a forma padrão de criar uma visão em SQL.

Gabarito: letra E

Link permanente: /questoes/vu212103