Triggers(Gatilhos) Tiago Alves de Oliveira

Tamanho: px
Começar a partir da página:

Download "Triggers(Gatilhos) Tiago Alves de Oliveira"

Transcrição

1 Triggers(Gatilhos) Tiago Alves de Oliveira

2 Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos da DML (Data Manipulation Language): INSERT, REPLACE, DELETE ou UPDATE; Podemos definir inúmeros TRIGGERS em uma base de dados para cada comando, podemos criar apenas um TRIGGER. 2

3 Triggers (Gatilhos) Principais usos são: Executar verificações de valores; ou Fazer cálculos sobre os valores informados em uma atualização. 3

4 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. 4

5 Triggers (Gatilhos) 5

6 Triggers - Sintaxe CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt DEFINER: Quando o TRIGGER for disparado, esta opção será checada para checar com quais privilégios este será disparado. Utilizará os privilégios do usuário informado em user ( localhost ) Caso essa sentença seja omitida da criação do TRIGGER, o valor padrão desta opção é CURRENT_USER(); trigger_name: define o nome do procedimento, por exemplo, trg_test; trigger_time: define se o TRIGGER será ativado antes (BEFORE) ou depois (AFTER) do comando que o disparou; BEFORE: dispara o TRIGGER antes dos dados chegarem à tabela; AFTER: dispara o TRIGGER após a atualização dos dados em uma tabela; 6

7 Triggers - Sintaxe trigger_event: aqui se define qual será o evento, INSERT, REPLACE, DELETE ou UPDATE; tbl_name: nome da tabela onde o TRIGGER ficará "pendurado" aguardando o trigger_event; trigger_stmt: as definições do que o o TRIGGER deverá fazer quando for disparado. Apagar uma trigger Drop trigger <NOME> 7

8 Triggers No MySQL, diferentemente de outros SGBD s, não é permitido disparar mensagens, por exemplo, registro atualizado/inserido/excluído com sucesso ; Podem conter mais de um comando em meio à BEGIN/END; Podem facilmente acessar a área temporária do SGBD para se trabalhar com o valor de antes e depois ; Para cada tabela de um banco de dados, podemos ter no máximo 6 TRIGGERS; Os TRIGGERS ficam armazenados na tabela TRIGGERS, dentro do dicionário de dados; Podem atuar em uma tabela com base em outra tabela de qualquer banco de dados dentro do MySQL; 8

9 Triggers (Gatilhos): Exemplo 01 Exemplo de criação de um trigger: Create table account (numero int, total decimal(10,2)); Create trigger ins_sum before insert on account for each row set 9

10 Triggers (Gatilhos): Exemplo 01 Disparo de um trigger: Insert into account values(137,14.98),(141, ),(97, ); Repare que ao executar o comando delete from account where numero <>0; E novamente o commando Insert into account values(137,14.98),(141, ),(97, ); Temos que o valor é diferente, pois ele está acumulando o valor. 10

11 Triggers (Gatilhos): Exemplo 02 Trigger de verificação de valores: delimiter // CREATE TRIGGER upd_check BEFORE UPDATE ON account FOR EACH ROW BEGIN IF NEW.total < 0 THEN SET NEW.total = 0; ELSEIF NEW.total > 100 THEN SET NEW.total = 100; END IF; END;// delimiter; O que ocorre ao executar o commando: update account set total =200 where numero=137; 11

12 Operadores Old e New OLD: operador para ser utilizado no interior da TRIGGER para recuperar o valor anterior à um UPDATE, *REPLACE ou DELETE; NEW: operador para ser utilizado no interior da TRIGGER para recuperar dados atuais a partir de comandos INSERT, *REPLACE e UPDATE. 12

13 Triggers (Gatilhos): Exemplo 03 delimiter// create trigger trg_country_up after update on Country for each row begin = OLD.Name; = NEW.Name; end;// 13

