Oracle PL/SQL Triggers

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

Download "Oracle PL/SQL Triggers"

Transcrição

1 BDDAD Bases de Dados Oracle PL/SQL Triggers Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/39

2 Triggers Sumário Introdução Conceito de Trigger Tipos de Triggers Designações de um Trigger Triggers DML Características Particulares Interesse Aspetos Gerais Lista de Triggers Associados a Tabela Ordem de Disparo de Triggers Impedir/Permitir Triggers Eliminar Triggers Limitação do Tamanho de um Trigger Uso de Triggers Comando CREATE TRIGGER Passos Para Criar um Trigger Pseudo-Registos NEW e OLD Tratamento Diferenciado de Comandos de Triggering Participação em Transações Limitação Mutating Table em Triggers de Linha Exemplo Nelson Freire (ISEP LEI-BDDAD 2017/18) 2/39

3 Oracle PL/SQL - Triggers Introdução Nelson Freire (ISEP LEI-BDDAD 2017/18) 3/39

4 Triggers Trigger Unidade de programação PL/SQL Tem um nome Armazenado na BD -- com/sem erros de compilação. Invocação: Automática -- realizada pela BD. Trigger dispara automaticamente. Permitida, por omissão. -- disparo do trigger desinibido. Pode ser impedida. -- disparo do trigger inibido. Explicita impossível. Ocorre: Quando surge o evento de triggering. Evento de Triggering Ocorre quando é executado um comando SQL sobre um dado item. Item: tabela / vista / esquema / BD. Comando SQL é designado comando de triggering. Disparo do Trigger (Timing-Point) Antes / depois da execução de comando de triggering. Conceito de Trigger Único / múltiplo ( para cada linha afetada pelo comando de triggering). invocação permitida invocação impedida Nelson Freire (ISEP LEI-BDDAD 2017/18) 4/39

5 Triggers Tipos de Triggers Triggers Trigger dispara quando Interesse Observações DML Executado comando DML (INSERT, UPDATE ou DELETE) sobre tabela / vista. Validar valores armazenados. Atribuir valores por omissão. Proibir certas operações DML. Mais usados por utilizadores de PL/SQL. DDL Executado comando DDL: CREATE, DROP, ALTER, GRANT, REVOKE, Auditoria Impedir a execução de certos comandos DDL. Eventos da BD BD arranca / termina. Utilizador da BD faz LOGON / LOGOFF. Ocorrem erros. Monitorar atividade na BD. Eventos da BD: STARTUP, SHUTDOWN, LOGON, LOGOFF, SERVERERROR, INSTEAD OF Executado comando CREATE Executado comando DML (INSERT, UPDATE ou DELETE) sobre vistas. Substituir a execução de comando de triggering pela execução de um dado código. Essencialmente, são alternativas a triggers DML sobre vistas. SUSPEND MODE Execução de comando é suspensa devido a problemas de espaço (falta de tablespace / quota excedida) Alertar alguém para o problema. Resolver o problema. Comandos entram em modo de suspensão até à resolução do problema. Item: DATABASE / SCHEMA Nelson Freire (ISEP LEI-BDDAD 2017/18) 5/39

6 Triggers Designações de um Trigger Baseadas Nome do comando de triggering -- ex: Trigger INSERT / Trigger LOGON Nome do item de triggering -- ex: Trigger DATABASE / Trigger SCHEMA Timing-point do disparo do trigger -- ex: Trigger BEFORE Statement / Trigger AFTER EACH ROW Nelson Freire (ISEP LEI-BDDAD 2017/18) 6/39

7 Oracle PL/SQL - Triggers Triggers DML Nelson Freire (ISEP LEI-BDDAD 2017/18) 7/39

