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.
Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS
Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.
Opinião dos Leitores
24 Ago 2010, 14:13
27 Nov 2009, 17:34
Continue assim
Artigos Publicados
- Entendendo os conceitos sobre mapeamento objeto/relacional
15/03/2010 - Como calcular o tamanho de um banco de dados através do número de registros?
30/11/2009 - Como que eu configuro o MySQL para que os meus usuários tenham acesso?
26/11/2009 - Mysql replicator
24/11/2009 - Importar dados para MySQL
18/11/2009 - Importar estrutura de um arquivo SQL
17/11/2009 - MySQL - Gravando Imagens em uma tabela
02/10/2009 - Retorno status de comandos no MySQL
01/10/2009 - Recuperação da senha de root em MySQL
30/09/2009 - Performance e Timeout
29/09/2009 - Script de Backup para Banco de Dados Firebird
04/01/2009 - Sumarizações com **GROUP BY** e **WITH ROLLUP**
21/07/2008 - GREEN SQL
17/06/2008 - SELECT com ordem aleatória
12/06/2008 - MySQL é da SUN!
28/05/2008 - Otimizando consultas no PostgreSQL - Comando EXPLAIN
27/04/2008 - Back up de base de dados SQL
05/03/2007 - Linguagem dentro da linguagem - parte 3 - DDL
09/02/2007 - Linguagem dentro da linguagem - parte 2 - DML
06/02/2007 - Linguagem dentro da Linguagem - parte 1
22/01/2007 - REVOKE: Controle de direitos no SQL - parte 2
18/01/2007 - Cursor
12/01/2007 - Restauração MySQL
Por Cristina Otsuka
05/12/2006 - GRANT: Controle de direitos no SQL - parte 1
29/11/2006 - Backup no MySQL
Por Cristina Otsuka
27/11/2006 - Preenchimento automático de campos
23/11/2006 - Projeto Firebird lança Firebird 2.0
14/11/2006 - Limpando tabelas
28/10/2006 - VIEW
27/10/2006 - Overview PostgreSQL
17/10/2006 - Acessando Firebird SQL com Open Source
11/10/2006 - Novidades do Firebird no mundo
02/10/2006 - NULL ou não NULL, eis a questão!
26/09/2006 - Performance no MySQL
25/09/2006 - INSERT com SELECT
17/09/2006









