Utilizando Views, Stored 
Procedures e Triggers 
Daniel Cosme Mendonça Maia 
(daniel_maiabr@yahoo.com.br)
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 view 
podem 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; 
END 
14
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; 
END 
Observaçã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: Makron 
Books, 1999. 
23

Utilizando views, stored procedures e triggers

  • 1.
    Utilizando Views, Stored Procedures e Triggers Daniel Cosme Mendonça Maia (daniel_maiabr@yahoo.com.br)
  • 2.
    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
  • 3.
    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
  • 4.
    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 view podem ser exportados utilizando utilitários específicos dos SGBDs). 4
  • 5.
    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
  • 6.
    Views (Visões): Exemplo  Exemplo de criação de uma view: 6
  • 7.
    Views (Visões): Sintaxe  Sintaxe de remoção de uma view: DROP VIEW nome_visao; 7
  • 8.
    Stored Procedures Stored Procedures ou Procedimentos Armazenados, são um conjunto de declarações SQL armazenadas no servidor. 8
  • 9.
    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
  • 10.
    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
  • 11.
    Stored Procedures: Sintaxe  Sintaxe de criação de um procedure: CREATE PROCEDURE nome_procedimento (parâmetros) BEGIN declarações_de_rotina_sql; END 11
  • 12.
    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
  • 13.
    Stored Procedures: Exemplo  Exemplo criação de um procedure: 13
  • 14.
    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; END 14
  • 15.
    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; END Observaçã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
  • 16.
    Functions: Exemplo Exemplo criação de uma function: 16
  • 17.
    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
  • 18.
    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
  • 19.
  • 20.
    Triggers (Gatilhos): Exemplo 01  Exemplo de criação de um trigger: 20
  • 21.
    Triggers (Gatilhos): Exemplo 01  Disparo de um trigger: 21
  • 22.
    Triggers (Gatilhos): Exemplo 02  Trigger de verificação de valores: 22
  • 23.
    Referências  Documentaçãooficial 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: Makron Books, 1999. 23