estiver abaixo ou igual ao mínimo, um novo pedido é acrescentado a uma relação pedidos.

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

Download "estiver abaixo ou igual ao mínimo, um novo pedido é acrescentado a uma relação pedidos."

Transcrição

1 TRIGGERS Um trigger é uma instrução que o sistema executa automaticamente como um efeito colateral de uma modificação no banco de dados. Para criar um mecanismo de trigger, temos de cumprir dois requisitos: 1. Especificar quando um trigger deve ser executado. Isso é desmembrado em um evento que faz com que o trigger seja verificado em uma condição que precisa ser satisfeita para que a execução do trigger prossiga. 2. Especificar as ações a serem tomadas quando o trigger for executado. Este modelo de trigger é conhecido como modelo evento-condição-ação para triggers. O banco de dados armazena triggers como se fossem dados normais, de modo que sejam persistentes e acessíveis a todas as operações de banco de dados. Quando entramos com um trigger no banco de dados, o sistema de banco de dados assume a responsabilidade por executá-lo sempre que o evento especificado ocorre e a condição correspondente é satisfeita. Necessidade de triggers Triggers são mecanismos úteis para alertar as pessoas ou para iniciar certas tarefas automaticamente quando certas condições são atendidas. Como ilustração, suponha que, em vez de permitir saldos de conta negativos, o banco trate de saldos devedores definindo o saldo da conta como zero e criando um empréstimo no valor do saldo devedor. O banco dá a esse empréstimo um número idêntico ao número da conta com saldo devedor. Nesse exemplo, a condição para executar o trigger é uma atualização na relação conta que resulte em um valor negativo de saldo. Suponha que o saque de algum dinheiro na conta de Frederico tenha tornado o saldo da conta negativo. Imagine que t indica a tupla de conta com um valor de saldo negativo. As ações a serem tomadas são: Inserir uma nova tupla na relação empréstimo com s[número_empréstimo] = t[número_conta] s[nome_agência] = t[nome_agência] s[quantia] = -t[saldo] Oberve que, como t[saldo] é negativo, negamos t[saldo] para obter o valor do empréstimo um número positivo. Inserir uma nova tupla u na relação tomador com u[nome_cliente] = Frederico u[número_empréstimo] = t[número_conta] Definir t[saldo] como 0. Como outro exemplo do uso de triggers, suponha que um depósito queira manter um estoque mínimo de cada item; quando o nível de estoque de um item ficar abaixo do nível mínimo, um pedido deverá ser feito automaticamente. É assim que a regra comercial pode ser implementada por meio de triggers: em uma atualização do nível de estoque de um item, o trigger deve compará-lo ao nível de estoque mínimo e, se Prof. Antonio Almeida de Barros Júnior Pág. 1

