Pular para o conteúdo principal

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.