Banco de Dados I
Rebeca Barros
Views
Definição
▪ Uma view é uma tabela virtual que permite
usuários finais acessar informações de uma
forma consistente e de acordo com seus
requerimentos.
▪ Uma view é baseada em uma consulta
(SELECT). A consulta pode conter colunas,
aliases, funções de agregação de uma ou mais
tabelas. As tabelas nas quais as views são
baseadas podem ser chamadas de tabelas
3 base.
Definição
▪ Podem ser usadas para criar relatórios, tabelas
e outros objetos usando os dados de um banco.
▪ Pode ser vista também como medida de
segurança porque permite omitir tabelas ou
campos sensíveis, fazendo-os indisponíveis aos
usuários que acessam o banco de dados através
daquela view.
4
Definição
▪ A expressão definida pela view (o select) não é
executada pelo sistema mas sim armazenada
(salva no catálogo do SGBD).
▪ Para o usuário é como se realmente existisse
uma tabela no banco de dados com o nome da
view. Em outras palavras, criando uma view
você tem uma tabela derivada cujos valores a
qualquer dado momento é o resultado da
5 consulta expressa pela view.
Definição
Fonte: [Link]
6
Sintaxe
7
Por que usar?
Vantagens Desvantagens
▪ Visão simplificada; ▪ Performance
▪ Segurança e limite ao acesso ▪ Dependência de Tabelas
aos dados a usuários
específicos;
▪ Independência lógica;
▪ Usuários diferentes podem
ver os mesmos dados de
formas diferentes
8
Exemplo retirado do livro Concepts of Database Management
9
Suponha que um determinado usuário
apenas tem interesse no número do item,
descrição, unidades disponíveis e preço
unitário da tabela Items onde a categoria
seja ‘GME’. Ele não precisa de nenhuma
informação além dessa. Como ficaria uma
view para simplificar o acesso desse
usuário?
10
11
View Games - Exemplo retirado do livro Concepts of Database
12 Management
Quando o usuário realiza uma consulta que
envolve uma view, o SGBD altera essa
consulta para uma que selecione os dados
na(s) tabela(s) base utilizadas na criação da
view.
O SGBD merge a consulta feita na view com
a consulta que define a view e é esse merge
que é de fato executado.
13
14
15
Exemplo retirado do livro Concepts of Database Management
16
Views
Atualizáveis
Definição
▪ Uma view é dita atualizável (updatable) quando
os dados da tabela base podem ser atualizados
(inseridos, alterados, deletados) através daquela
view.
18
Restrições
▪ Para ser uma view atualizável os seguintes
critérios devem ser seguidos:
▫ Deve incluir uma chave candidata da tabela
base;
▫ Não deve envolver JOIN, UNION ou
INTERSECT;
▫ O comando SELECT não deve conter a
palavra DISTINCT;
19
Restrições
▪ Para ser uma view atualizável os seguintes
critérios devem ser seguidos:
▫ O comando SELECT não deve conter
funções agregadas ou de análise (group by,
having)
▫ Não deve conter colunas derivadas;
20
Views
Materializadas (Snapshots)
Definição
▪ Uma view materializada, ao contrário da view
lógica/virtual, armazena fisicamente o resultado
de uma consulta.
▪ Armazena em cache o resultado de uma
consulta complexa ou custosa e permite a
atualização desse resultado periodicamente.
▪ Útil em casos que precisam de acesso rápido,
portanto é um conceito muito utilizado em data
warehouse ou aplicações BI.
22
EXERCICIOS
1. Crie uma visão com o código, nome e endereço dos
vendedores. Após criada, consulte o conteúdo dessa
visão.
2. Faça uma visão que contenha o código, o endereço e o
preço de venda dos imóveis do barro 1.
3. Faça uma visão que mostre o nome do vendedor, o
endereço, o bairro, a cidade e o estado do imóvel. Não
deixe nenhum código na visão.
4. Faça uma visão com o preço médio de venda dos imóveis
agrupados por cidade.
5. Faça uma visão com os nomes dos compradores, o valor
de oferta e o endereço do imóvel. Não deixe nenhum
24
código na visão.