Artigo: Trabalhando com Visões

Essa semana vou mostrar um pouquinho sobre visões ou também conhecidas como Views, lembrando que nada que venho a colocar nesse blog é de minha invenção, o intuito desse post é trazer um pouco de conhecimento que venho adquirindo ao longo dos estudos com Microsoft SQL Server 2005. Vamos então ao que interessa.

Visões ou Views é conhecida como uma tabela virtual que é definida por uma consulta e utilizada como uma tabela. É semelhante a uma tabela, porem a tabela propriamente dita é armazenada na base dados e a View não, o que a View faz é simplesmente armazenar a instrução SQL no banco de dados, sem ter que a cada consulta ter que escrever todo o script novamente. Enganam-se quem pensa que Views trazem benefícios, ou melhor, desempenho para o banco de dados, pois a View é simplesmente um encapsulamento de uma instrução SQL. O custo é o mesmo, pois internamente o SQL da View será executado como se fosse a própria instrução repassada. Em uma “grosseira” comparação com o mundo da Orientação a Objeto as Views seriam como os métodos GET não permitindo o acesso direto as complexas estruturas do banco.

As Views também permitem algumas vezes uma maior segurança, pois você pode negar o acesso de um usuário a uma tabela, e conceder a ele somente a permissão da View. Assim como podemos limitar a visão apenas das colunas, podemos também limitar a visão de algumas linhas. Sem contar que a View fornece uma abordagem modularizada na resolução de problemas.

Vamos a alguns detalhes mais técnicos.

Restrições:

A clausula Order by não pode ser utilizada em uma view, a menos que exista um TOP ou FOR XML na definição da consulta.

Todas as consultas devem possuir nomes, e todos os nomes das colunas devem ser únicos.

Opções de Criação:

Mostrarei algumas opções de criação das Views que em minha opinião e de muitos Dba’s certificados são muito importantes, porem raramente são utilizadas.

SCHEMABINDING: Liga o esquema da View com o esquema dos objetos relacionados, impedindo que esses sejam apagados ou alterados (nas colunas utilizadas).

ENCRYTION: Armazena de forma criptografada a definição da View, ao invés de um texto aberto, podemos visualizar o texto da View através do comando (sp_helptext nome_view). Lembrando que uma vez criptografada essa view não pode ter mais seu código aberto, então para modificar a view, você terá que dropar e depois recriá-la.

WITH CHECK: Impede um insert ou update que conflite com o filtro (clausula WHERE) da View.

Por hoje é isso, nas próximas postagens onde estarei falando sobre índices, vou comentar sobre o uso de Views indexadas e quais as vantagens e desvantagens de utilizá-las. Espero que o conteúdo desse artigo possa servir para vocês em seu dia-a-dia. Obrigado.

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em abril 7, 2010, em Administração, Comunidade e marcado como , , . Adicione o link aos favoritos. Deixe um comentário.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: