Introdução
O principal desde post é explicar de maneira simples como se criar e utilizada uma View(Visão).
Quando se cria uma View é criada uma espécie de tabela virtual ou consulta armazenada pela qual é possível obter somente os dados existentes no Select contido no corpo da View.
Vantagens
Dentre as vantagens existentes na utilização de Views pode citar:
- Evitar retrabalho - Ou seja não é necessário executar sempre um mesmo bloco SQL para obter um determinado resultado.
- Associar varias tabelas em uma única (VIEW) - É possível juntar varias tabelas em uma única view evitando desta forma precisar editar joins.
- Restrição de dados - É possível criar uma VIEW para uma tabela e exibir só um determinado grupo de colunas.
Sintaxe
Abaixo é possível ver a sintaxe básica para criar uma view.
Sintaxe:
CREATE VIEW NOME_VIEW (CAMPO_V1,CAMPO_V2,...,CAMPO_VN)
AS
SELECT CAMPO_1,CAMPO_2,...,CAMPO_N FROM TABELA_USADA
Onde:
- NOME_VIEW - Nome que será dada a view que será criada.
- CAMPO_V1 - Nome da coluna que será criada na VIEW que é referenciada no na TABELA_USADA ao CAMPO_1.
- CAMPO_1 - Nome da coluna da TABELA_USADA que será visto na VIEW
-TABELA_USADA - Tabela ou tabelas que farão alimentação da view.
Utilização
O processo de utilização da view é bem simples basta seguir a sintaxe abaixo:
SELECT * FROM NOME_VIEW
Onde:
NOME_VIEW - Nome da VIEW que criamos.
Montando ambiente de teste
Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)
CREATE TABLE PESSOAS
(
PES_ID INTEGER PRIMARY KEY,
PES_DATA_NASCIMENTO DATE,
PES_NUMERO_FILHOS INT,
PES_NOME VARCHAR(48)
);
Após criar uma tabela será necessário popula-la.
INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-3',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');
Neste exemplo vamos criar uma view que somente mostrar o nome e a quantidade de filhos que o indivíduos na tabela recém criada tem.
CREATE VIEW NOME_FILHO (Nome, TOTAL_FILHOS) AS
SELECT PES_NOME, PES_NUMERO_FILHOS FROM PESSOAS
Agora vamos executar a VIEW.
SELECT * FROM NOME_FILHO
Conclusão
Como foi possível ver ao longo deste pequeno post a criação e utilização de uma view é bem simples e quando a mesma é bem utilizada pode vir a ser muito utíl.