2 estiver abaixo ou igual ao mínimo, um novo pedido é acrescentado a uma relação pedidos. Observe que os sistemas de trigger normalmente não podem realizar atualizações fora do banco de dados e, portanto, no exemplo de reposição de estoque, não podemos usar um trigger para fazer um pedido diretamente no mundo exterior. Em vez disso, acrescentamos um pedido à relação pedidos, como no exemplo de estoque. É preciso criar um processo do sistema em execução permanentemente, que periodicamente varre a relação pedidos e faz os pedidos. Esse processo do sistema também anotaria quais tuplas na relação pedidos foram processadas e quando cada pedido foi feito. O processo também acompanharia as entregas dos pedidos e alertaria gerentes em caso de condições excepcionais, como atrasos nas entregas. Alguns sistemas de banco de dados oferecem suporte interno para enviar a partir de consultas SQL e triggers, usando a técnica que indicaremos. CREATE TRIGGER trigger_saldo_devedor AFTER UPDATE ON conta REFERENCING NEW ROW AS nrow WHEN nrow.saldo < 0 BEGIN ATOMIC INSERT INTO tomador (SELECT nome_cliente, numero_conta FROM depositante WHERE nrow.numero_conta = depositante.numero_conta); INSERT INTO empréstimo VALUES (nrow.numero_conta, nrow.nome_agencia, - nrow.saldo); UPDATE conta SET saldo = 0 WHERE conta.numero_conta = nrow.numero-conta END Figura 1 Exemplo de sintaxe SQL:1999 para triggers. Triggers em SQL Os sistemas de banco de dados baseados em SQL utilizam bastante os triggers, embora antes da SQL: 1999 eles não fizessem parte do padrão SQL. Infelizmente, cada sistema de banco de dados implementou sua própria sintaxe para os triggers, levando a incompatibilidades. Essa definição de trigger especifica que o trigger é iniciado após qualquer atualização da relação conta ser executada. Uma instrução de atualização SQL poderia atualizar várias tuplas da relação, e a cláusula for each row no código do trigger percorreria explicitamente cada linha atualizada. A cláusula referencing new row as cria uma variável nrow (chamada variável de transição), que armazena o valor de uma linha atualizada após a atualização. A instrução when especifica uma condição, a saber, nrow.saldo < 0. O sistema executa o restante do corpo do trigger somente para tuplas que satisfazem a condição. A clásula begin atomic... end serve para coletar várias instruções SQL em uma única instrução composta. As duas instruções insert com a estrutura begin... end executam tarefas específicas de criação de novas tuplas nas relações tomador e empréstimo para representar o novo empréstimo. A instrução update serve par definir o saldo da conta de volta a 0 a partir do seu antigo valor negativo. Prof. Antonio Almeida de Barros Júnior Pág. 2

3 O evento de disparo e as ações podem tomar muitas formas: O evento de disparo pode ser insert ou delete, em vez de update. Por exemplo, a ação sobre delete de uma conta poderia se verificar se os mantenedores da conta possuem quaisquer contas restantes, e se não tiverem, excluílos da relação depositante. Como outro exemplo, se um novo depositante for inserido, a ação disparada poderia ser enviada uma carta de boas-vindas ao depositante. Obviamente, um trigger não pode causar tal ação diretamente fora do banco de dados, mas poderia acrescentar uma tupla a uma relação que armazena endereços aos quais as cartas de boas-vindas precisam ser enviadas. Um processo separado passaria por essa tabela, e imprimiria cartas a serem enviadas. Muitos sistemas de banco de dados dão suporte a uma série de outros eventos de disparo, por exemplo, quando um usuário (aplicação) efetua o login no banco de dados (ou seja, abre uma conexão), quando o sistema desliga ou quando são feitas mudanças nas configurações do sistema. Para as atualizações, o trigger pode especificar colunas cuja atualização faz com que o trigger seja executado. Por exemplo, se a primeira linha do trigger de saldo devedor fosse substituída por CREATE TRIGGER trigger_saldo_devedor AFTER UPDATE OF saldo ON conta Então o trigger seria executado somente nas atualizações de saldo; as atualizações de outros atributos não causariam sua execução. A cláusula referencing old row as pode ser usada para criar uma variável armazenando o valor antigo de uma linha atualizada ou excluída. A cláusula referencing new row as pode ser usada com inserções além de atualizações. Triggers podem ser ativados antes (before) do evento (insert/delete/update), ao invés de depois (after) do evento. Esses triggers servem como restrições extras que podem impedir atualizações inválidas. Por exemplo, se não quisermos permitir saldos devedores, podemos criar um trigger before que verifica se o novo saldo é negativo e, se for, reverte a transação. Embora um trigger after pudesse ter sido usado para essa finalidade, seu uso resultaria na atualização sendo feito primeiro, para depois na transação ser revertida. Como outro exemplo, suponha que o valor em um campo de número de telefone de uma tupla inserida esteja em branco, o que indica a ausência de um número de telefone. Podemos definir um trigger que substitua o valor pelo valor null. A instrução set pode ser usada para executar tais modificações. CREATE TRIGGER trigger_nulo BEFORE UPDADE ON r REFERENCING NEW ROW AS nrow WHEN nrow.numero_telefone = SET nrow.numero_telefone = null Em vez de executar uma ação para cada linha efetuada, podemos executar uma única ação para a instrução SQL inteira que causou o Prof. Antonio Almeida de Barros Júnior Pág. 3