8 Evento de Triggering Composto por: Comandos de triggering: Comandos DML: INSERT UPDATE DELETE Item sobre o qual atuam os comandos de triggering: Tabela / Vista Exemplos Um comando de triggering INSERT ON empregados -- tabela empregados UPDATE ON empregados DELETE ON empregados Múltiplos comandos de triggering INSERT OR UPDATE ON empregados INSERT OR DELETE ON empregados UPDATE OR DELETE ON empregados Características Particulares INSERT OR UPDATE OR UPDATE ON empregados Execução de comando DML Nelson Freire (ISEP LEI-BDDAD 2017/18) 8/39

9 Interesse Forçar Regras de negócio complexas -- impossível definir em CREATE TABLE. Regras de integridade referencial -- impossível definir em CREATE TABLE. Atribuir Valores por omissão -- impossível definir em CREATE TABLE. CONSTRAINT preferível a trigger Impedir Certas operações DML -- ex: após horas normais de serviço. Certas alterações de tabelas -- i.e., fazer a validação de alterações de tabelas. Transações inválidas -- i.e., provocar ROLLBACK de transação. Registar Eventos -- ex: erros Informação de auditoria Estatísticas do acesso a tabelas. Triggers não servem apenas para impor: Regras de negócio complexas. Restrições de integridade da BD. Nelson Freire (ISEP LEI-BDDAD 2017/18) 9/39

10 Comando CREATE TRIGGER 1/7 Sintaxe (simplificada) CREATE [OR REPLACE] TRIGGER nome_trigger { BEFORE AFTER } { INSERT DELETE UPDATE UPDATE OF lista_colunas } ON tabela/vista [ FOR EACH ROW [ WHEN (condição) ] ] [DECLARE] -- instruções de declarações BEGIN -- instruções executáveis [EXCEPTION] -- handlers de exceções END [nome_trigger]; Carateres especiais: [.] = opcional { } = alternativas nome do trigger (tgr_... por convenção) timing-point do disparo do trigger evento de triggering - 1 disparo para cada linha afetada (cada disparo sob condição) - sem cláusula: apenas 1 disparo corpo do trigger especifica a ação do trigger Exemplo Trigger sobre a tabela barcos NEW Pseudo-registo da linha afetada por comando de triggering. cor Campo do pseudo-registo. Nelson Freire (ISEP LEI-BDDAD 2017/18) 10/39

11 Comando CREATE TRIGGER 2/7 Cláusula CREATE [OR REPLACE] TRIGGER Especifica o nome do trigger. É um identificador Sujeito às regras dos identificadores. Iniciado por letra, Convenção Prefixo: trg_ Razão Evitar conflitos de nomes Tabela, função e procedimento podem ter o mesmo nome. OR REPLACE Opcional Omisso Gerada exceção se o trigger existir. nome do trigger CREATE [OR REPLACE] TRIGGER nome_trigger { BEFORE AFTER } { INSERT DELETE UPDATE UPDATE OF lista_colunas } ON tabela/vista [ FOR EACH ROW [ WHEN (condição) ] ] Nelson Freire (ISEP LEI-BDDAD 2017/18) 11/39

12 Cláusula BEFORE AFTER Especifica: Timing-point do disparo do trigger. Ação do trigger. BEFORE Antes da execução de comando de triggering. Interesse: Consultar / alterar as linhas afetadas por comando de triggering antes de processadas. Exemplo (ilustrado) Linhas afetadas por comando INSERT / UPDATE alteradas antes de serem inseridas / atualizadas na tabela barcos. AFTER Depois da execução de comando de triggering. Interesse: Consultar as linhas afetadas por comando de triggering depois de processadas. Exemplo Para registar numa tabela de logs as linhas eliminadas por DELETE. timing-point Comando CREATE TRIGGER CREATE [OR REPLACE] TRIGGER nome_trigger { BEFORE AFTER } { INSERT DELETE UPDATE UPDATE OF lista_colunas } ON tabela/vista [ FOR EACH ROW [ WHEN (condição) ] ] Nelson Freire (ISEP LEI-BDDAD 2017/18) 12/39 3/7

