de Dados
Prof. Fábio Storck
Views
Views (Visões)
2
Views
É uma “tabela virtual” criada a partir de uma consulta, para
representar uma determinada visão dos dados.
Uma view pode ser consultada da mesma forma que uma tabela,
mas sua atualização está sujeita a certas regras.
3
Views
Para que utilizar views:
Definir a percepção que um usuário ou aplicação possui dos
dados
6
Stored Procedure
STORED PROCEDURES /
PROCEDIMENTOS
ARMAZENADOS
7
Stored Procedure
Stored Procedures nada mais são do que um conjunto de
instruções SQL que são executadas dentro do banco de dados. É
como escrever um programa dentro do próprio banco de dados
para executar tudo lá dentro.
8
Stored Procedure
São códigos armazenados no servidor que podem ser executados a
qualquer momento
9
Stored Procedure
Sintaxe:
10
Stored Procedure
Exemplo:
Executando:
Execute Departments_Members
11
Stored Procedure
Exemplo (recebendo parâmetro):
Exemplo:
EXECUTE sp_ObtemInventario ‘Belo Horizonte’
12
IF <teste>
BEGIN
Comandos
END
ELSE
BEGIN
Comandos
END
Declarar variáveis:
13
Stored Procedure
Comando de repetição
WHILE <teste>
BEGIN
Comandos
END
14
Stored Procedure
Um exemplo mais completo:
SELECT
@quantidade = count(*)
FROM
lojas
WHERE
UF_loja = @estado
RETURN @quantidade
END
15
Triggers
TRIGGERS / GATILHOS
16
Triggers
Trigger é utilizada para poder colocar uma determinada regra de
negócio da aplicação.
Aplicação:
- Segurança e Auditoria
- Integridade de dados
- Integridade referencial
- Replicação de dados
- Disparo de rotinas 17
Triggers
Sintaxe:
18
Triggers
Exemplo:
19
Funções
Funções / Functions
20
Funções
É um rotina armazenada que retorna um valor
21
Funções
Sintaxe:
CREATE FUNCTION
nome
[ (@param 1 tipo1 [=valor_padrao1
RETURNS tipo_retorno
BEGIN
comandos
END
22
Funções
Exemplo:
Chamando a função:
23
Funções
Alterando funções:
Descartando funções
24
Exercicios
CIDADE MORADOR
CODIGO NOME POPULACAO CODIGO NOME ENDERECO BAIRRO CODIGO IDADE
CIDADE CIDADE
1 Belo 3000000 1 Jose Rua A Cruzeiro 1 21
Horizonte 2 Joao Rua X Centro 2 49
2 Uberlândia 800000 3 Maria Rua F Norte 3 33
4 Manoel Rua D Serra 1 29
3 Uberaba 400000
5 Paulo Rua X Centro 3 55
1) Criar um banco, as 2 tabelas (considerar PK e FK) e inserir os dados acima.
2) Aumentar 1 ano, na idade dos moradores da rua x e que começam com a letra ‘J’ no nome.
3) Alterar a rua do Paulo, para rua Y.
4) Selecionar nome e endereço de quem mora na rua a, c, f, h, p ou x e tem idade entre 30 a 60 anos.
5) Selecionar a média de idade por bairro, onde a média dê acima de 30 anos, ordenado por bairro.
6) Selecionar o nome e a idade para quem possui a idade abaixo da média de idade.
7) Selecionar a quantidade de registros por bairro, ordenando por bairro.
8) Selecionar nome, bairro e cidade, para quem mora em cidade com mais 500000 habitantes.
9) Selecionar a média de idade por cidade.
10) Criar uma View (vw_local) selecionando nome, endereço e bairro dos moradores.
11) Selecionar a View (vw_local), somente para os moradores do centro.
12) Criar uma View (vw_join), selecionando nome, endereço, bairro, idade, cidade e população.
13) Selecionar a View (vw_join), somente para quem tem mais de 30 anos e mora em cidade com mais
de 600000 habitantes.
14) Apagar as 2 Views que foram criadas. - Apagar os dados das 2 tabelas e conferir.
15) Apagar as tabelas e conferir. - Apagar o banco e conferir.
25