Conceitos e criação de views no SQL Server

Veja neste artigo como trabalhar com views no SQL Server, aprendendo como utilizar os comandos CREATE, ALTER e DROP VIEW.

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.

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:

Criando uma View

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

Figura 1. Tabela Produtos

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

CREATE VIEW vwProdutos AS SELECT IdProduto AS Código, Nome AS Produto, Fabricante, Quantidade, VlUnitario AS [ValorUnitario], Tipo FROM Produtos
Listagem 1. Criando uma view

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.

SELECT * FROM vwProdutos
Listagem 2. Consultando uma View
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 IdProdutoNome 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 INSERTUPDATE 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.

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

Seu resultado pode ser visto na Figura 3.

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.

DROP VIEW vwProdutos
Listagem 4. Excluindo uma View

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!

Artigos relacionados