13 Cláusula INSERT DELETE UPDATE UPDATE OF Especifica: Evento de triggering. Em termos de: Comando / combinação de comandos DML. INSERT, UPDATE ou DELETE Item sobre o qual atuam esses comandos: Tabela / Vista Cláusula UPDATE OF lista_colunas Comando CREATE TRIGGER Para disparar o trigger: Só quando são atualizadas as colunas indicadas. 4/7 evento de triggering CREATE [OR REPLACE] TRIGGER nome_trigger { BEFORE AFTER } { INSERT DELETE UPDATE UPDATE OF lista_colunas } ON tabela/vista [ FOR EACH ROW [ WHEN (condição) ] ] Nelson Freire (ISEP LEI-BDDAD 2017/18) 13/39

14 Cláusula FOR EACH ROW [ WHEN (condição) ] Opcional Omissa: Trigger de tabela / instrução Especifica: Trigger de linha Comando CREATE TRIGGER Trigger de linha: Pode aceder aos dados das linhas afetadas por comando de triggering. Através dos pseudo-registos: NEW -- NEW na condição WHEN e :NEW no corpo do trigger. OLD -- OLD na condição WHEN e :OLD no corpo do trigger. Interesse: Processar os dados de cada linha da tabela afetada por comando de triggering. WHEN (condição): Condiciona o disparo do trigger. -- restringir a execução da ação do trigger. 5/7 Representa a linha a inserir / atualizar trigger de linha CREATE [OR REPLACE] TRIGGER nome_trigger { BEFORE AFTER } { INSERT DELETE UPDATE UPDATE OF lista_colunas } ON tabela/vista [ FOR EACH ROW [ WHEN (condição) ] ] Nelson Freire (ISEP LEI-BDDAD 2017/18) 14/39

15 Comando CREATE TRIGGER 6/7 Trigger de Tabela / Instrução Dispara só 1 vez -- ação do trigger executada 1 vez. Exemplo com comando de triggering UPDATE. Trigger não tem acesso aos dados de cada linha afetada. Pseudo-registos :NEW e :OLD ilegais Sem cláusula FOR EACH ROW Trigger de Linha Dispara múltiplas vezes: 1 vez para cada linha afetada pelo comando de triggering. Exemplo com comando de triggering UPDATE. 1 disparo sobre toda a tabela Com cláusula 1 disparo sobre cada linha Tem acesso aos dados de cada linha afetada -- através dos pseudo-registos NEW e OLD Nelson Freire (ISEP LEI-BDDAD 2017/18) 15/39

16 Cláusula WHEN (condição) Opcional Usada: Só em triggers de linha. -- senão, erro de compilação Especifica: Condição de disparo do trigger. Trigger designado Trigger Condicional. Interesse: Evitar disparos desnecessários do trigger. Condição Parêntesis Obrigatórios Pode referenciar: Pseudo-registos NEW e OLD -- sem prefixo dois pontos Pode invocar funções Só SQL predefinidas. Proibido incluir: Subquery Comando CREATE TRIGGER Nelson Freire (ISEP LEI-BDDAD 2017/18) 16/39 7/7 CREATE [OR REPLACE] TRIGGER nome_trigger { BEFORE AFTER } { INSERT DELETE UPDATE UPDATE OF lista_colunas } ON tabela/vista [ FOR EACH ROW [ WHEN (condição) ] ] de disparo do trigger

17 Passos para Criar Trigger DML 1. Decidir sobre: Evento de triggering: Disparo do trigger aplica-se apenas a um comando INSERT, UPDATE ou DELETE ou Disparo do trigger aplica-se a uma combinação desses comandos? Timing-point do disparo do trigger: Antes da execução de comando de triggering -- com cláusula BEFORE ou Depois da execução de comando de triggering? -- com cláusula AFTER 1 vez para o comando de triggering -- sem cláusula FOR EACH ROW ou 1 vez para cada linha afetada pelo comando de triggering? -- com cláusula FOR EACH ROW Condicionada -- com cláusula WHEN ou Não condicionada? -- sem cláusula WHEN 2. Escrever comando CREATE TRIGGER. 3. Compilar o comando criado. 4. Testar o trigger. Nelson Freire (ISEP LEI-BDDAD 2017/18) 17/39

