Banco de Dados Prof. MSc Wagner Siqueira Cavalcante.

Slides:



Advertisements
Apresentações semelhantes
FABAN- UNIESP 2009 Prof. Carlos Alberto Seixas
Advertisements

O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Estudo de Caso, modelo Oracle 10g
Banco de Dados Prof. Antonio.
Triggers Renata Viegas.
SQL Avançado Continuação
BANCO DE DADOS EM APLICATIVOS WEB Aula 13
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados SQL TRIGGERS (Gatilhos)
Banco de Dados SQL Stored Procedures
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados I 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Sistemas de Informação Redes de Computadores
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Introdução à Engenharia da Computação
Material III-Bimestre Wagner Santos C. de Jesus
Linguagem de Banco de Dados - SQL
Linguagem de Banco de Dados - SQL
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante.
PL/SQL, Procedures e Funções
Commit, Rollback, Storage procedure, Triggers
Design Patterns / Acesso ao banco de dados (java.sql)
Conceitos de Banco de Dados
Equipe de monitoria Aula prática 3.  Caso de estudo  Igualando situações  Cursor  Function  Procedure  Trigger  Package  Surpresa...
Primeira aula de PL/SQL Parte II
Especialização em Tecnologia da Informação
Concorrência e Java RMI
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Treinamento sobre SQL.
BANCOS DE DADOS ATIVOS Weyler M Lopes © Especialização em Banco de Dados.
Banco de dados.
Revisão ER /SQL / PL.
IFNMG – Campus Araçuaí Banco de Dados Professor: Marcelo West
Conceitos Programas Programação Linguagens de Programação SQL.
PostGres: Um Banco de Dados Orientado a Objetos
António Martins Set 2008 Gestão de Sistemas e Tecnologias de Informação.
Laboratório de Programação II Método Construtor Dados e Métodos de Objetos Prof Edivaldo - Network.
Monitoria GDI Aula Prática Aula 2: PL 1. Estudo de caso - continuação Pegar arquivo GDI.zip em Descompactar arquivo: o criacaoTabelas.SQL.
1 15/4/ :36 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Treinamento SQL Server
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
Exercícios Para começar a fazer os exercícios a seguir, restaure um banco de dados que já contenha dados: Informe os comandos das resposta com o mesmo.
SQL Server Comando PIVOT.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
DELETE, UPDATE, COMMIT, ROLLBACK
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
7P/SI – 2010/01 Prof. Carlos Alberto Seixas. Agenda Visão Geral sobre os Conceitos e Implementação sobre SGBs MySQL Revisão das Práticas Práticas 1 e.
Prof. Rebecca Arambasic AGBD LPBD Pesquisa avançada UNION / INTERSECT / EXCEPT Aula 1 / 2010.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
VBA – Visual Basic para Aplicativos
Linguagem de definição de dados - SQL
Programação para Web I AULA 2 BANCO DE DADOS.
Banco de Dados Introdução à Linguagem SQL – Junção Manipulação com 3 Tabelas ou + em relacionamentos n/1 Esta aula é baseada em material produzido pelo.
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Aula 13 - Triggers. Triggers no SGBD Postgres  Os Triggers (Gatilhos) são funções preparadas para serem disparadas no caso de alguma alteração ocorrer.
Banco de Dados II Prof: Márcio Soussa Curso de Sistemas de Informação Faculdades Jorge Amado.
2/6/2016 José Antônio da Cunha - CEFET - RN1 Programação de Banco de Dados Funções.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
BANCO DE DADOS Araújo Lima Outubro / 2017 Araújo.
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Transcrição da apresentação:

Banco de Dados Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados: Stored Procedures e Triggers BD – Stored Procedures e Triggers  Stored Procedure é um conjunto de instruções escrito numa linguagem própria para procedures (procedimentos) e triggers (gatilhos) do SGBD, e que é armazenado como parte do banco de dados.  Stored Procedures reduzem o tráfego na rede, pois são executadas pelo SGBD na máquina servidora de banco de dados.  Stored Procedures não permitem instruções DDL...  Triggers são quase a mesma coisa que stored procedures, exceto pelo modo como são chamadas (e mais alguns pequenos detalhes): –Stored procedures podem ser chamadas por aplicações cliente, outras stored procedures ou triggers. –Triggers são chamados automaticamente quando uma alteração em uma linha da tabela em questão ocorre.

Stored Procedures BD – Stored Procedures  Sintaxe de Stored Procedures: CREATE or ALTER PROCEDURE NomedaProcedure ( ) RETURNS AS BEGIN END Parâmetros de entrada:Valores iniciais, que servem para estabelecer o comportamento do procedimento (todos os tipos, exceto BLOB ou ARRAY). Parâmetros de saída:Valores que retornam os resultados desejados, executados pelo procedimento (idem ao acima). Comandos da procedure:Conjunto de instruções SQL...

