Declaração MySQL CREATE VIEW
A instrução `CREATE VIEW` no MySQL é usada para definir uma tabela virtual com base no resultado de uma consulta `SELECT`. Isso permite que os usuários encapsulem consultas complexas e as apresentem como uma tabela simplificada.
Uso
A instrução `CREATE VIEW` é usada quando você precisa simplificar operações complexas de recuperação de dados ou apresentar dados em um formato específico. Ele melhora a legibilidade e a reutilização da consulta ao abstrair a lógica da consulta.
sql
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Aqui, `CREATE VIEW view_name AS` define uma nova visualização, com a instrução `SELECT` subsequente determinando a estrutura de dados e o conteúdo da visualização.
Exemplos
1. Criação de visualização básica
sql
CREATE VIEW customer_view AS
SELECT first_name, last_name
FROM customers;
Este exemplo cria uma visualização chamada `customer_view` que contém apenas as colunas `first_name` e `last_name` da tabela `customers`.
2. Visualizar com dados filtrados
sql
CREATE VIEW active_customers AS
SELECT *
FROM customers
WHERE status = 'active';
Neste exemplo, é criada uma visualização denominada `active_customers` que contém todas as colunas, mas somente para clientes com status "ativo".
3. Visualização com dados agregados
sql
CREATE VIEW sales_summary AS
SELECT product_id, SUM(quantity) AS total_quantity, SUM(price) AS total_sales
FROM sales
GROUP BY product_id;
Este exemplo cria uma exibição chamada `sales_summary` que agrega dados de vendas por `product_id`, calculando a quantidade total e as vendas.
Atualização de visualizações
Para atualizar uma visualização existente, use a instrução `CREATE OR REPLACE VIEW`. Isso permite que você modifique a exibição sem precisar soltá-la primeiro.
sql
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Diminuição das visualizações
Para remover uma visualização do banco de dados, use a instrução `DROP VIEW`. Isso é fundamental para gerenciar o ciclo de vida das exibições.
sql
DROP VIEW view_name;
Dicas e práticas recomendadas
- Mantenha as visualizações simples. Limite a complexidade da exibição para manter o desempenho e a legibilidade.
- Use visualizações para segurança. Restrinja o acesso direto às tabelas subjacentes e exponha somente os dados necessários por meio de exibições.
- Atualize regularmente as visualizações. Garantir que as exibições sejam atualizadas para refletir as alterações no esquema do banco de dados ou na lógica comercial.
- Evite a formação excessiva de ninhos. Minimize o uso de exibições dentro de exibições para reduzir a sobrecarga de desempenho.
- Considere os impactos no desempenho. Exibições complexas podem afetar negativamente o desempenho. Use índices e otimize as consultas subjacentes para aumentar a eficiência.
Limitações
- Visualizações não atualizáveis. Nem todas as exibições podem ser atualizadas diretamente, especialmente aquelas que envolvem junções ou agregações complexas.
- Sobrecarga de desempenho. As visualizações não armazenam dados propriamente ditos e podem aumentar a sobrecarga se forem usadas excessiva ou inadequadamente. Considere as visualizações materializadas para aplicativos de desempenho crítico.