Introdução

view pode ser definida como uma tabela virtual composta por linhas e colunas de dados vindos de tabelas relacionadas em uma query (um agrupamento de SELECT’s, por exemplo). As linhas e colunas da view são geradas dinamicamente no momento em que é feita uma referência a ela.

Como já dito, a query que determina uma view pode vir de uma ou mais tabelas, ou até mesmo de outras views.

Observação: podemos realizar qualquer query por meio de views, assim como alterar dados por meio delas, o que é feito com algumas restrições.

Ao criarmos uma view, podemos filtrar o conteúdo de uma tabela a ser exibida, já que a função da view é exatamente essa: filtrar tabelas, servindo para agrupá-las, protegendo certas colunas e simplificando o código de programação.

É importante salientar que, mesmo após o servidor do SQL Server ser desligado, a view continua “viva” no sistema, assim como as tabelas que criamos normalmente. As views não ocupam espaço no banco de dados.

Vantagens das Views

Temos muitos motivos e vantagens para usarmos views em nossos projetos. A seguir são citados três que podem fazer a diferença:

  • Reuso: as views são objetos de caráter permanente. Pensando pelo lado produtivo isso é excelente, já que elas podem ser lidas por vários usuários simultaneamente.
  • Segurança: as views permitem que ocultemos determinadas colunas de uma tabela. Para isso, basta criarmos uma view com as colunas que acharmos necessário que sejam exibidas e as disponibilizarmos para o usuário.
  • Simplificação do código: as views nos permitem criar um código de programação muito mais limpo, na medida em que podem conter um SELECT complexo. Assim, criar views para os programadores a fim de poupá-los do trabalho de criar SELECT’s é uma forma de aumentar a produtividade da equipe de desenvolvimento.

Criando uma View

Para criar uma view é muito simples. Vamos levar em conta a tabela Produtos, conforme a Figura 1 ilustra:

Tabela Produtos
Figura 1: Tabela Produtos

Tendo a estrutura da tabela acima em mente, vamos criar a view, como mostra a Listagem 1.

Listagem 1: Criando uma view

CREATE VIEW vwProdutos AS
SELECT IdProduto AS Código,
       Nome AS Produto,
       Fabricante,
       Quantidade,
       VlUnitario AS [ValorUnitario],
       Tipo
FROM Produtos

Para consultarmos os dados na view usamos o comando SELECT, da mesma forma que se estivéssemos fazendo uma consulta em uma tabela comum.

Listagem 2 exibe a consulta na view, e a Figura 2 nos exibe o resultado desta consulta.

Listagem 2: Consultando uma View

SELECT * FROM vwProdutos
Consulta na View de Produtos
Figura 2: Consulta na View de Produtos.

Note que a view tem algumas diferenças em relação à tabela de Produtos, já que na Listagem 1 podemos ver que foram adicionadas alguns alias para as colunas IdProduto, Nome e VlUnitario. Assim podemos formatar a view para que fique melhor até que uma (ou mais) tabela(s).

Com a view podemos incluir dados em uma tabela. Para isso é necessário que haja uma das seguintes situações: as colunas da tabela de origem que não são exibidas na view devem aceitar valores nulos, ser auto incrementais ou ter um valor padrão (que use a constraint default) definido para elas.

Quando realizamos um INSERT, UPDATE ou DELETE dos dados de uma tabela de origem da view, essa ação se reflete automaticamente na view.

Alterando uma View

O comando ALTER VIEW é utilizado para atualizar uma view, após ela já ter sido criada e necessitar de alterações. Seguindo o exemplo da view criada anteriormente, vamos alterá-la para que exiba apenas os produtos cujo valor unitário seja maior que 499,00. Para isso, devemos usar o seguinte código, exibido na Listagem 3.

Listagem 3: Alterando uma View

ALTER VIEW vwProdutos AS
SELECT IdProduto AS Código,
       Nome AS Produto,
       Fabricante,
       Quantidade,
       VlUnitario AS [ValorUnitario],
       Tipo
FROM Produtos
WHERE VlUnitario > 499.00

Seu resultado pode ser visto na Figura 3.

Produtos em que o Valor Unitário é maior que 499.00
Figura 3: Produtos em que o Valor Unitário é maior que 499.00

Excluindo uma View

Para excluirmos uma view é bem simples: é só usar o comando DROP VIEW, como podemos ver a seguir, na Listagem 4.

Listagem 4: Excluindo uma View

DROP VIEW vwProdutos

A exclusão de uma view implica na exclusão de todas as permissões que tenham sido dadas sobre ela. Dito isso, devemos usar o comando DROP VIEW apenas quando desejamos de fato retirar a view do sistema. Em caso contrário, podemos usar o comando ALTER VIEW para alterarmos o código da view da forma que acharmos mais conveniente.

Assim finalizo o artigo. Muito obrigado a todos!

Um abraço, e até o próximo