Tutorial passo a passo de criação e uso de Views em banco de dados relacionais. Veja como criar view, inserir, alterar e excluir dados através de uma view
Uma View é uma tabela virtual no banco de dados. Em uma view poderemos combinar dados de uma ou mais tabelas, inserir dados ou fazer outras operações DML. Uma view não armazena os dados em si, ou seja, ela sempre ficará dependente da tabela real.
Como criar uma view?
Uma view é criada com o comando create view, conforme o modelo abaixo:
create view fiat as
select * from carros where marca=’fiat’
Criei uma tabela virtual chamada fiat e defini que ela irá acessar a tabela real Carros e filtrará apenas os carros da marca Fiat. O filtro é opcional.
Para usar a view acima, basta fazer um select comum:
select * from fiat
O resultado poderá ser visto na imagem abaixo:
Perceba que fizemos um select comum, como se fiat fosse uma tabela do banco de dados, mas ela é apenas uma tabela virtual. Você poderá fazer filtros dentro da view, conforme mostrado no modelo abaixo:
select * from fiat
where combustivel=’GNV’
O resultado pode ser visto abaixo:
Alterações de dados e estrutura da tabela
Se houver alterações nos dados da tabela, eles serão enxergados normalmente na view. Veja um exemplo abaixo, onde adiciono mais um carro da marca fiat na tabela principal Carros:
insert into carros(marca, modelo, combustivel) values(‘fiat’,’Mio’,’GNV’)
Após a alteração acima, vamos ver como ficou a view:
select * from fiat
where combustivel=’GNV’
Como pode perceber uma tabela virtual sempre retornará os dados atuais da tabela. Porém, se houver alterações estruturais na tabela principal, elas não serão atualizadas na view. No exemplo abaixo eu adiciono o campo motor na tabela Carros.
alter table carros add motor varchar(100)
Se dermos um select direto na tabela Carros, veremos que a coluna motor está lá, porém, não foi atualizada na view.
Estrutura da tabela principal: Carros
Estrutura da view: Fiat
View para inserir, alterar e excluir dados
Podemos usar uma tabela virtual para inserir, alterar e excluir dados sem problemas. Veja os exemplos abaixo:
insert into fiat(marca, modelo, cor) values(‘fiat’,’Mio’,’prata’)
Executamos a view com o filtro modelo:
select * from fiat
where modelo=’Mio’
Agora a alteração:
update fiat set ano=2011 where modelo=’Mio’ and cor=’prata’
Ao executarmos novamente a view, veremos o valor alterado:
Agora, a exclusão:
delete from fiat where modelo=’Mio’
O resultado abaixo mostra que não há mais o modelo Mio:
Vantagens do uso de Views
- Possibilita ocultar detalhes e possivelmente a complexidade do banco;
- Permite disponibilizar ao usuário somente aquilo que ele vai usar
- Pode ser vista como um filtro de segurança, uma vez que apenas alguns dados do banco ficaram disponíveis ao usuário
- Tem uma performance melhor
- Pode ser usada como uma estratégia de gerenciamento de permissões, ou seja, pode-se centralizar o acesso externo aos dados através de views.
Fonte: http://www.luis.blog.br/views-ou-tabelas-virtuais-no-banco-de-dados.aspx
No responses yet