18 Pseudo-Registos NEW e OLD 1/7 Estruturas de Dados Estruturas semelhantes ao registo PL/SQL. -- daí pseudo-registo. Tipo: nome_tabela%rowtype -- nome da tabela do evento de triggering. Contém: valores dos campos da linha afetada por comando de triggering. Referenciados como Variáveis No corpo do trigger Com prefixo : Sintaxe :NEW.campo :OLD.campo Na condição da cláusula WHEN Sem prefixo : Sintaxe NEW.campo OLD.campo NEW :NEW Nelson Freire (ISEP LEI-BDDAD 2017/18) 18/39

19 Disponíveis Apenas em triggers de linha. Pseudo-Registos NEW e OLD 2/7 Sem cláusula FOR EACH ROW => Trigger de Tabela :NEW gera erro de compilação Erro ORA-4082 Nelson Freire (ISEP LEI-BDDAD 2017/18) 19/39

20 NEW Disponível Apenas em triggers INSERT e UPDATE Contém: Valores dos campos da linha afetada depois das alterações realizadas. OLD Disponível Apenas em triggers UPDATE e DELETE Contém: Valores dos campos da linha afetada antes das alterações realizadas. Valores de OLD e NEW Para a linha em processamento pelo comando de triggering. Pseudo-Registos NEW e OLD 3/7 Comando de Triggering OLD.campo NEW.campo INSERT NULL Valor depois do INSERT UPDATE Valor antes do UPDATE Valor depois do UPDATE DELETE Valor antes do DELETE NULL Nelson Freire (ISEP LEI-BDDAD 2017/18) 20/39

21 Nomes NEW e OLD Podem ser personalizados. Na cláusula REFERENCING Comando CREATE TRIGGER Interesse Melhorar a legibilidade do código. Código mais específico da aplicação. Pseudo-Registos NEW e OLD 4/7 Sintaxe Exemplo Cláusula REFERENCING NEW substituído por NOVO :NEW substituído por :NOVO Nelson Freire (ISEP LEI-BDDAD 2017/18) 21/39

22 Limitações dos Pseudo-Registos Ilegais em operação ao nível do registo. -- legal apenas nível do campo do registo. Exemplo :NEW := NULL; -- :NEW.campo := NULL; -- é legal Ilegais como argumento de subprograma (função/procedimento). Mas é legal um campo do pseudo-registo. Ilegal modificar OLD.campo Porque é ilegal alterar valores armazenados na BD. Tentativa gera erro ORA Ilegal modificar NEW.campo se comando de triggering é DELETE. Tentativa gera erro ORA Trigger AFTER impedido de modificar NEW.campo Porque comando de triggering é executado antes. Tentativa gera erro ORA Pseudo-Registos NEW e OLD 5/7 Trigger BEFORE pode modificar NEW.campo Antes do comando INSERT / UPDATE do evento armazenar esse valor na tabela. Quando um comando DML faz disparar, simultaneamente, um trigger BEFORE e um trigger AFTER: Se o trigger BEFORE alterar NEW.campo então o trigger AFTER vê essa alteração. Nelson Freire (ISEP LEI-BDDAD 2017/18) 22/39

23 Pseudo-Registos NEW e OLD 6/7 Exemplo Trigger AFTER FOR EACH ROW Insere uma linha na tabela de logs LOG_EMPREGADOS depois de qualquer comando UPDATE afetar a coluna SALARIO da tabela EMPREGADOS Nelson Freire (ISEP LEI-BDDAD 2017/18) 23/39

24 Pseudo-Registos NEW e OLD 7/7 Exemplo - Trigger Condicional (com cláusula WHEN) Cria um trigger que: Imprime informação sobre atualizações na coluna SALARIO da tabela EMPREGADOS. Sempre que um comando UPDATE afeta a tabela EMPREGADOS. Exceto quando a informação é do Presidente. A BD avalia a condição WHEN para cada linha da tabela EMPREGADO afetada. Se TRUE: trigger é disparado antes da execução do comando de triggering. Senão: trigger não é disparado mas o comando de triggering continua a sua execução. Nelson Freire (ISEP LEI-BDDAD 2017/18) 24/39