Um livro é escrito por um ou mais escritores, e os registram em uma única Editora, que pode publicar nenhum, um ou vários livros. Porém, nem todos estes livros conseguem ser lançados, embora já estejam registrados. Cada livro está associado a um determinado assunto, e pode ser escrito por um ou vários autores, os quais, por sua vez, podem escrever tantos livros quantos queiram. Autor-Livro Editora Código Nome 0,N 1,N 0,1 é de um publica Lançamento Preço 0,N Livro Código Data de contrato 1,N Autor Matrícula Nome CPF Data de nascimento Endereço pais 1,1 Sigla Descrição Assunto BD – Stored Procedures

Tabela AUTOR MATR.NOMECPFENDERECONASCIMpais 501Rogério Luís de C. Costa Rua Dom Pedro I, 11101/01/1971BR 502Chris Gane Av La Rue, XV02/02/1952US 503Trish Sarson th Ave, 33303/03/1963US 505Rogério Matoso Capim Praça do Centro, banco 404/04/1974BR 507Roger Martin Duvalle Av Ces La Vue, 55505/05/1985FR 510José Antônio da Silva Rua 6 de Outubro, 60606/06/1976BR 511Elmasri th Ave, 77707/07/1967US 521Navathe th Ave, 88808/08/1958IN 533Silberschatz nd Ave, 99909/09/1969NO... Um livro é escrito por um ou mais escritores, e os registram em uma única Editora, que pode publicar nenhum, um ou vários livros. Porém, nem todos estes livros conseguem ser lançados, embora já estejam registrados. Cada livro está associado a um determinado assunto, e pode ser escrito por um ou vários autores, os quais, por sua vez, podem escrever tantos livros quantos queiram. Por enquanto, considere apenas a tabela Autor...

Tabela AUTOR MATR.NOMECPFENDERECONASCIMpais 501Rogério Luís de C. Costa Rua Dom Pedro I, 11101/01/1971BR 502Chris Gane Av La Rue, XV02/02/1952US 503Trish Sarson th Ave, 33303/03/1963US 505Rogério Matoso Capim Praça do Centro, banco 404/04/1974BR 507Roger Martin Duvalle Av Ces La Vue, 55505/05/1985FR 510José Antônio da Silva Rua 6 de Outubro, 60606/06/1976BR 511Elmasri th Ave, 77707/07/1967US 521Navathe th Ave, 88808/08/1958IN 533Silberschatz nd Ave, 99909/09/1969NO...  Exemplo 01: –Projete o nome, nascimento e país do autor, cujo código é igual a 505: Select nome, nascim, pais From Autor Where Matricula = 505 BD – Stored Procedures

Resultado da Consulta: NOMENASCIMpais Rogério Matoso Capim04/04/1974BR  Exemplo 01 (continuação): –Projete o nome, nascimento e país do autor, cujo código será digitado em uma caixa de diálogo: Select nome, nascim, pais From Autor Where Matricula = 505 BD – Stored Procedures Há só UMA resposta!

EEEExemplo 01 (continuação): –A–A–A–A seguir, crie um procedimento para executar esta situação: IIIInicie o SQL Editor, digite as seguintes instruções SQL, salve-a com o nome “SP_Dados_Autor”. set term^ ;CREATE orALTERPROCEDURESP_Dados_Autor (i_codigosmallint) RETURNS (o_nomevarchar(80), o_Nascimdate, o_paisvarchar(30) ) AS BEGIN Selectnome, nascim, pais FromAutor Wherematricula = :i_codigo INTO:o_nome, :o_Nascim, :o_pais; SUSPEND; END^ set term; ^ BD – Stored Procedures Select nome, nascim, pais Firom Autor Where Matricula = 505

CREATE orALTERPROCEDURESP_Dados_Autor (i_codigo smallint) RETURNS (o_nome varchar(80), o_Nascim date, o_pais varchar(30) )ASBEGIN Select nome, nascim, pais From Autor Where matricula = :i_codigo INTO:o_nome, :o_Nascim, :o_pais; SUSPEND;END^ BD – Stored Procedures  Exemplo 01 (final): –E para usar o procedimento criado? SELECT * FROMSP_Dados_Autor ( 505 );

