23
Utilizando Views , Stored Procedures e Triggers Daniel Cosme Mendonça Maia ([email protected])

Utilizando views, stored procedures e triggers

Embed Size (px)

Citation preview

Utilizando Views, Stored

Procedures e Triggers

Daniel Cosme Mendonça Maia

([email protected])

Views (Visões)

As views também são chamadas de tabelas virtuais ou derivadas;

Os dados nessas tabelas virtuais são derivados de tabelas da base de dados ou views previamente definidas;

Há possíveis limitações nas operações de atualização que podem ser aplicadas à views, mas não existe quaisquer limitações sobre a consulta de uma view.

2

Views (Visões)

A criação de uma view é útil quando:

◦ Precisamos referenciar determinada(s)

tabela(s) com frequência; ou

◦ Quando precisamos realizar consultas

complexas.

3

Views (Visões): Vantagens

Algumas vantagens do uso das views:◦ Controle sobre o que o usuário pode ver. (É possível

selecionar os campos que o usuário terá acesso)

◦ Simplifica a consulta. (Criando uma view não é necessário fornecer parâmetros para consulta toda vez que a mesma será executada)

◦ Segurança. (Uma view é um objeto do banco de dados, portanto, é possível atribuir permissões de usuário)

◦ Exportação de dados. (Os dados em uma viewpodem ser exportados utilizando utilitários específicos dos SGBDs).

4

Views (Visões): Sintaxe

Sintaxe de criação/alteração de uma

view:

CREATE VIEW nome_visao AS

declararacao_select;

ALTER VIEW nome_visao AS

declararacao_select;

5

Views (Visões): Exemplo

Exemplo de criação de uma view:

6

Views (Visões): Sintaxe

Sintaxe de remoção de uma view:

DROP VIEW nome_visao;

7

Stored Procedures

Stored Procedures ou Procedimentos

Armazenados, são um conjunto de

declarações SQL armazenadas no

servidor.

8

Stored Procedures

Procedimentos Armazenados são utilizados principalmente quando:◦ Aplicações clientes são escritas em

diferentes linguagens ou trabalham em diferentes plataformas, mas precisam executar as mesmas operações de banco de dados;

◦ A segurança é primordial. Bancos, por exemplo, utilizam funções e procedimentos armazenados para todas operações comuns. Isto provê consistência e segurança, pois cada operação é devidamente registrada.

9

Stored Procedures

Rotinas armazenadas podem fornecer melhor desempenho pois menos informação precisa ser enviada entre o cliente e o servidor;

A desvantagem é que aumenta-se a carga no servidor de banco de dados;

Permitem a criação de uma biblioteca de funções no servidor de banco de dados.

10

Stored Procedures: Sintaxe

Sintaxe de criação de um procedure:

CREATE PROCEDURE

nome_procedimento (parâmetros)

BEGIN

declarações_de_rotina_sql;

END

11

Stored Procedures: Sintaxe

Sintaxe de criação de um procedure:

CREATE PROCEDURE

nome_procedimento (parâmetros)

BEGIN

declarações_de_rotina_sql;

END

Observação: Os parâmetros de um procedimento podem ser de IN

(entrada), OUT (saída), ou INOUT (entrada/saída). O tipo dos

parâmetros podem ser de algum tipo de dado válido, por exemplo, INT,

CHAR, DATE, etc.12

Stored Procedures: Exemplo

Exemplo criação de um procedure:

13

Functions: Sintaxe

Sintaxe de criação de uma function:

CREATE FUNCTION nome_função

(parâmetros) RETURNS

tipo_retorno

BEGIN

declarações_de_rotina_sql;

RETURN retorno_funcao;

END14

Functions: Sintaxe

Sintaxe de criação de uma function:

CREATE FUNCTION nome_função

(parâmetros) RETURNS

tipo_retorno

BEGIN

declarações_de_rotina_sql;

RETURN retorno_funcao;

ENDObservação: Os parâmetros de uma função podem ser apenas IN

(entrada). A exemplo dos procedimentos, o tipo dos parâmetros podem

ser de algum tipo de dado válido, por exemplo, INT, CHAR, DATE, etc.

15

Functions: Exemplo

Exemplo criação de uma function:

16

Triggers (Gatilhos)

Trigger é um objeto do banco de

dados que está associado a uma

tabela, e é ativado quando um evento

particular ocorre na tabela;

Principais usos são:

◦ Executar verificações de valores; ou

◦ Fazer cálculos sobre os valores

informados em uma atualização.

17

Triggers (Gatilhos)

O Trigger é ativado quando uma

declaração de INSERT, UPDATE ou

DELETE ocorre na tabela associada;

O disparo do "gatilho" pode ser

configurado para ocorrer antes ou

depois do evento de disparo.

18

Triggers (Gatilhos)

19

Triggers (Gatilhos): Exemplo

01 Exemplo de criação de um trigger:

20

Triggers (Gatilhos): Exemplo

01 Disparo de um trigger:

21

Triggers (Gatilhos): Exemplo

02 Trigger de verificação de valores:

22

Referências

Documentação oficial do MySQL:◦ http://dev.mysql.com/doc/refman/5.5/en/create-view.html

◦ http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

◦ http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

◦ http://dev.mysql.com/doc/refman/5.5/en/set-statement.html

◦ http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html

Elmasri, Ramez. Sistemas de Banco de Dados. 6ª ed. São Paulo: Pearson Addison Wesley, 2011.

Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S. Sistema de Banco de Dados. São Paulo: MakronBooks, 1999.

23