25 Tratamento Diferenciado de Comandos de Triggering Requer Diretivas operacionais -- funções que retornam TRUE / FALSE. Directiva Operacional INSERTING UPDATING UPDATING('coluna') DELETING Retorna TRUE quando comando de triggering é INSERT UPDATE UPDATE que afeta a coluna especificada DELETE Evento do trigger com vários comandos DML Diretivas operacionais determinam o comando DML que disparou o trigger. Diretivas operacionais usadas em condições (expressões booleanas) Diretivas operacionais podem ser usadas em qualquer bloco PL/SQL. Contudo só são TRUE dentro de triggers ou código invocado dentro dum trigger DML Nelson Freire (ISEP LEI-BDDAD 2017/18) 25/39

26 Participação de Triggers em Transações Comandos DML Dentro dum Trigger Por omissão: Fazem parte da transação que originou o disparo do trigger. -- transação principal. i.e., trigger participa na transação principal. Consequência: Trigger quando termina com exceção não tratada: Provoca o ROLLBACK do comando que originou o disparo do trigger. Especificação de Instruções COMMIT/ROLLBACK Dentro do Trigger Apenas quando o trigger: É definido como transação autónoma. -- independente da transação principal. Exemplo Guarda informação de auditoria sobre tabela bonus_empregados: Instrução especifica que os comandos DML da ação do trigger constituem uma transação autónoma Não afeta transação principal Alteração da tabela é garantida. ROLLBACK da transação principal não afeta. Nelson Freire (ISEP LEI-BDDAD 2017/18) 26/39

27 Impede Leitura/escrita na tabela do evento de triggering. Justificação Tabela já está sendo alterada ( is mutating ) por comando DML (INSERT, UPDATE ou DELETE) que fez o trigger disparar. Exemplo Limitação Mutating Table em Triggers de Linha 1/3 Trigger de linha sobre tabela. Consulta da tabela que está sendo alterada por comando DML que fez o trigger disparar. Comando DML faz o trigger disparar e surge um erro... Trigger compilado sem erros. erro ORA-4091 Mutating Table Nelson Freire (ISEP LEI-BDDAD 2017/18) 27/39

28 Limitação Mutating Table em Triggers de Linha 2/3 Consequência 1. Rolled Back Trigger Comando de triggering 2. Controlo da Execução Retorna à aplicação que mandou executar o comando de triggering. Exemplo Trigger é rolled back. Comando de triggering é rolled back. Erro ORA-4091 Mutating Table Nelson Freire (ISEP LEI-BDDAD 2017/18) 28/39

29 Evitar o Erro Limitação Mutating Table em Triggers de Linha 3/3 Exemplo - Trigger AFTER EACH ROW para UPDATE da Mutating Table Alternativas: Usar uma tabela temporária. Usar um trigger DML composto. -- compound DML trigger Usar uma tabela temporária. Usar 2 triggers: Trigger de Linha Trigger de tabela / instrução Trigger de linha Trigger AFTER EACH ROW -- executado antes de triggers AFTER Atualiza a tabela temporária. Trigger de tabela / instrução Trigger AFTER Atualiza a mutating table com os valores da tabela temporária. Nelson Freire (ISEP LEI-BDDAD 2017/18) 29/39

30 Exemplo - Verificação de Restrição Complexa 1/3 Restrição empregados.salario [categorias.salario_min, categorias.salario_max] -- envolve 2 tabelas. Implementação Impossível com CONSTRAINT CHECK Limitada a colunas da mesma tabela. Possível com TRIGGER Faz a validação do salario Se inválido impede a execução de comandos INSERT / UPDATE Nelson Freire (ISEP LEI-BDDAD 2017/18) 30/39

