SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de SistemasGuilherme
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 

Tendances (20)

Aula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCLAula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCL
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Estrutura de Dados - Registros
Estrutura de Dados - RegistrosEstrutura de Dados - Registros
Estrutura de Dados - Registros
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 

En vedette

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
 

En vedette (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
 

Similaire à Utilizando views, stored procedures e triggers

Similaire à 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