4 insert/delete/update. Para fazer isso, usamos a cláusula for each statement no lugar da cláusula for each row. As cláusulas referencing old table as ou referencing new table as podem ser usadas para referenciar tabelas temporárias (chamadas tabelas de transição) contendo todas as linhas afetadas. As tabelas de transição não podem ser usadas com triggers before, mas podem ser usadas com triggers after, independentemente de serem triggers de instrução ou triggers de linha. Uma única instrução SQL pode, então, ser usada para executar várias ações com base nas tabelas de transição. Triggers podem ser desativados ou ativados; como padrão, eles são ativados quando criados, mas podem ser desativados por meio de alter trigger nome_trigger disable (alguns bancos de dados utilizam uma sintaxe alternativa, como disable trigger nome_trigger). Um trigger que foi desativado pode ser ativado novamente. E também pode ser descartado usando o comando drop trigger nome_trigger, que o remove permanentemente. Retornando ao nosso exemplo de estoque de depósito, suponha que tenhamos as seguintes relações: estoque(item, nível), que observa a quantidade atual (número/peso/volume) do item no depósito. nivelmin(item, nível), que observa a quantidade mínima que deve ser mantida para esse item. novopedido(item, quantidade), que observa a quantidade do item a ser pedida quando seu nível ficar abaixo do mínimo. pedidos(item, quantidade), que observa a quantidade do item a ser pedida. Observe que precisamos ter cuidado para fazer um pedido apenas quando a quantidade cair de cima do nível mínimo para abaixo do nível mínimo. Se verificar apenas se o novo valor após uma atualização está abaixo do nível mínimo, poderemos fazer um pedido erroneamente quando o item já tiver sido pedido. Podemos então usar o trigger mostrado na figura 2 para pedir o item. CREATE TRIGGER trigger_pedido AFTER UPDATE OF quantia ON estoque REFERENCING OLD ROW AS orow, NEW ROW AS nrow WHEN nrow.nivel <= (SELECT nivel FROM minnivel WHERE minnivel.item = orow.item) AND orow.nivel > (SELECT nivel FROM minnivel WHERE minnivel.item = orow.item) BEGIN INSERT INTO pedidos (SELECT item, quantia FROM novopedido WHERE novopedido.item = orow.item) END Figura 2 Exemplo de trigger para novo pedido de um item. Prof. Antonio Almeida de Barros Júnior Pág. 4