31 Exemplo - Verificação de Restrição Complexa 2/3 Exceção própria (definida pelo programador) Obtém os salários, mínimo e máximo, do novo empregado ou da nova categoria do empregado. Lança exceção quando o novo salário é inválido Código do erro: inteiro [-20000, ] Procedimento (DBMS_STANDARD) Lança exceção própria e retorna código do erro e mensagem de erro. Comando INSERT/UPDATE pendente que disparou o trigger é ROLLED BACK. Nelson Freire (ISEP LEI-BDDAD 2017/18) 31/39

32 Exemplo - Verificação de Restrição Complexa 3/3 Comando DML impedido de executar, por ação do trigger. Salário inválido (fora dos limites da categoria) Exceção lançada pelo trigger provoca o ROLLED BACK do INSERT. Código de erro e mensagem de erro retornados por RAISE_APPLICATION _ERROR Nelson Freire (ISEP LEI-BDDAD 2017/18) 32/39

33 Oracle PL/SQL - Triggers Aspetos Gerais Nelson Freire (ISEP LEI-BDDAD 2017/18) 33/39

34 Triggers Lista de Triggers Associados a uma Tabela SQL Developer Separador Triggers da Tabela selecionada. Exemplo: Tabela EMPREGADOS separador Nelson Freire (ISEP LEI-BDDAD 2017/18) 34/39

35 Triggers Múltiplos Triggers Definidos Para: Mesmo comando de triggering Sobre a mesma tabela Ordem de Disparo: 1. Triggers de Tabela BEFORE 2. Triggers de Linha BEFORE 3. Triggers de Linha AFTER 4. Triggers de Tabela AFTER Exemplo: Ordem de Disparo de Triggers 1. BEFORE 2. AFTER 1. CREATE TRIGGER trg_1 BEFORE UPDATE ON tabelax 2. CREATE TRIGGER trg_2 BEFORE UPDATE ON tabelax FOR EACH ROW 3. CREATE TRIGGER trg_3 AFTER UPDATE ON tabelax FOR EACH ROW 4. CREATE TRIGGER trg_4 AFTER UPDATE ON tabelax Mesmo comando Mesma tabela Quando um comando DML faz disparar, simultaneamente, um trigger BEFORE e um trigger AFTER: Se o trigger BEFORE alterar NEW.campo então o trigger AFTER vê essa alteração. Nelson Freire (ISEP LEI-BDDAD 2017/18) 35/39

36 Triggers Permitir/Impedir Triggers Comando CREATE TRIGGER Cria trigger no estado enable (permitido) -- por omissão Criar Trigger Inibido Especificar a cláusula DISABLE Trigger de linha: FOR EACH ROW DISABLE [WHEN(condição)] Trigger de Tabela: Evento de triggering [REFERENCING ] DISABLE Interesse Permitir apenas triggers sem erros de compilação. Algumas Razões para Impedir Temporariamente um Trigger Trigger tem referência de um objeto indisponível. Necessidade de carregar rapidamente grandes quantidades de dados. Disparos de triggers consomem tempo de CPU. invocação permitida invocação impedida Comando para Impedir / Permitir Um trigger: ALTER TRIGGER [nome_esquema.] nome_trigger { ENABLE DISABLE } ; Todos os triggers sobre uma tabela específica ALTER TABLE nome_tabela { ENABLE DISABLE } ALL TRIGGERS ; Nelson Freire (ISEP LEI-BDDAD 2017/18) 36/39

37 Triggers Eliminar Trigger Comando DROP TRIGGER Sintaxe Exemplo DROP TRIGGER nome_trigger; Alternativa no SQL Developer Nelson Freire (ISEP LEI-BDDAD 2017/18) 37/39

38 Triggers Limitação do Tamanho de um Trigger Tamanho Máximo de um Trigger 32K bytes Recomendação Oracle Para lógica com mais de 60 linhas de código PL/SQL: Criar subprogramas (funções e procedimentos). Invocar esses subprogramas. Nelson Freire (ISEP LEI-BDDAD 2017/18) 38/39

