SlideShare uma empresa Scribd logo
1 de 23
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

Mais conteúdo relacionado

Mais procurados

Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Leinylson Fontinele
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem Cprofjr
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamentoCarlos Melo
 
Aula de SQL - Básico
Aula de SQL - BásicoAula de SQL - Básico
Aula de SQL - BásicoAirton Zanon
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosLeinylson Fontinele
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
 
BD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento RelacionalBD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento RelacionalRodrigo Kiyoshi Saito
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15diogoa21
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para JogosRicardo Leite
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 

Mais procurados (20)

Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Scrum
ScrumScrum
Scrum
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Modelo entidade relacionamento
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
 
Aula de SQL - Básico
Aula de SQL - BásicoAula de SQL - Básico
Aula de SQL - Básico
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
BD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento RelacionalBD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento Relacional
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 

Destaque

Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...MySQL Brasil
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dadosOdwald Schreder
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosNatanael Simões
 
Mysql para aplicações Web escaláveis
Mysql para aplicações Web escaláveisMysql para aplicações Web escaláveis
Mysql para aplicações Web escaláveisElton Minetto
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLFábio Delboni
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Gustavo Zimmermann
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código AbertoCarlos J. Costa
 
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Gleyciana Garrido
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dadosArthur Azevedo
 

Destaque (14)

Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
 
Introdução a banco de dados
Introdução a banco de dadosIntrodução a banco de dados
Introdução a banco de dados
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de Dados
 
Slide index treinar
Slide index treinarSlide index treinar
Slide index treinar
 
Advanced SQL
Advanced SQLAdvanced SQL
Advanced SQL
 
Mysql para aplicações Web escaláveis
Mysql para aplicações Web escaláveisMysql para aplicações Web escaláveis
Mysql para aplicações Web escaláveis
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
Banco de Dados II: Dinâmica de Perguntas e Respostas (aula 4)
 
Apostila banco de dados
Apostila banco de dadosApostila banco de dados
Apostila banco de dados
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código Aberto
 
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dados
 

Semelhante a Utilizando views, stored procedures e triggers

Semelhante a Utilizando views, stored procedures e triggers (20)

Stored procedure
Stored procedureStored procedure
Stored procedure
 
Apresentação interbase (atualização 2)
Apresentação interbase (atualização 2)Apresentação interbase (atualização 2)
Apresentação interbase (atualização 2)
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de Concorrência
 
Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
Banco de Dados - conceitos, usuários, características
Banco de Dados - conceitos, usuários, característicasBanco de Dados - conceitos, usuários, características
Banco de Dados - conceitos, usuários, características
 
Triggers
TriggersTriggers
Triggers
 
Java13
Java13Java13
Java13
 
DB2 Express-C
DB2 Express-CDB2 Express-C
DB2 Express-C
 
Net Coders Ladies SQL
Net Coders Ladies SQL Net Coders Ladies SQL
Net Coders Ladies SQL
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISL
 
Treinamento Data Guard
Treinamento Data GuardTreinamento Data Guard
Treinamento Data Guard
 
Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 
Views Oracle Database
Views Oracle DatabaseViews Oracle Database
Views Oracle Database
 
Aula09 - PL SQL - Subprogramas.pptx
Aula09 - PL SQL - Subprogramas.pptxAula09 - PL SQL - Subprogramas.pptx
Aula09 - PL SQL - Subprogramas.pptx
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
 

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
  • 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çã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