14 Vantagens e desvantagens Vantagens: Parte do processamento que seria executado na aplicação passa para o banco, poupando recursos da máquina cliente. Facilita a manutenção, sem que seja necessário alterar o código fonte da aplicação. Desvantagens: Alguém que tenha acesso não autorizado ao banco de dados poderá visualizar e alterar o processamento realizado pelos gatilhos. Requer maior conhecimento de manipulação do banco de dados (SQL) para realizar as operações internamente. 14

15 Observações Triggers não podem executar uma stored procedure que retorna dados para o cliente É permitido que dados sejam retornados através de entradas OUT ou INOUT. Triggers não podem utilizar comandos que iniciam ou terminam uma transação Start transaction, commit ou Roolback Rollback to savepoint é permitido porque ele não termina uma transação. 15

16 Exercicio 1 Imagine a seguinte situação: um mercado, ao realizar vendas, precisa que o estoque dos produtos seja automaticamente reduzido. A devolução do estoque deve também ser automática no caso de remoção de produtos da venda. Duas tabelas de estrutura simples, cujo script de criação é mostrado no próximo slide. 16

17 Exercicio 1 CREATE TABLE produtos ( referencia VARCHAR(3) PRIMARY KEY, descricao VARCHAR(50) UNIQUE, estoque INT NOT NULL ); INSERT INTO Produtos VALUES ('1', 'Lasanha', 10); INSERT INTO Produtos VALUES ('2', 'Morango', 5); INSERT INTO Produtos VALUES ('3', 'Farinha', 15); CREATE TABLE itensvenda ( venda INT, produto VARCHAR(3), quantidade INT ); 17

18 Exercicio 1 Ao inserir e remover registro da tabela itensvenda: o estoque do produto referenciado deve ser alterado na tabela produtos. Para isso, serão criados dois triggers: um AFTER INSERT para dar baixa no estoque um AFTER DELETE para fazer a devolução da quantidade do produto. 18

19 Solução do Exercício 1 DELIMITER // CREATE TRIGGER tgr_itensvenda_insert AFTER INSERT ON itensvenda FOR EACH ROW BEGIN UPDATE produtos SET estoque = Estoque - NEW.quantidade WHERE referencia = NEW.produto; END; // delimiter // CREATE TRIGGER tgr_itensvenda_delete AFTER DELETE ON itensvenda FOR EACH ROW BEGIN UPDATE produtos SET estoque = estoque + OLD.quantidade WHERE referencia = OLD.produto; END;// 19

20 Solução do Exercício 1 Operador NEW utilizado para obter as informações da linha que está sendo inserida na tabela. Operador OLD utilizado para obter os dados que estão sendo apagados da tabela. Tendo criado os triggers, pode-se testá-los inserindo dados na tabela itensvenda. simulado uma venda de número 1 que contem: três unidades do produto 1, uma unidade do produto 2 e cinco unidades do produto 3. INSERT INTO itensvenda VALUES (1, '1',3); INSERT INTO itensvenda VALUES (1, '2',1); INSERT INTO itensvenda VALUES (1, '3',5); 20

21 Solução do Exercício 1 Verifique que o estoque dos produtos foi corretamente reduzido, de acordo com as quantidades "vendidas". Agora para testar o trigger da exclusão, será removido o produto 1 dos itens vendidos. Com isso, o seu estoque deve ser alterado para o valor inicial, ou seja, 10. DELETE FROM itensvenda WHERE venda = 1 AND produto = '1'; Em ambientes reais, triggers podem ser utilizados para operações mais complexas, por exemplo, antes de vender um item, verificar se há estoque disponível e só então permitir a saída do produto. 21

22 Exercício 2 Crie um trigger que atualiza a com o salário médio de todos os empregados. Essa trigger deve ser executada sempre que houver alteração no salário de algum funcionário. 22

