Uma view é uma maneira alternativa para observar dados de uma ou mais tabelas que compõem uma base de dados. Pode-se considerá-la como uma tabela virtual ou uma consulta armazenada.
Geralmente, é recomendável que uma view implemente uma instrução SELECT para buscar os dados para visualização, armazenando-os tanto em uma tabela virtual quanto também em cache. Por isto, em alguns casos é mais rápido ter uma consulta em forma de view, já que em forma de instrução demandaria mais trabalho.
Com as views, também é possível implementar restrições de usuários x dados.
O uso de views apresenta algumas vantagens, como a melhoria de desempenho no acesso às informações, economia de tempo no desenvolvimento, simplificação no gerenciamento de permissão de usuários, etc.
Sintaxe para a criação de views
Exemplo de view:
Como o objetivo é simplificar o trabalho do desenvolvedor, no exemplo a seguir será criada uma view que exibe os campos de uma determinada tabela executando o comando de seleção:
SELECT * FROM Vendas V
JOIN Clientes C ON V.Cliente_id = C.id_Cliente
JOIN Produtos P ON V.Produto_id = P.id_Produto
GO
A view criada anteriormente pode ser executada da seguinte maneira:
Para visualizar no E3 a view configurada, é necessário definir uma consulta que execute o código acima.
NOTA: uma view serve (como diz o nome) para visualizar uma ou mais tabelas, ou uma ou mais colunas em uma consulta. Para atualizar ou inserir tabelas e/ou colunas, é necessário criar Procedures, que serão vistas nos próximos artigos.
Artigos Relacionados
- Linguagem SQL: Introdução.
- Linguagem SQL: Capítulo 1 – Tipos de Manipulação de Informações no BD.
- Linguagem SQL: Capítulo 2 – Arquivos e Logs do Banco de Dados SQL Server.
- Linguagem SQL: Capítulo 3 – Descarte de Dados e Limite dos Bancos.
- Linguagem SQL: Capítulo 4 – Backup.
- Linguagem SQL: Capítulo 5 – Boas práticas de configuração de um Histórico e uma Consulta.
- Linguagem SQL: Capítulo 6 – Comandos SQL.
- Linguagem SQL: Capítulo 8 – Triggers.
- Linguagem SQL: Capítulo 9 – Stored Procedures.