5 Muitos sistemas de banco de dados oferecem implementações de trigger fora do padrão, ou implementam apenas alguns dos recursos de trigger. Por exemplo, muitos sistemas de banco de dados não implementam a cláusula before, e a palavra-chave on é usada no lugar de after. Eles podem não implementar a cláusula referencing. Em vez disso, podem especificar tabelas de transição usando as palavras-chave inserted ou deleted. A figura 3 ilustra como o trigger de saldo devedor seria escrito no Microsoft SQLServer. Leia o manual do usuário do sistema de banco de dados que você usa a fim de obter mais informações sobre os recursos do trigger que ele admite. CREATE TRIGGER trigger_saldo_devedor ON conta FOR UPDATE AS IF inserted.saldo < 0 BEGIN INSERT INTO tomador (SELECT nome_cliente, numero_conta FROM depositante, inserted WHERE inserted.numero_conta = depositante.numero_conta) INSERT INTO emprestimo VALUES (inserted.numero_conta, inserted.nome_agencia, - inserted.saldo) UPDATE conta SET saldo = 0 FROM conta, inserted WHERE conta.numero_conta = inserted.numero_conta END inserted.numero_conta = depositante.numero_conta) Figura 3 Exemplo de trigger na sintaxe do MS-SQL Server. Quando não usar triggers Existem muitos bons usos para triggers, como aqueles que já vimos na seção anterior, mas alguns usos podem ser tratados melhor por meio de técnicas alternativas. Por exemplo, no passado, os projetistas de sistemas usavam triggers para manter dados de resumo. Por exemplo, eles usavam triggers no insert/delete/update de uma relação funcionário contendo atributos salário e departamento para manter o total de salários de cada departamento. Porém, muitos sistemas de banco de dados hoje admitem views materializadas, que oferecem um modo muito mais fácil de manter dados de resumo. Os projetistas também usavam muito triggers para replicar bancos de dados; eles usavam triggers insert/delete/update de cada relação para registrar as mudanças nas relações, chamadas relações change ou delta. Um processo separado copiava as mudanças para a réplica (cópia) do banco de dados, e o sistema executava as mudanças na réplica. Porém, os sistemas de banco de dados modernos oferecem facilidades embutidas para a replicação de banco de dados, tornando os triggers desnecessários para a replicação na maioria dos casos. De fato, muitas aplicações de trigger, incluindo nosso trigger de exemplo de saldo devedor, podem ser substituídas pelo uso apropriado dos procedimentos armazenados. Por exemplo, suponha que as atualizações no atributo saldo de conta sejam feitas apenas por meio de um procedimento armazenado em particular. Esse procedimento, por sua vez, verificaria o saldo negativo e executaria as ações do trigger de saldo devedor. Os programadores devem ter cuidado para não atualizar diretamente o valor de saldo, mas atualizá-lo apenas por meio do procedimento armazenado; isso poderia ser garantido não dando a aplicação/usuário à autorização Prof. Antonio Almeida de Barros Júnior Pág. 5

6 para executar o atributo saldo, mas oferecendo autorização para executar o procedimento armazenado que está associado. Um encapsulamento semelhante pode ser usado para substituir o trigger novopedido por um procedimento armazenado. Outro problema com os triggers está na execução não intencionada da ação disparada quando os dados são carregados de uma cópia de backup, ou quando atualizações do banco de dados em um site são replicadas em um site de backup. Nesses casos, a ação disparada já foi executada, e normalmente não deve ser executada novamente. Ao carregar dados, os triggers podem ser desativados explicitamente. Para sistema de réplica de backup que podem ter de assumir o comando no lugar do sistema principal, os triggers teriam de ser desativados inicialmente e ativados quando o site de backup assumisse o processamento no lugar do principal. Como alternativa, alguns sistemas de banco de dados permitem que os triggers sejam especificados como not for replication, o que garante que eles não sejam executados no site de backup durante a replicação do banco de dados. Outros sistemas de banco de dados oferecem uma variável do sistema que indica que o banco de dados é uma réplica nas quais as ações do banco de dados estão sendo reproduzidas; o corpo do trigger deve verificar essa variável e sair se ela for verdadeira. As duas soluções evitam a necessidade de desativação e ativação explícita de triggers. Os triggers devem ser escritos com muito cuidado, pois um erro de trigger detectado em tempo de execução causa a falha da instrução insert/delete/update que disparou o trigger. Além do mais, a ação de um trigger pode disparar um outro. No pior dos casos, isso poderia levar a uma cadeia infinita de disparos. Por exemplo, suponha que um trigger insert sobre uma relação tenha uma ação que causa outro insert (novo) na mesma relação. A ação de insert então dispara outra ação de insert, e assim por diante, add infinitum. Os sistemas de banco de dados normalmente limitam a extensão de tais cadeias de triggers (por exemplo, a 16 ou 32) e consideram que existe um erro se houver cadeias de disparo maiores. Ocasionalmente, os triggers são chamados de regras, ou regras ativas, mas não devem ser confundidos com as regras do Datalog que na realidade são definições de view. Prof. Antonio Almeida de Barros Júnior Pág. 6