39 Triggers Uso de Triggers Muito Cuidadoso Apenas: Quando necessário. Uso excessivo: Pode resultar em interdependências complexas. -- triggers em cascata. Dificulta a manutenção de grandes aplicações. Nelson Freire (ISEP LEI-BDDAD 2017/18) 39/39

Prof. Josenildo Silva

Prof. Josenildo Silva BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva [email protected] Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras

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

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

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

Triggers(Gatilhos) Tiago Alves de Oliveira

Triggers(Gatilhos) Tiago Alves de Oliveira Triggers(Gatilhos) Tiago Alves de Oliveira [email protected] Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos

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 [email protected]

Leia mais

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

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Triggers Um trigger é um comando que é executado automaticamente pelo sistema,

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

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

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

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore S Q L Asserções, Visões e Técnicas de Programação Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore Resumo Apresentaremos os seguintes tópicos: - Especificação de restrições genéricas

Leia mais

TRIGGER e SEGURANÇA. Prof. Edson Thizon

TRIGGER e SEGURANÇA. Prof. Edson Thizon TRIGGER e SEGURANÇA Prof. Edson Thizon 1 Restrição de Integridade Restrição de integridade Uma regra que deve ser obedecida por todos estados da base de dados que são considerados consistentes. Especificação

Leia mais

Oracle Database 10g: Programação com PL/SQL NOVO

Oracle Database 10g: Programação com PL/SQL NOVO Oracle University Entre em contato: 0800 891 6502 Oracle Database 10g: Programação com PL/SQL NOVO Duração: 5 Dias Objetivos do Curso Este curso apresenta aos alunos os fundamentos de PL/SQL e as vantagens

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

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Oracle Database 10g: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer

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

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

Oracle SQL Developer

Oracle SQL Developer BDDAD Bases de Dados Oracle Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/59 Sumário Introdução Instalar Abrir Ligar à BD no Servidor Oracle Ativar Commits Automáticos Alterar a Linguagem Nacional Programação

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

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

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD. Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que

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 I Introdução SQL

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

Leia mais

Oracle Database: Fundamentos de SQL e PL/SQL

Oracle Database: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens

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

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

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

Oracle SQL Developer

Oracle SQL Developer BDDAD Bases de Dados Oracle Nelson Freire (ISEP LEI-BDDAD 2016/17) 1/49 Introdução Instalar Abrir Ligar à BD no Servidor Oracle Programação Manual SQL Worksheet Script Editar Executar Saída Ficheiro Gravar

Leia mais

Tarefa Orientada 8 Criação de tabelas

Tarefa Orientada 8 Criação de tabelas Tarefa Orientada 8 Criação de tabelas Objectivos: Iniciar o MS SQL Server Manegement Studio Criar tabelas Especificar tipos de dados Definir restrições Alterar as definições de uma tabela Eliminar uma

