VISÃO EM SQL
Conceitos
Uma visão é a representação de uma tabela derivada de uma ou mais tabelas da base de dados. Ela é uma forma de criar uma perspectiva personalizada dos dados armazenados, permitindo aos usuários acessar e manipular os dados de maneira mais conveniente. As visões podem conter colunas selecionadas das tabelas originais, bem como junções e cálculos que simplificam consultas complexas.
As visões podem ser usadas para melhorar a segurança, limitando o acesso aos dados sensíveis. Além disso, ajudam a abstrair a complexidade das consultas, tornando mais fácil para os desenvolvedores realizar operações frequentes sem a necessidade de escrever consultas complexas repetidamente.
Criação de Visões
Para criar uma visão em SQL, utilizamos a instrução CREATE VIEW
.
Aqui está um exemplo de criação de uma visão que mostra informações sobre
funcionários e departamentos:
Imagine uma grande empresa que em uma equipe substancial de funcionários, cada um deles alocado em um departamento específico, como Desenvolvimento de Software, Marketing, Recursos Humanos, Finanças, etc. Essa empresa deseja ter uma visão consolidada das informações dos funcionários e seus respectivos departamentos para fins de análise e relatórios.
CREATE VIEW vw_FuncionarioDepartamento AS
SELECT Funcionario.Email, Funcionario.Cargo, Departamento.Nome AS Departamento
FROM Funcionario
JOIN Departamento ON Funcionario.DepartamentoID = Departamento.ID;
Uma vez criada, a visão pode ser consultada como se fosse uma tabela real:
SELECT * FROM vw_FuncionarioDepartamento;
A figura abaixo ilustra a visão criada para os funcionários e departamentos, simplificando a consulta de informações relevantes através da combinação de tabelas.
Email do Funcionário | Cargo do Funcionário | Departamento |
---|---|---|
joao@example.com | Desenvolvedor | Tecnologia |
maria@example.com | Gerente de Marketing | Marketing |
carlos@example.com | Analista de RH | Recursos Humanos |
Vantagens das Visões
As visões em SQL oferecem várias vantagens:
Considerações
As visões em bancos de dados desempenham um papel importante na aplicação dos conceitos da álgebra relacional. Elas permitem uma abstração conveniente dos dados armazenados, permitindo aos desenvolvedores criar perspectivas personalizadas dos dados, simplificando consultas complexas e promovendo a reutilização de lógica de acesso.
Ao aplicar os princípios da álgebra relacional, as visões podem ser entendidas como resultados de operações fundamentais sobre tabelas. Essas operações incluem projeção, seleção, junção, união e diferença, que podem ser combinadas para criar visões que atendam às necessidades específicas dos usuários.
Por exemplo, uma visão que mostra os nomes e as notas dos alunos que obtiveram uma pontuação superior a 8.0 em uma disciplina pode ser obtida aplicando a operação de seleção e projeção sobre as tabelas de Aluno e Nota. Isso ilustra como as visões são aplicações práticas da álgebra relacional para extrair informações relevantes a partir dos dados subjacentes.
Você pode pensar nas visões como uma ferramenta poderosa que permite aos desenvolvedores expressar consultas complexas e relacionamentos de maneira intuitiva e eficiente, segurança e facilidade de uso de um banco de dados. Elas permitem aos desenvolvedores criar perspectivas personalizadas dos dados, simplificando consultas complexas e promovendo a reutilização de lógica de acesso. É importante projetar visões cuidadosamente para atender às necessidades dos usuários e garantir a coerência dos dados exibidos.
Lembre-se de que, ao projetar visões, é fundamental considerar os princípios da álgebra relacional para garantir que as operações realizadas preservem a coerência dos dados e produzam resultados precisos e significativos.
Lembre-se de que a criação de visões deve ser considerada como parte do projeto geral do banco de dados, levando em conta os requisitos de segurança, desempenho e facilidade de manutenção.
Utilização de Visões
As visões podem ser utilizadas de diversas maneiras:
Limitações das Visões
Embora as visões sejam poderosas, é importante estar ciente de algumas limitações:
Suponha que você tenha um banco de dados contendo tabelas de produtos e pedidos. Você pode criar uma visão para mostrar informações sobre produtos populares e seus pedidos correspondentes:
CREATE VIEW vw_ProdutosPopulares AS
SELECT Produto.Nome, Produto.Preco, COUNT(Pedido.ID) AS TotalPedidos
FROM Produto
JOIN PedidoItem ON Produto.ID = PedidoItem.ProdutoID
JOIN Pedido ON PedidoItem.PedidoID = Pedido.ID
GROUP BY Produto.ID;
Esta visão conta a contagem total de pedidos para cada produto, juntamente com o nome do produto e o preço. Ela une as tabelas Produto, PedidoItem e Pedido para obter essas informações.
Nome do Produto | Preço | Total de Pedidos |
---|---|---|
Smartphone Modelo X | $599.99 | 25 |
Notebook Ultra Y | $1299.99 | 15 |
Fone de Ouvido Premium | $99.99 | 50 |
Com intuito de apoiar o aprendizado em Banco de Dados, sugere-se assistir a videoaula para o aperfeiçoamento no conhecimento deste conteúdo. |
Atividade de Fixação
No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento. Boa revisão sobre os mesmos!!