7 Implementação de Trigger em MySQL O MySQL finalmente suporta uma das características mais importantes de um servidor de base de dados desde a versão Os Trigger são implementado no MySQL, seguindo a sintaxe padrão SQL: Quando você cria um trigger no MySQL, as suas definição são guardadas no arquivo com extensão.trg numa pasta da base de dados com a seguintes especificações: /data_folder/database_name/table_name.trg O arquivo está em formato de texto, você pode usar qualquer editor de texto para modificá-lo. Quando um trigger é implementado no MySQL, este tem todos os recursos do standard SQL, mas existem algumas restrições que você deve estar ciente: Não é permitido chamar um stored procedure em um trigger. Não é permitido criar um trigger para uma view ou a tabela temporária. Não é permitido o uso de transações (commit e roolback) num trigger. A declaração de retorno (return) não é permitida num trigger. Criar um trigger para uma tabela da base de dados faz com que o cache de consultas seja invalidado. Todos os triggers para uma tabela da base de dados devem ter nomes únicos. É permitido que triggers para tabelas diferentes com o mesmo nome, mas é recomendado que dentro da mesma base de dados sejam dados nomes diferentes aos triggers. Para criar o trigger, tem de se usar a seguinte sintaxe: (BEFORE AFTER) _tablename_ (INSERT UPDATE DELETE) Sintaxe Completa CREATE TRIGGER <nome_trigger> {BEFORE AFTER} {DELETE INSERT UPDATE} ON <tabela> BEGIN <comandos_compostos> e / ou <commandos_simples> END; Figura 4 Sintaxe de trigger do MySQL. CREATE TRIGGER é usado para criar triggers. nome_trigger deve seguir a seguinte convenção: o [trigger_time]_[table_name]_[trigger_event]; o Exemplo before_itempedido_update. o Onde: trigger_time pode ser BEFORE or AFTER. Você deve especificar o trigger_time quando define um trigger. Use BEFORE, quando você deseja processar ação antes da mudança a ser feita numa tabela e AFTER, se você precisa para processar ação depois que as mudanças serem feitas. trigger_event pode ser INSERT, UPDATE e DELETE. Prof. Antonio Almeida de Barros Júnior Pág. 7

8 Um trigger pode disparar apenas com um evento. Para definir trigger que iniciem múltiplos eventos, você tem que definir vários triggers, uma para cada evento. Por padrão um trigger deve estar associado a uma tabela específica. Sem uma tabela o trigger não existe. Por isso você tem que especificar o nome da tabela após a palavra chave ON. O MySQL fornece as palavras reservadas OLD e NEW para ajudar a escrever triggers mais eficientes.- A palavra reservada OLD refere-se à linha existente antes da atualização dos dados e a palavra reservada NEW refere-se à nova linha após a atualização de dados. Exemplo DELIMITER // CREATE TRIGGER t_altera_saldo_produto BEFORE UPDATE ON produtos BEGIN = OLDquantprod; = NEW.quantprod; END; DELIMITER; // Figura 5 Exemplo de trigger na sintaxe do MySQL. Manutenção de Triggers em MySQL Uma vez criado o trigger e associado a uma tabela, você pode ver o trigger, indo diretamente para a pasta que contém o trigger. O trigger é armazenado como arquivo de texto na pasta da base de dados da seguinte forma: /Data_Folder / database_name / table_name.trg Com qualquer editor de texto simples como o bloco de notas você pode visualizar o código do trigger. O MySQL fornece-lhe uma outra maneira de ver o código do seu trigger, executando a seguinte instrução SQL: SELECT * FROM Information_Schema.Trigger WHERE Trigger_schema = 'database_name' AND Trigger_name = 'trigger_name'; Figura 6 Código SQL para visualizar um trigger. Deste modo, você não vê apenas o conteúdo do trigger, mas também outros metadados associados a ele, como nome da tabela, definidor (nome do MySQL, que criou o trigger). Para encontrar todos os triggers associados a uma base de dados, basta executar a seguinte instrução SQL: SELECT Information_Schema.Trigger WHERE Trigger_Schema = 'database_name ; Figura 7 Código SQL para visualizar todos os triggers de uma base. Prof. Antonio Almeida de Barros Júnior Pág. 8