Leia mais

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

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 Junho de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões A SBC (Sociedade Brasileira de Computação

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Laboratório de Bases de Dados Tratamento de Exceções Exceções erros e imprevistos que podem ocorrer durante a execução de um bloco PL/SQL SGBD ao encontrar um erro ou um imprevisto,

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

Oracle Database 11g: Introdução à Linguagem SQL Novo

Oracle Database 11g: Introdução à Linguagem SQL Novo Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.

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

Linguagem SQL Comando SELECT Agrupamento de Resultados

Linguagem SQL Comando SELECT Agrupamento de Resultados BDDAD Bases de Dados Linguagem SQL Comando SELECT de Resultados Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/12 Introdução Sumário Funções de Agregação Básicas COUNT SUM MIN MAX AVG Cláusulas de GROUP BY HAVING

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

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é [email protected] http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

Tarefa Orientada 9 Base de Dados Pagamentos

Tarefa Orientada 9 Base de Dados Pagamentos Tarefa Orientada 9 Base de Dados Pagamentos Objectivos: Criar as tabelas da base de dados Pagamentos Criar um diagrama da base de dados Inserir registos com os dados de teste Criar as tabelas da base de

Leia mais

Teste Exemplo Revisão da tentativa 1

Teste Exemplo Revisão da tentativa 1 Teste Exemplo Revisão da tentativa 1 Iniciado em: Quinta, 6 Dezembro 2007, 21:31 Completado em: Quinta, 6 Dezembro 2007, 21:48 Tempo gasto: 16 minutos 53 segundos Classificação: 8/20 (40% Nota: 8 sobre

Leia mais

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

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. ([email protected]) 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

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

Oracle Database 12c: Programando com PL/SQL Ed. 2

Oracle Database 12c: Programando com PL/SQL Ed. 2 Oracle Database 12c: Programando com PL/SQL Ed. 2 Duração: 5 dias O que você irá aprender Esse curso inicia-se com uma introdução ao PL/SQL e então explora os benefícios dessa poderosa linguagem de programação.

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

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

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

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

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 WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.

BANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha. BANCO DE DADOS WEB AULA 9 concessão e revogação de privilégios professor Luciano Roberto Rocha www.lrocha.com O que são privilégios Quem cria o objeto no banco de dados se torna o seu dono. Por padrão,

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: [email protected] 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

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 8 Prof. Marcos Alexandruk Aula 8 Índices (Indexes) Índices únicos Índices não únicos Índices de chave invertida Índices baseados em funções Índices de bitmap Tabelas

Leia mais

SQL Pacotes. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados Pacotes

SQL Pacotes. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados Pacotes SQL Pacotes Laboratório de Bases de Dados Características Pacotes objetos do banco de dados são equivalentes a bibliotecas Armazenam procedimentos funções definições de cursores declarações de variáveis

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

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

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

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

Aula 12 Revisão. Prof. Filipe Wall Mutz

Aula 12 Revisão. Prof. Filipe Wall Mutz Aula 12 Revisão Prof. Filipe Wall Mutz Tópicos Operadores para Consultas Consultas Aninhadas Restrições Views Controle de Acesso Stored Procedures Triggers Operadores Avançados: Consultas com Operadores

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para

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

Aula 06 Sistemas Embarcados LT38C

Aula 06 Sistemas Embarcados LT38C Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.

Leia mais

BANCO DE DADOS GERENCIAL 1 A U L A 2

BANCO DE DADOS GERENCIAL 1 A U L A 2 BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :

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

TLBD II Instruções SQL

TLBD II Instruções SQL TLBD II Instruções SQL Os comandos SQL podem dividir-se em três grandes categorias: DML - Data Manipulation Language - trabalha com linhas; DDL - Data Definition Language - trabalha com objetos; DCL -

Leia mais

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

[versão para impressão] Link original:  comp=24763 Conhecendo o PL/SQL www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp? comp=24763 Conhecendo o PL/SQL Veja neste artigo o que é PL/SQL, quando utilizá-la e uma breve

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

Modelo Entidade-Relacionamento (E-R)

Modelo Entidade-Relacionamento (E-R) Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo

Leia mais

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes

Leia mais

A ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão

A ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão A - Introdução O C é orientado para a produção de aplicações informáticas de grande dimensão Na geração de aplicações informáticas há ficheiros gerados a partir de outros: logo, os segundos têm obrigatoriamente

Leia mais

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva. BD II (SI 587) Segurança em Banco de Dados Josenildo Silva [email protected] Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco

Leia mais

BANCO DE DADOS WEB AULA 12. manipulação de dados atualização e exclusão de registros. professor Luciano Roberto Rocha.

BANCO DE DADOS WEB AULA 12. manipulação de dados atualização e exclusão de registros. professor Luciano Roberto Rocha. BANCO DE DADOS WEB AULA 12 manipulação de dados atualização e exclusão de registros professor Luciano Roberto Rocha www.lrocha.com Atualização de dados A modificação dos dados armazenados no 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

A linguagem SQL

A linguagem SQL 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 recebeu o nome de

Leia mais