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!