9 Para encontrar todos os triggers associados a uma tabela da base de dados, basta executar a seguinte instrução SQL: SELECT * FROM Information_Schema.Trigger; WHERE Trigger_Schema = 'database_name' AND Event_object_table = 'table_name'; Figura 8 Código SQL para visualizar os triggers de uma tabela. No MySQL você não só são capazes de ver o trigger, mas também remover um trigger existente. Para remover um trigger você pode usar a instrução SQL DROP TRIGGER como segue: DROP TRIGGER table_name.trigger_name; Figura 9 Código SQL para excluir um trigger. Para modificar um trigger, você deve excluí-lo e recriá-lo. O MySQL não fornece uma instrução SQL para alterar um gatilho existente, como alteração de objetos de bases de dados, tais como tabelas e stored procedures. Referências MySQL Triggers. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Escola Secundária Madeira Torres. Disponível em < Prof. Antonio Almeida de Barros Júnior Pág. 9

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

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

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

Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich

Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com. Elaborado por Maria Lígia B. Perkusich Gatilhos (Triggers) Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Elaborado por Maria Lígia B. Perkusich O que é um gatilho (trigger)? Um gatilho é um tipo especial de procedimento armazenado

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

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

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

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

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas)

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas) Capítulo 6 Regras de Integridade Murilo S. de Camargo (Modificações M.A R. Dantas) 1 Restrições de Integridade ❾ Restrições de Domínio ❾ Integridade Referencial ❾ Asserções ❾ Gatilhos (Triggers) ❾ Dependências

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

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

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

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

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 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

PL/pgSQL por Diversão e Lucro

PL/pgSQL por Diversão e Lucro PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do

Leia mais

Banco de Dados Avançados Banco de Dados Ativo

Banco de Dados Avançados Banco de Dados Ativo Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...

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 Stored procedures e triggers 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

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

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

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

Bases de Dados 2007/2008. Aula 9

Bases de Dados 2007/2008. Aula 9 Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql

Leia mais

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Maio de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi usada

Leia mais

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você

Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO

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

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

2008.1. A linguagem SQL

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

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

Leia mais

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

PostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,

Leia mais

Triggers no PostgreSQL

Triggers no PostgreSQL Triggers no PostgreSQL Traduzido do manual do PostgreSQL Pode-se utilizar PL/pqSQL para a definição de triggers (gatilhos). Um procedimento do tipo trigger é criado com o comando CREATE FUNCTION, declarando

Leia mais

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

MER e Conceitos gerais

MER e Conceitos gerais MER e Conceitos gerais IBGE 1)O Modelo de Entidades Relacionamentos, segundo Paulo Cougo, descreve o mundo como:... cheio de coisas que possuem características próprias e que se relacionam entre si. Essas

Leia mais

Profº Aldo Rocha. Banco de Dados

Profº Aldo Rocha. Banco de Dados Profº Aldo Rocha Banco de Dados HOJE! CREATE TABLE com uma Chave primária Primeiramente façam um SELECT na tabela pessoa. Percebam que não há NENHUMA CHAVE PRIMÁRIA. utilizem o comando SHOW CREATE TABLE

Leia mais

Tarefa Orientada 20 Cursores

Tarefa Orientada 20 Cursores Tarefa Orientada 20 Cursores Objectivos: Declarar cursores Utilizar cursores Utilizar funções do sistema para trabalhar com cursores Actualizar dados através de cursores Um cursor é um objecto da base

Leia mais

SQL. Structured Query Language

SQL. Structured Query Language SQL Structured Query Language Construções básicas Junção de Tabelas Join O uso da operação JOIN numa cláusula FROM especifica como se deseja que as tabelas sejam vinculadas. Use INNER JOIN para associar

Leia mais

PL/pgSQL. Introdução. Introdução. Introdução

PL/pgSQL. Introdução. Introdução. Introdução Introdução PL/pgSQL Banco de Dados II Prof. Guilherme Tavares de Assis PL/pgSQL (Procedural Language for the PostgreSQL) é uma linguagem procedural carregável desenvolvida para o SGBD PostgreSQL, que possui

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis.