23 Referências Documentação oficial do MySQL: Elmasri, Ramez. Sistemas de Banco de Dados. 6ª ed. São Paulo: Pearson Addison Wesley, Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S. Sistema de Banco de Dados. São Paulo: Makron Books,

Linguagem SQL Restrições, Triggers e Views

Linguagem SQL Restrições, Triggers e Views FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre

Leia mais

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store

Leia mais

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre o banco de dados. Especificar regras

Leia mais

Stored Procedures e Triggers

Stored Procedures e Triggers e Triggers Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Rotinas Armazenadas Stored Procedures Exemplos Triggers Exemplos Exercícios 2 Rotinas Armazendas Rotinas Armazenadas são um conjunto de comandos

Leia mais

Curso de Ciência da Computação

Curso de Ciência da Computação Curso de Ciência da Computação MATÉRIA: Banco de Dados II ASSUNTO: Triggers (Gatilhos ou automatismos) PROFESSOR: Ricardo Rodrigues Barcelar Objetivos: Apresentar a linguagem Structured Query Language

Leia mais

Prof. Josenildo Silva

Prof. Josenildo Silva BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva jcsilva@ifma.edu.br Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras

Leia mais

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova Ciência da Computação GBC043 Sistemas de Banco de Dados Programando com SQL s Avisos Vista da segunda prova Data: 03/06 das 13:40 às 15:00h Local: sala 1B137 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br

Leia mais

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II Transações (Oracle) Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de

Leia mais

TRIGGERS Temas abordados

TRIGGERS Temas abordados MYSQL TRIGGERS TRIGGERS Temas abordados 1 - Introdução ao SQL Triggers SQL Trigger é uma instrução SQL ou um conjunto de instruções SQL,que fica armazenado, é será activado ou disparado quando um evento

Leia mais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 20 Escola Politécnica da Universidade de São Paulo 1 PROCEDIMENTOS TRIGGER STORED PROCEDURE Regras de Negócio controladas pelo SGBD SGDB Relacional dispoõe

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II PL/SQL - Procedures -Cursor - Funções Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa

Leia mais

Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade.

Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. www.devm edia.com.br [versão para im pressão] MySQL TRIGGERS Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. MySQL TRIGGERS Neste artigo, serão apresentados

Leia mais

BANCO DE DADOS TRIGGERS (GATILHOS) Prof. Fabiano Papaiz IFRN

BANCO DE DADOS TRIGGERS (GATILHOS) Prof. Fabiano Papaiz IFRN BANCO DE DADOS TRIGGERS (GATILHOS) Prof. Fabiano Papaiz IFRN Uma Trigger (ou gatilho) é uma estrutura presente na maioria dos SGBD s que permite que um determinado evento (código SQL) seja executado automaticamente

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Segurança em Sistemas de Banco de Dados César Alberto da Silva Presidente Epitácio, 18 de Setembro de 2013 Agenda Por que proteger os dados?

Leia mais

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Banco de Dados Material Teórico Procedures, Functions, Exceptions e Triggers Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Revisão Textual: Prof. Ms. Claudio Brites Procedures, Functions,

Leia mais

BD II (SI 587) Procedimentos Armazenados

BD II (SI 587) Procedimentos Armazenados BD II (SI 587) Procedimentos Armazenados Josenildo Silva jcsilva@ifma.edu.br MOTIVAÇÃO Contexto: Sistemas em 2 camadas Contexto: Sistemas em 3 camadas Problema 1: Alto volume de dados na rede Como reduzir

Leia mais

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.

Leia mais

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

Transacções. Vitor Vaz da Silva

Transacções. Vitor Vaz da Silva Transacções Vitor Vaz da Silva Em produto nome é único A quantidade é decrescida do mesmo valor que acresce a gastou create table Cozinha( id int IDENTITY(5,2), nome varchar(20), primary key(id) ) create

Leia mais

PSI Linguagem de Definição de dados. Módulo 15

