Views

Nessa postagem vamos falar sobre Views, entender o que são, como usá-las e sua criação.

Então, Views são nada mais do que uma representação virtual de tabelas que são definidas a partir de uma query no banco de dados.

Views podem ser utilizadas para representar queries mais complexas que contenham joins e agregações em uma única tabela, dessa forma é possível aplicar filtros que irão retornar uma melhor performance em nossa necessidade.

Outra maneira em que as Views são muito utilizadas é quando falamos de Segurança e limitação de acessos, sendo usadas para restringir acessos aos dados como um todo, limitando apenas o que é realmente necessário para alguns grupos de usuários por exemplo.

Portanto, podemos considerar que Views são apenas os metadados, quando fazemos uma referência à uma view em nossa query o SQL Server a substitui pela view definition, então ele a otimiza e a executa.


Para exemplificar o uso de uma view, vamos usar um modelo onde temos uma tabela de funcionários de uma empresa e possuímos atributos que consideramos públicos e privados em sua intranet, para isso temos o código abaixo para a tabela:

CREATE TABLE dbo.Funcionarios 
(
	FuncionariosID int not null,
	Nome nvarchar(100) not null,
	Cargo nvarchar(100) not null,
	Email nvarchar(256) not null,
	DtNascimento date not null,
	Salario money not null,
	PerfilPublic bit not null,
	
	constraint PK_Funcionarios
	primary key clustered(FuncionariosID)
);

Supondo que possuímos um sistema que exibe esses dados na intranet da empresa e vamos definir uma view que vai selecionar os registros que são considerados públicos na tabela [Funcionarios] para que fiquem disponíveis no sistema e os que são considerados privados ficariam ocultos, logo após isso concedemos a permissão de leitura (SELECT) na view ao invés de na tabela inteira.

Para a criação da View que irá atender à essa necessidade vamos usar o código abaixo:

CREATE VIEW dbo.vPerfilPublicFuncionarios(FuncionariosID, Nome, Cargo, Email)
as
	SELECT FuncionariosID, Nome, Cargo, Email
	FROM dbo.Funcionarios
	WHERE PerfilPublic = 1
GO

Para liberar a permissão de leitura na view e assim limitar o acesso à tabela inteira vamos utilizar o código abaixo:

GRANT SELECT ON dbo.vPerfilPublicFuncionarios TO [dominio\GrupoIntranet]

Sendo assim, finalizamos a postagem onde falamos sobre Views, o objetivo era explicar o que elas são, como usá-las e o processo de criação mostrando exemplos práticos.

Espero que tenham gostado!

Aguardem que vem mais conteúdo pela frente!

Até a próxima!

Deixe um comentário

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 )

Foto do Google

Você está comentando utilizando sua conta Google. 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 )

Conectando a %s