SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em JavaDenis L Presciliano
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Marconi Pacheco
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasSusana Oliveira
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo FísicoCentro Paula Souza
 

Was ist angesagt? (20)

Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemas
 
Triggers no SQL Server
Triggers no SQL ServerTriggers no SQL Server
Triggers no SQL Server
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie Utilizando views, stored procedures e triggers

Ähnlich wie 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