Tabela AUTOR MATR.NOMECPFENDERECONASCIMPAIS 501Rogério Luís de C. Costa Rua Dom Pedro I, 11101/01/1971BR 502Chris Gane Av La Rue, XV02/02/1952US 503Trish Sarson th Ave, 33303/03/1963US 505Rogério Matoso Capim Praça do Centro, banco 404/04/1974BR 507Roger Martin Duvalle Av Ces La Vue, 55505/05/1985FR 510José Antônio da Silva Rua 6 de Outubro, 60606/06/1976BR 511Elmasri th Ave, 77707/07/1967US 521Navathe th Ave, 88808/08/1958IN 533Silberschatz nd Ave, 99909/09/1969NO... BD – Stored Procedures  Exemplo 02: –Agora, experimente projetar os nomes, nascimento e países dos autores, cujo país seja igual ao informado: Select nome, nascim, pais From Autor Where pais = 'BR'

Resultado da Consulta NOMENASCIMPAIS Rogério Luís de C. Costa01/01/1971BR Rogério Matoso Capim04/04/1974BR José Antônio da Silva06/06/1976BR BD – Stored Procedures  Exemplo 02 (continuação): –Agora, experimente projetar os nomes, nascimento e países dos autores, cujo país seja igual ao informado: Select nome, nascim, pais From Autor Where pais = 'BR’ Há MAIS QUE UMA resposta!

 Exemplo 02 (continuação): –Crie, então, o procedimento armazenado para executar esta situação:  Inicie o SQL Editor, digite as seguintes instruções SQL, salve-a com o nome “dadosproprietario2” e a execute. CREATE orALTERPROCEDURESP_Dados_Autor2 (in_paisvarchar(30)) RETURNS (out_Nomevarchar(80), out_Nascimdate, out_paisvarchar(30) ) AS BEGIN INTO:out_Nome, :out_Nascim, :out_pais; SUSPEND; END BD – Stored Procedures Select nome, nascim, pais From Autor Where pais = :in_pais

 Exemplo 02 (continuação): –Crie, então, o procedimento armazenado para executar esta situação:  Inicie o SQL Editor, digite as seguintes instruções SQL, salve-a com o nome “dadosproprietario2” e a execute. CREATE orALTERPROCEDURESP_Dados_Autor2 (in_pais varchar(30)) RETURNS (out_Nome varchar(80), out_Nascim date, out_pais varchar(30) )ASBEGIN Select nome, nascim, pais From Autor Where pais = :in_pais INTO:out_Nome, :out_Nascim, :out_pais; SUSPEND;END BD – Stored Procedures Oops! Problemas, já que há mais que uma resposta! Usar:FOR SELECT... DOSUSPEND;

 Exemplo 02 (continuação): –Crie, então, o procedimento armazenado para executar esta situação:  Inicie o SQL Editor, digite as seguintes instruções SQL, salve-a com o nome “dadosproprietario2” e a execute. CREATE orALTERPROCEDURESP_Dados_Autor2 (in_pais varchar(30)) RETURNS (out_Nome varchar(80), out_Nascim date, out_pais varchar(30) )ASBEGIN FORSelect nome, nascim, pais From Autor Where pais = :in_pais INTO:out_Nome, :out_Nascim, :out_pais DOSUSPEND;END BD – Stored Procedures Agora, sem o “;” aqui

 Exemplo 02 (continuação): –E para usar o procedimento criado? CREATE or ALTER PROCEDURESP_Dados_Autor2 (in_paisvarchar(30)) RETURNS (Out_Nome varchar(80), Out_nascim date, Out_pais varchar(30) )ASBEGIN FOR Select nome, nascim, pais From Autor Where pais =:in_pais INTO:Out_nome, :Out_nascim, :Out_pais DOSUSPEND;END BD – Stored Procedures SELECT * FROMSP_Dados_Autor2 ( ‘BR’ ); CREATE or ALTER PROCEDURESP_Dados_Autor2 (in_paisvarchar(30)) RETURNS (Out_Nome varchar(80), Out_nascim date, Out_pais varchar(30) )ASBEGIN FOR Select nome, nascim, pais From Autor Where pais =:in_pais INTO:Out_nome, :Out_nascim, :Out_pais DOSUSPEND;ENDSP_Dados_Autor2 (in_pais ) :in_pais

 Exemplo 02 (final): –Experimente, também: BD – Stored Procedures SELECT nome as “Nome do autor” FROMSP_Dados_Autor2 ( :”Digite o país” );

 Exercício 01: –Crie um procedimento para calcular o valor médio dos livros de uma determinada editora, informada como parâmetro. –Salve-o com o nome de “SP_avglivros” –Compile-o e efetive-o (commit) –Chame-o, via SQL, com o parâmetro predefinido (‘Brasoft Editora’, por exemplo) BD – Stored Procedures  Exercício 02: –Projete os títulos, datas de lançamento e valores dos livros que têm o seu valor maior que o valor médio daquele informado via argumento de entrada, baseado no procedimento “avglivros”.