View - como o próprio nome diz, view é uma visão, isto é, uma tabela temporária definida atravez de uma instrução a base de dados (query).
Por exemplo: vamos supor que temos uma base de dados turma onde temos as seguintes tabelas (entre parêntesis os atributos das tabelas): estudante(codigo, nome, idade); disciplina(codigo, nome); estudante_disciplina(cod_estudante, cod_disciplina).
As tabelas acima guardam dados de estudantes(tabela estudante), disciplinas(tabela disciplina) e por fim estudantes que frequentam determinada disciplina (tabela estudante_disciplina).
Vamos escrever uma instrução SQL para retornar todos estudantes que frequentam a disciplina cujo nome é Base de dados:
select estudante.codigo, estudante.nome from estudante, disciplina, estudante_disciplina where estudante.codigo= estudante_disciplina.cod_estudante and disciplina.codigo=estudante_disciplina.cod_disciplina and disciplina.nome='base de dados' order by estudante.codigo ;
o resultado da instrução acima será uma tabela contendo o código e nome de todos estudantes que frequentam a cadeira de base de dados, mas ao fechar a base de dados essa tabela desaparece, ai entra em acção a view. Para guardar essa instrução permanentemente na base de dados vamos criar uma view, a sintaxe para a criação de views é : CREATE VIEW nome_da_view as
voltando ao nosso exemplo:
CREATE VIEW estudantes_bd as select estudante.codigo, estudante.nome from estudante, disciplina, estudante_disciplina where estudante.codigo= estudante_disciplina.cod_estudante and disciplina.codigo=estudante_disciplina.cod_disciplina order by estudante.codigo and disciplina.nome='base de dados';
Ao executar essa instrução teremos uma "tabela" com o nome estudantes_bd e sempre que precisar de estudantes da base de dados é só chamar a view. exemplo:
select * from estudantes_bd.
Uma view é visto como uma tabela normal e aceita operações de seleccao (select) normais pois a view não guarda dados, apenas visualiza. As views são mais práticas em casos de vários comandos select na mesma instrução, dividimos os selects em views e a instrução final fica mais fácil de entender, ler ou modificar.
As views podem ser editadas (pelo menos no mySQL 5)
Em caso de duvidas deixe um comentário que irei responder prontamente
Ver todos artigos de SQL
0 comentários:
Enviar um comentário