UNISA Universidade de Santo Amaro. http://www.unisa.br. Material de Estudo. Módulo I: Básico Banco de dados SQL Server. http://www.unisa-sis. UNISA Universidade de Santo Amaro http://www.unisa.br Material de Estudo Módulo I: Básico Banco de dados SQL Server http://www.unisa-sis.info Junho/2010 Objetivo do Workshop Compartilhar e apresentar

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

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

Leia mais

SQL comando SELECT. SELECT [DISTINCT] FROM [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

Centro Universitário Franciscano

Centro Universitário Franciscano Centro Universitário Franciscano Banco de Dados II Prof a.: Walkiria Cordenonzi descrevem condições lógicas que podem ser válidas para um banco de dados ou para uma seqüência de transição de estados do

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

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

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta

Leia mais

Banco de Dados. Conversão para o Banco de Dados SisMoura

Banco de Dados. Conversão para o Banco de Dados SisMoura Banco de Dados Conversão para o Banco de Dados SisMoura Objetivo : Converter as informações contidas em um determinado banco de dados para o banco de dados do Sismoura. Restaurar Banco de Dados em branco

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

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

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

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 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

Leia mais

Bases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL

Bases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL Bases de Dados 2012/2013 Funções/procedimentos e triggers em PostgreSQL Helena Galhardas Bibliografia Manual referência PostgreSQL http://www.postgresql.org/docs/9.2/static/ plpgsql.html http://www.postgresql.org/docs/9.2/static/

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Triggers e mais... Instituto Militar de Engenharia IME 1o. Semestre/2005 Triggers Propósito mais amplo que restrições Restrições onde se explicita o evento Regras event-condition-action (ECA) Eventos:

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

Segurança de Acesso a Banco de Dados no MS SQL Server

Segurança de Acesso a Banco de Dados no MS SQL Server Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem

Leia mais

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2007 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi

Leia mais

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires Transações Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Introdução a Transações SGBD sistema de processamento de operações de acesso ao BD SGBDs são em geral multi-usuários

Leia mais

Bancos de Dados Relacionais São bancos de dados formados por várias tabelas que estão relacionadas entre si por alguns campos comuns.

Bancos de Dados Relacionais São bancos de dados formados por várias tabelas que estão relacionadas entre si por alguns campos comuns. BANCOS DE DADOS Introdução Banco de Dados é, na verdade, uma forma de armazenar informações estruturadamente, utilizando-se de campos para melhor dividir e encontrar esses dados. No conceito de Banco de

Leia mais

UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados.

UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias Departamento de Engenharia Rural Disciplina de Banco de Dados. Ativando o MySQL Tutorial MySQL Passo1: Verificar onde (path, caminho) o MySQL está instalado. Figura 1. Diretório de instalação do MySQL Nome do Arquivo MySqld Mysqld-debug Mysqld-nt Mysqld-max Mysqld-max-nt

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

109 analista DE ti - BanCO DE DaDOs Data e horário da prova: Domingo, 20/01/2013, às 14h.

109 analista DE ti - BanCO DE DaDOs Data e horário da prova: Domingo, 20/01/2013, às 14h. EMPREsa BRasilEiRa DE serviços HOsPitalaREs EDital n O 01, DE 17 DE OUtUBRO DE 2012 COnCURsO PÚBliCO 1/2012 - EBsERH/sEDE 109 analista DE ti - BanCO DE DaDOs Data e horário da prova: Domingo, 20/01/2013,

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas 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

Leia mais

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

SQL Server - Arquitectura Cliente/Servidor

SQL Server - Arquitectura Cliente/Servidor MS - SQL Server Índice SQL Server - Arquitectura Cliente/Servidor... 3 SQL Server - Arquitectura da Base de Dados... 4 SQL Server - SQL Server Enterprise Manager... 8 SQL Server - Criar uma base de dados...

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para

Leia mais