PSI Linguagem de Definição de dados. Módulo 15 PSI Linguagem de Definição de dados Módulo 15 Objetivos de aprendizagem No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam: Criação, alteração

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers Sistemas de Informação e Bases de Dados 2012/2013 Stored Procedures e Triggers Alberto Sardinha Bibliografia MSDN http://msdn.microsoft.com 1 Funções e Procedimentos SQL suporta funções e procedimentos

Leia mais

A linguagem SQL

A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=28194 Triggers no SQL Server: teoria e prática aplicada em uma situaçã o real Veja neste

Leia mais

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a

Leia mais

CIÊNCIA E TECNOLOGIA DO RIO

CIÊNCIA E TECNOLOGIA DO RIO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia

Leia mais

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

Normalização: (Uma tabela muito Normalizada significa que ele é muito bem feita, e muito relacionado) 5FN (Somente 10% dos DBAs dos ADs conseguem ) A normalização de dados é uma série de passos que se

Leia mais

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) BANCO DE DADOS GERENCIAL 1 A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) VIEW é uma instrução SQL que retorna dados e é salva no banco de dados com um nome, ou seja, passa a ser um objeto

Leia mais

trigger insert, delete, update

trigger insert, delete, update 1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,

Leia mais

#nao fazer #Só pode fazer para testar... drop database if exists modelo4; create database modelo4; use modelo4; #Auto_relacionamento #Pessoa = Conjuge = filho #Observar para Criticar #O que achou? # Deixando

Leia mais

f. Exemplo: verificar condição de aprovação de alunos

f. Exemplo: verificar condição de aprovação de alunos Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens

Leia mais

Restrições de Integridade Semântica

Restrições de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

IMPLEMENTAÇÃO DE BANCO DE DADOS

IMPLEMENTAÇÃO DE BANCO DE DADOS IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

ESTUDO DE CASO EM PL/SQL

ESTUDO DE CASO EM PL/SQL ESTUDO DE CASO EM PL/SQL O sistema de pedidos da XDK Esportes. Vamos criar um pequeno sistema de pedidos para uma loja de esportes, vamos implementar as regras de um negócio utilizando a linguagem PL/SQL

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de : Recuperação; Concorrência.

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Revisão de Arquitetura C/S BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK Ciência da Computação GBC043 Sistemas de Banco de Dados Orientações Transações - PostgreSQL Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Executar os comandos conforme

Leia mais

Funções Definidas pelo Usuário

Funções Definidas pelo Usuário BD II (SI 587) Funções Definidas pelo Usuário Prof. Josenildo Silva jcsilva@ifma.edu.br Funções definidas pelo usuário Funções precisam obrigatoriamente retornar um valor Somente aceitam parâmetros do

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

Projeto e Administração de Banco de Dados

Projeto e Administração de Banco de Dados Projeto e Administração de Banco de Dados Linguagens de Definição de Manipulação de Dados Objetivo Nesta unidade você vai estudar sobre a linguagem SQL e os principais comandos para definição e manipulação

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:

Leia mais

Marcos Alexandruk Marcos Alexandruk

Marcos Alexandruk Marcos Alexandruk Marcos Alexandruk m.alexandruk@gmail.com Apresentação disponível em: www.dba.net.br/mysql.pdf Parte I: Download e Instalação MySQL - Download www.mysql.com/downloads MySQL - Download MySQL - Download MySQL

Leia mais

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratóriode Bases de Dados Aula10 SQL Oracle Asserçõese gatilhos Professora: Fátima L. S. Nunes REGRAS DE INTEGRIDADE (RI) garantem que mudanças feitas no BD não resultem em inconsistência de

Leia mais

BANCO DE DADOS II Stored Procedure. COTEMIG Gerson Borges

BANCO DE DADOS II Stored Procedure. COTEMIG Gerson Borges BANCO DE DADOS II Stored Procedure COTEMIG Gerson Borges gerson@cotemig.com.br Introdução Em aplicações que acessam banco de dados, é comum executarmos rotinas complexas de manipulação desses dados. Para

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando

