SQL: Views
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E
TECNOLOGIA DE SANTA CATARINA
CÂMPUS TUBARÃO
CURSO TÉCNICO EM DESENVOLVIMENTO DE SISTEMAS
Prof Isabela Nardi da Silva, Ma
Disciplina: Banco de Dados
Olá, desenvolvedor do futuro!
Bancos de dados podem ser uma grande bagunça...
Isto pode confundir qualquer desenvolvedor.
2
A solução para isto?
3
Suponha que tenhamos uma tabela chamada "MARTE CONFIDENCIAL"
4
MARTE_CONFIDENCIAL |
ID_MARCIANO |
PRIMEIRO_NOME |
ULTIMO_NOME |
ID_REGIAO |
SUPER_ID |
SALARIO |
DNA |
Esta tabela possui informações sobre todos os moradores do planeta!
5
Duas destas colunas contém informações sigilosas:
Salário e DNA
Como podemos dar acesso a alguns destes dados, mas não estas duas colunas?
Criando uma view!
Agora, temos uma nova missão!
Criar uma view que contenha todas as pessoas em Marte, considerando as tabelas:
12
MARTE_CONFIDENCIAL |
ID_MARCIANO |
PRIMEIRO_NOME |
ULTIMO_NOME |
ID_REGIAO |
SUPER_ID |
SALARIO |
DNA |
VISITANTES |
ID_VISITANTE |
ID_HOSPEDEIRO |
PRIMEIRO_NOME |
ULTIMO_NOME |
Colunas requisitadas:
Primeiro nome
Último nome
ID único
Marciano ou visitante?
Agora, vamos criar uma view com estas informações!
Exemplo com 3 tabelas
Para nosso próximo exemplo, usaremos estas três tabelas:
16
REGIAO |
ID_REGIAO |
NOME_REGIAO |
ANO_FUNDACAO |
INVENTÁRIO |
ID_REGIAO |
ID_ESTOQUE |
QUANTIDADE |
ESTOQUE |
ID_ESTOQUE |
NOME |
DESCRICAO |
QUANTIDADE |
DADOS DA TABELA REGIÃO
17
ID_REGIAO | NOME_REGIAO | ANO_FUNDACAO |
1 | Nova Nova York | 2050 |
2 | Asyrium | 2043 |
3 | Nalua Spa & Cassino | 2055 |
4 | Vermelholândia | 2040 |
5 | Vila Cratera | 2042 |
DADOS DA TABELA INVENTÁRIO
18
ID_REGIAO | ID_ESTOQUE | QUANTIDADE |
1 | 1 | 34 |
1 | 2 | 23 |
1 | 4 | 12 |
2 | 6 | 34 |
4 | 5 | 54 |
3 | 3 | 23 |
2 | 2 | 68 |
3 | 5 | 65 |
DADOS DA TABELA ESTOQUE
19
ID_ESTOQUE | NOME | DESCRICAO | QUANTIDADE |
1 | Jaqueta impermeável | Uma jaqueta quentinha e não necessariamente bonita, mas funcional | 34 |
2 | Filtro de água | Tira a sujeira da sua água para torná-la potável | 23 |
3 | Silver tape | Um rolo de 10 metros para todos os seus reparos | 12 |
4 | Cabo USB 6.0 | Um cabo para seus dados correrem soltos | 34 |
5 | Pizza congelada | Pizza congelada para os dias que você não está a fim de cozinhar (ou seja, todos os dias) | 54 |
6 | Ração Humana | Ração feita PARA humanos (não DE humanos, claro...) | 23 |
7 | Mochila a jato | O melhor meio de transporte para aqueles que ainda não tem licença para espaçonave | 68 |
Nossa nova missão:
Criar uma view chamada inventario-regiao para mostrar a quantidade de itens em estoque em cada região marciana
20
21
22
Nossa nova missão:
Para completar nossa missão, precisaremos usar outro conceito de SQL: sub-consultas!
23
24
25
Como podemos ver, alguns valores estão nulos, pois algumas regiões não possuem certos produtos em estoque
Porém, apenas o valor em branco pode nos deixar confusos...
26
27
Nossa nova missão:
Agora, nosso passo final:
28
29
30
Benefício de Views
Segurança
Simplicidade
31