Uma VIEW é uma tabela virtual criada a partir do resultado de uma consulta SQL.
Ela não armazena os dados fisicamente. Os dados são obtidos através da consulta definida na VIEW.
CREATE VIEW nome_view AS
SELECT
colunas
FROM
tabela;
CLIENTES
+----+----------+-------------+
| ID | Nome | Cidade |
+----+----------+-------------+
| 1 | Ana | São Paulo |
| 2 | Carlos | Curitiba |
| 3 | Pedro | Salvador |
+----+----------+-------------+
CREATE VIEW clientes_sp AS
SELECT nome, cidade
FROM clientes
WHERE cidade='São Paulo';
Após criada, uma VIEW pode ser utilizada como uma tabela.
SELECT *
FROM clientes_sp;
| Benefício | Descrição |
|---|---|
| Simplicidade | Facilita consultas complexas |
| Segurança | Controla acesso aos dados |
| Reutilização | Evita repetir consultas |
| Organização | Melhora estrutura do banco |
| VIEW | TABELA |
|---|---|
| Dados virtuais | Dados físicos |
| Baseada em SELECT | Armazena registros |
| Não ocupa espaço de dados | Ocupa espaço no banco |
| Atualiza conforme tabelas origem | Possui dados próprios |
Uma VIEW pode unir várias tabelas.
CREATE VIEW pedidos_clientes AS
SELECT
clientes.nome,
pedidos.valor
FROM clientes
INNER JOIN pedidos
ON clientes.id = pedidos.cliente_id;
CREATE OR REPLACE VIEW
nome_view AS
SELECT
colunas
FROM tabela;
DROP VIEW nome_view;
| Sistema | Uso |
|---|---|
| Banco | Relatórios financeiros |
| ERP | Consultas gerenciais |
| E-commerce | Relatórios de vendas |
| Escola | Relatórios acadêmicos |
| Cuidado | Motivo |
|---|---|
| Muitas VIEWs encadeadas | Pode reduzir desempenho |
| Consultas complexas | Aumentam processamento |
| Não documentar | Dificulta manutenção |
| Excesso de dados | Pode comprometer segurança |