VIEW

Por Luiz Paulo de Oliveira Santos

Data de Publicação: 27 de Outubro de 2006

Bem, o que é um VIEW?

Basicamente VIEW é uma tabela virtual gerada a partir do resultado de uma instrução SELECT.

Uma VIEW contém linhas e colunas, como se fosse uma tabela real, os campos na VIEW são campos obtidos em uma tabela de um banco de dados. E na VIEW pode-se chamar funções e cláusulas SQL como WHERE e JOIN.

Obs: O projeto e a estrutura do banco de dados original não será alterado pelas funções utilizadas em sua confecção, pelo WHERE, ou JOINs implementados na VIEW.

Um dos objetivos ao se implementar VIEWs é evitar a constante manutenção de códigos SQL em aplicações, ou seja, pode-se implementar um SELECT * padrão na aplicação (que estará extraindo dados previamente filtrados da VIEW) e controlar o que e como será mostrado diretamente do servidor, alterando as características da VIEW.

A instrução para a criação de uma VIEW:

  CREATE VIEW <nome da view> AS SELECT colunas(s) 
     FROM <tabela> WHERE <condição>

Exemplo:

  CREATE VIEW comedias AS
     SELECT *
    FROM filmes
    WHERE tipo = 'Comédia';

ou

  CREATE VIEW v219 AS SELECT 
      qtde, preco, qtde*preco AS valunit FROM t;

E uma VIEW pode ser alterada ou removida.

A instrução para alterá-la lembra em sua sintaxe a instrução de criação:

  REPLACE VIEW <nome da view> AS SELECT colunas(s)
      FROM <tabela> WHERE <condição>

Exemplo:

  REPLACE VIEW v219 AS SELECT 
     qtde, preco, qtde*preco*1.10 AS vallucro FROM t;

A instrução para a remoção de uma VIEW:

  DROP VIEW <nome da view>

O uso de VIEWs pode facilitar muito o trabalho do desenvolvedor, principalmente na manutenção das informações que serão expostas, pois alterando apenas a VIEW no banco todos os clientes passarão a contemplar a alteração.

Alguns bancos implementam uma instrução chamada SNAPSHOT, com algumas características similares à VIEW, mas esse assunto deixamos para outra oportunidade.

Um abraço e até a próxima.