Leia mais

Bancos de Dados I. Integridade semântica

Bancos de Dados I. Integridade semântica Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

Tarefa Orientada 17 Scripts

Tarefa Orientada 17 Scripts Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros

Leia mais

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 5 5.1 Conceitos do projeto físico.

Leia mais

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma

Leia mais

Disciplina: Banco de Dados Tema: SQL Parte 2

Disciplina: Banco de Dados Tema: SQL Parte 2 Disciplina: Banco de Dados Tema: SQL Parte 2 PROFESSOR: DANILO MONTEIRO EMAIL: PROF.DANILO.MONTEIRO@GMAIL.COM O que foi visto na aula passada? create database Drop database Create table Drop table PROF.DANILO.MONTEIRO@GMAIL.COM

Leia mais

Bases de Dados. DDL Data Definition Language

Bases de Dados. DDL Data Definition Language Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais

José Antônio da Cunha

José Antônio da Cunha José Antônio da Cunha CEFET-RN Natal, 10 de maio de 2013 Auditando operações DML com OUPUT Imagine o seguinte cenário: você possui uma tabela muito importante em seu banco de dados e gostaria de implantar

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

BANCO DE DADOS PARA WEB

BANCO DE DADOS PARA WEB BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,

Leia mais

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table

Leia mais

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

Oracle Comandos para Processamento de Transações

Oracle Comandos para Processamento de Transações Oracle Comandos para Processamento de Transações Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Transação Unidade lógica de trabalho contém um ou mais comandos SQL para manipulação

Leia mais

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos Bases de Dados Funções e procedimentos Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção de

Leia mais

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos

Leia mais

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 9 Prof. Marcos Alexandruk Aula 9 Visões (Views) Visões regulares Visões materializadas Visões de objeto Uma visão (view) é uma representação lógica de uma ou mais tabelas.

Leia mais

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva. A possible solution to ensure, in APEX environment, the consistency of a total and disjunctive

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS No Instituto Federal do Paraná tounou-se necessário o armazenamento de certas informações para controle de pessoal. Para armazenar tais dados é necessário saber que:

Leia mais

Oracle PL/SQL Triggers

Oracle PL/SQL Triggers BDDAD Bases de Dados Oracle PL/SQL Triggers Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/39 Triggers Sumário Introdução Conceito de Trigger Tipos de Triggers Designações de um Trigger Triggers DML Características

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 6 Prof. Marcos Alexandruk Aula 6 Estruturas lógicas do Oracle: Tabelas tabelas relacionais tabelas temporárias tabelas organizadas por índices tabelas de objetos tabelas

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com AULA 03 SQL (Structure Query Language)

Leia mais

Triggers em SQLite. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers em SQLite. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers em SQLite Fernando Lobo Base de Dados, Universidade do Algarve 1 / 15 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Banco de Dados II. PL/SQL Introdução. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. PL/SQL Introdução. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II PL/SQL Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de Transações:

Leia mais

Fundamentos de Banco de Dados Postgre com Sql

Fundamentos de Banco de Dados Postgre com Sql Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1 Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de

Leia mais

S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A

S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 4 S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A INDEPENDÊNCIA DOS DADOS A habilidade de modificar a definição

Leia mais

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Para criarmos um banco de dados no MySql, utilizamos à instrução: Databases Os objetos que fazem parte de um sistema de banco de dados são criados dentro de um database, uma estrutura lógica responsável por manter a estrutura de tabelas com seus dados. Para criarmos

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

Programação em SGDB s

Programação em SGDB s Stored Procedures Programação em SGDB s Functions, Procedures e Triggers Permite a programação de códigos em um SGBD. Por que programar no SGBD? Linguagens: plpgsql, Tcl, Perl, Pyton e C. Vantagens da

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Page 1. Prof. Constantino Jacob

Page 1. Prof. Constantino Jacob Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create

Leia mais