🧠 Explicação

Uma VIEW é como uma janela para os dados: parece uma tabela, mas na verdade é uma consulta armazenada no banco. Ela não guarda dados por conta própria — só espelha os dados das tabelas reais.

Ideal pra:

  • Simplificar consultas complexas

  • Ocultar dados sensíveis

  • Padronizar relatórios

  • Trabalhar com subqueries reutilizáveis

🔧 Usos mais comuns

  • Criar uma visão simplificada de múltiplas tabelas com JOINs.

  • Restringir o acesso a colunas sensíveis (ex: salários).

  • Criar camadas de acesso por setor (RH, Financeiro, etc.).

  • Reutilizar lógica de negócios nas consultas.

  • Facilitar queries que exigem filtros ou agrupamentos frequentes.

🧾 Sintaxe

Criar uma view simples:

CREATE VIEW nome_da_view AS
SELECT coluna1, coluna2
FROM tabela
WHERE condição;

Excluir uma view:

DROP VIEW nome_da_view;

💻 Exemplo prático

Criando uma visão para mostrar só os analistas:

CREATE VIEW vw_analistas AS
SELECT nome, cargo, salario
FROM empregados
WHERE cargo = 'ANALISTA';

Consultando a view:

SELECT * FROM vw_analistas;

Excluindo a view:

DROP VIEW vw_analistas;

📌 Regras

  • Views não armazenam dados, apenas o SQL da consulta.

  • Algumas views permitem UPDATE/DELETE/INSERT, mas só se forem simples (sem JOIN, GROUP BY, etc.).

  • Se você quiser que uma view seja editável mesmo com complexidade, use INSTEAD OF TRIGGER.

  • Você não pode criar view com ORDER BY (a menos que use FETCH FIRST ou similar com LIMIT no DB2).

  • Uma view pode ser baseada em outra view — mas cuidado com a performance.

💡 Dicas

  • Use WITH CHECK OPTION se quiser garantir que só dados visíveis na view possam ser inseridos.

  • Nomeie views com prefixos (vw_) pra facilitar a leitura no sistema.

  • Crie views para camadas de segurança: exiba só o que o usuário precisa.

  • Views ajudam a manter o código mais limpo e reutilizável.

 

✅ Conclusão

As VIEWS são como atalhos inteligentes: deixam seu SQL mais organizado, seguro e profissional. Saber usar CREATE VIEW e DROP VIEW do jeito certo é meio caminho andado pra entregar soluções limpas sem complicar o banco de dados.