Uma visualização é uma tabela lógica que contém dados selecionados das tabelas existentes.
A exibição pode renomear e rearranjar colunas, omitir colunas ou linhas não-desejadas, definir colunas com expressões, agrupar resultados e combinar mais de
uma tabela.
As exibições tornam possível visualizar dados que existem em partes de uma ou mais tabelas. Na realidade, não existe nenhum dado em uma exibição.
Qualquer instrução SELECT que não contenha o termo ORDER BY poderá ser usada como a base de uma visualização;
as colunas e linhas selecionadas tornam-se colunas e linhas da visualização.
No exemplo a seguir, as colunas NAME, ID e JOB da tabela Q.STAFF tornam-se colunas da visualização D42.
Os nomes das colunas da D42 são LAST NAME, EMP. ID e JOB.
CREATE VIEW D42
("LAST NAME", "EMP. ID", JOB)
AS SELECT NAME
, ID
, JOB
FROM Q.STAFF
WHERE DEPT = 42
Emita o comando DISPLAY TABLE D42 para exibir essa visualização:
LAST NAME EMP. ID JOB
--------- ------- -----
KOONITZ 90 SALES
PLOTZ 100 MGR
YAMAGUCHI 130 CLERK
SCOUTTEN 200 CLERK
Existem duas razões principais para se utilizar uma exibição:
- Para simplificar a gravação de uma consulta.
- Para evitar o acesso aos dados. Qualquer pessoa que estiver utilizando a visualização D42 no exemplo acima não poderá ver os dados do salário.
Utilize uma visualização por nome, como usa um nome de tabela.
Você pode selecionar a partir da mesma, escrevendo a mesma espécie de instrução SELECT como se fosse uma tabela.
Por exemplo, é possível executar a seguinte consulta para a visualização do D42:
SELECT * FROM D42
WHERE JOB='CLERK'
Com algumas restrições, você poderá inserir, atualizar e excluir linhas em uma exibição. As alterações correspondentes são feitas nas tabelas nas quais a
exibição se baseia.
Há algumas coisas que você não pode fazer com a visualização:
- Você não pode inserir, atualizar ou excluir dados utilizando uma visualização se ela contiver:
- Dados de mais de uma tabela
- Uma coluna definida por uma função de coluna; por exemplo, SUM(SALARY)
- Dados selecionados pelas palavras-chave DISTINCT ou GROUP BY
- Você não pode atualizar ou inserir dados se a visualização contiver uma coluna definida por uma expressão (como SALARY/12).
Entretanto, é possível excluir dados nesse caso.
- Você não pode utilizar a palavra-chave UNION ao criar uma visualização.
- Você não pode juntar uma visualização criada utilizando o termo GROUP BY com outra tabela ou visualização.
© Copyright IBM Corp.