TRIGGER e SEGURANÇA. Prof. Edson Thizon
|
|
- Ana Canela Alencar
- 7 Há anos
- Visualizações:
Transcrição
1 TRIGGER e SEGURANÇA Prof. Edson Thizon 1
2 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 do maior número possível de restrições de integridade: É possível evitar que o usuário leve a base de dados inadvertidamente a um estado inconsistente. 2
3 Tipos de regras em um SGBD Considerando um determinado SGBD, as restrições de integridade podem ser classificadas em três categorias: Implícitas Nesta categoria, enquadram-se todas as restrições que podem ser declaradas (de forma não procedural) na DDL. No caso da abordagem relacional: Explícitas chave primária, integridade referencial, domínio, Nesta categoria, enquadram-se todas as restrições que devem ser explicitamente especificadas no SGBD em questão, quer através de programação, quer através de instruções especiais. Inerentes à abordagem São restrições de integridade inerentes à abordagem em questão e que não necessitam ser especificadas (na abordagem relacional, o fato de um atributo somente ter um valor) 3
4 Restrições estáticas - Restrições dinâmicas Restrições estáticas (de estado) São restrições sobre um estado da base de dados. Para verificá-las basta observar o estado atual da base de dados. Exemplos: Restrições de domínio Restrições de chave Restrições de relacionamento entre diferentes atributos (o salário do empregado não pode ser maior que o de seu gerente) 4
5 Restrições estáticas - Restrições dinâmicas Restrições dinâmicas (de transição) São restrições cuja verificação exige dois estados da base de dados, um anterior e um posterior à transição. Exemplo: O estado civil de uma pessoa, não pode mudar de casado para solteiro, mas pode mudar de viúvo para casado. Nos SGBD comerciais, normalmente não são oferecidas facilidades para garantir este tipo de restrições. O controle da restrição fica por conta de quem desenvolve as aplicações. 5
6 Restrições explícitas de integridade Definição procedural por codificação explícita Neste método, o usuário deve incluir dentro de cada transação de alteração o código correspondente a verificação da restrição. Significa: Incluir código em cada transação de inclusão, exclusão ou alteração de atributos. Uma única restrição de integridade pode ficar espalhada dentro de diversas transações Exemplo: Conseqüência: Integridade referencial entre empregado e departamento: Ao incluir um empregado, verificar se o departamento existe. Ao excluir um departamento, verificar se o mesmo está vazio. Ao alterar o departamento de um empregado, garantir que o mesmo existe. Quando restrições de integridade mudam, todos trechos de código referentes à restrição devem ser modificados. 6
7 SQL definição de restrições de integridade explícitas CHECK CONSTRAINT ASSERTION TRIGGER 7
8 CHECK CONSTRAINT Especificação declarativa de uma expressão booleana que deve ser verdadeira para todas linhas de uma tabela (valores de uma coluna) Mesma sintaxe da cláusula WHERE do SELECT Exemplo: ALTER TABLE Cliente ADD CONSTRAINT ValidaCampos CHECK (TipoCli= Pessoa Física AND CIC IS NOT NULL AND CGC IS NULL) OR (TipoCli= Pessoa Jurídica AND CIC IS NULL AND CGC IS NOT NULL) 8
9 ASSERTION Especificação declarativa de uma expressão booleana que deve ser verdadeira para toda a base de dados (pode envolver várias tabelas) CREATE ASSERTION ValidaSalario (NOT EXISTS SELECT * FROM emp WHERE emp.sal< (SELECT sal FROM emp AS ger WHERE ger.cod_emp=emp.cod_emp_ger) Implementação em SGBD é restrita (problema de performance) 9
10 TRIGGER Stored procedure que é executada automaticamente quando da atualização de uma tabela Pode ser usado para: Atualizações em cascata Verificação de restrições de integridade que não podem ser verificadas pelas restrições implícitas nem pela cláusula CHECK 10
11 Trigger Um trigger contém três partes: evento (p.ex., atualizar um campo) condição (p.ex.., uma consulta que faz um teste) ação (p.ex., exclusão, inclusão,, RAISEERROR) Quando o evento ocorre, 1. Sistema testa condição e 2. Executa ação Observação: triggers podem ter efeitos em cascata Fornecedores de SGBD não esperaram os padrões 11
12 Opções de Trigger Eventos possíveis incluem INSERT ON table DELETE ON table UPDATE [OF column] ON table INSTEAD OF Trigger pode ser ativado por FOR EACH ROW Ação é executada para cada linha modificada FOR EACH STATEMENT Ação é executada uma vez somente para todas linhas modificadas pela operação Ação de modificação pode ser executada AFTER ou BEFORE o evento (normalmente antes) 12
13 Variáveis usadas em Trigger OLD NEW A linha modificada antes da ocorrência do evento. A linha modificada após da ocorrência do evento. OLD_TABLE Uma tabela virtual que contém todas linhas modificadas no estado de antes da ocorrência do evento NEW_TABLE Uma tabela virtual que contém todas linhas modificadas no estado de após da ocorrência do evento 13
14 Exemplo de Trigger Row level CREATE TRIGGER AFTER UPDATE OF REFERENCING OLD AS OldTuple NEW AS NewTuple FOR EACH ROW NoLowerPrices preco ON Produto WHEN (OldTuple.preco > NewTuple.preco) UPDATE Produto SET preco = OldTuple.preco WHERE nome = NewTuple.nome Todos produtos com o mesmo são atualizados quando um deles é atualizado Exemplo de tratamento de redundância 14
15 Exemplo de Trigger - For each statement CREATE TRIGGER MatriculAutomaticaIntroducao AFTER INSERT ON Aluno REFERENCING NEW_TABLE AS novosalunos FOR EACH STATEMENT INSERT INTO Matricula SELECT CodigoAl, Intro001 FROM novosalunos WHERE CodigoAl NOT IN (SELECT CodigoAl FROM Matricula WHERE CodigoDisc = Intro001 ) Matricula alunos novos em Intro001 automaticamente 15
16 Exemplo de Trigger For each statement CREATE TRIGGER average-price-preserve INSTEAD OF UPDATE OF preco ON Produto REFERENCING OLD_TABLE AS OldStuff NEW_TABLE AS NewStuff FOR EACH STATEMENT WHEN (1000 < (SELECT AVG (preco) FROM ((Produto EXCEPT OldStuff) DELETE FROM Produto UNION NewStuff)) WHERE (nome, preco, empresa) IN OldStuff; INSERT INTO Produto (SELECT * FROM NewStuff) Se a média de preços cai abaixo de 1000, alteração é desprezada 16
17 Exemplo de Trigger Before Update CREATE TRIGGER ImpedeAumentoExagerado BEFORE UPDATE OF salario ON Empregado REFERENCING OLD AS o NEW AS n FOR EACH ROW WHEN (n.salario > 1.5 * o.salario) SET n.salario = 1.5 * o.salario Impede aumentos de salário de mais de 50% Observar que o conteúdo de NEW é alterado 17
18 Exemplo de Trigger - Validação CREATE TRIGGER OneSupplier BEFORE UPDATE OF CodFornec ON Embarq REFERENCING NEW AS N FOR EACH ROW WHEN (N.CodFornec IS NULL) SIGNAL SQLSTATE '70005' ( Código do fornecedor deve ser fornecido') Exemplo de Trigger para verificar restrição de integridade Forma de sinalizar erro varia de SGBD para SGBD 18
19 Trigger detalhes de implementação Chamada recursiva Ação de um trigger pode disparar outro Pode entrar em um laço infinito Interação com o teste de restrições de integridade pelo SGBD Quando testar se um trigger viola uma restrição: Após a execução de um BEFORE trigger O trigger pode consertar a violação Antes de um AFTER trigger AFTER triggers podem ver o efeito de por exemplo exclusões em cascata causadas por restirções de integridade referenciais (Baseado no DB2 cada produto tem sua política própria) 19
20 Segurança e controle de acesso A base de dados deve ser protegida contra acesso, intencional ou não, por usuários não autorizados. O controle de acesso envolve especificar ao SGBD que usuário pode realizar que tipo de operação sobre que objetos da base de dados. Além disso são necessários mecanismos de autorização, isto é, mecanismos para que o DBA delegue autorização a outros usuários para estabelecer privilégios de acesso Os mecanismos oferecidos por SGBD comerciais são normalmente fracos e não são suficientes para evitar acesso não autorizado intencional. 20
21 Criação de Usuários No Oracle o usuário DBA é o SYSTEM e a senha default é MANAGER. Para criar usuário utilize o seguinte comando: CREATE USER NOME_USUARIO IDENTIFIED BY SENHA_USUARIO; OBS: PODE SER UTILIZADO A FERRAMENTA ENTRERPISE CONSOLE OU DBA STUDIO DA ORCALE. 21
22 Segurança em SQL SQL possui uma instrução na forma: GRANT <lista de privilégios> ON <nome de tabela ou visão> TO <lista de usuários> A <lista de privilégios> permite especificar os seguintes tipos de privilégios: RESOURCE SELECT Especifica que o usuário pode criar tabelas e visões Especifica que o usuário pode ler os dados das tabelas ou visões listadas 22
23 Segurança em SQL (continuação) DELETE INSERT UPDATE Especifica que o usuário pode excluir linhas das tabelas ou visões listadas Especifica que o usuário pode incluir linhas das tabelas ou visões listadas Especifica que o usuário pode alterar linhas das tabelas ou visões listadas Este privilégio é atribuído a colunas específicas: GRANT UPDATE(saldo) ON depósito TO u1,u2 23
24 Segurança em SQL (continuação) REFERENCES Permite que um usuário crie tabelas que contém uma chave estrangeira de uma chave especificada. Também é atribuído a colunas específicas: GRANT REFERENCES(código) ON depto TO u1,u2 especifica que os usuários podem criar tabelas que referencia a chave primária da tabela de departamentos Por exclusão, um usuário não pode conceder os privilégios recebidos a outros usuários, a menos que possua autorização explícita para tal GRANT SELECT ON DEPT TO u1,u2 WITH GRANT OPTION A cláusula WITH GRANT OPTION especifica que o usuário pode também conceder seus privilégios a outros usuários 24
25 Segurança em SQL (continuação) Para revogar os direitos de acesso de um usuários é usada a instrução: REVOKE <lista de privilégios> ON <nome de tabela ou visão> FROM <lista de usuários> Quando um usuário perde um privilégio, todos os usuários que dele receberam este privilégio também o perdem. 25
26 AUDITORIA DE DADOS Para auditar informações em um banco de dados pode-se utilizar ferramentas de terceiros (como a própria auditoria fornecida por alguns SGBD) ou podemos construir a nossa própria auditoria. A seguir veremos 2 maneiras de construir auditoria de dados nos Banco de Dados utilizados pelas aplicações. 26
27 1- Auditoria sem informações históricas Esta é a maneira mais fácil e com melhor performance de termos auditoria de informações nos Banco de Dados, porém com esta implementação não teremos a história das atualizações realizadas. Para implementarmos esta auditoria criaremos alguns campos adicionais em todas as tabelas que queremos auditar no Banco de Dados. Os campos são: Data e Hora de inserção; Usuário que inseriu a informação; Data e Hora da última alteração; Usuário que alterou por último a informação; Data e hora de deleção; Usuário que deletou a informação; 27
28 1- Auditoria sem informações históricas (cont...) Exemplo: EMPREGADO CODEMP NOME SALARIO JOÃO MARIA PEDRO 1000, , ,00 Tabela empregado com colunas adicionais para auditoria CODEMP NOME SALARIO DT_INSERT USER_I DT_UPDATE USER_U DT_DEL USER_D JOÃO MARIA PEDRO 1000, , ,00 28
29 1- Auditoria sem informações históricas (cont...) EMPREGADO CODEMP NOME SALARIO DT_INSERT USER_I DT_UPDATE USER_U DT_DEL USER_D 1 JOÃO 1000,00 10/08/2004 PAULO 11:00 2 MARIA 2000,00 10/10/2004 JOSÉ 12/10/2004 PAULO 13:45 15:00 3 PEDRO 3000,00 15/10/2004 ELIZA 16/10/2004 JOSÉ 14:00 10:00 Com as colunas que acrescentamos na tabela empregado podemos descobrir que o usuário PAULO inseriu a informação do empregado João e alterou as informações do empregado Maria, também sabemos que o usuário JOSÉ inseriu as informações do empregado Maria e excluiu o empregado Pedro. Em todas estes informações sabemos a data e o horário que foi feito, porém não temos como saber quantas vezes já foram alterados os dados do empregado Maria, sabemos que o último que fez a alteração foi o usuário PAULO. Com estas colunas temos várias informações, porém não temos a história das atualizações realizadas. 29
30 2- Auditoria com informações históricas Esta é uma maneira de implementar auditoria com a história de todas as atualizações realizadas. Para implementarmos esta auditoria criaremos trigger em todas as tabelas que queremos auditar e uma tabela chamada AUDITORIA com os seguintes campos: Data e Hora; Operação (Insert, Delete ou Update); Usuário; Tabela; Dados; 30
31 2- Auditoria com informações históricas(cont...) Exemplo: EMPREGADO CODEMP NOME JOÃO MARIA PEDRO SALARIO 1000, , ,00 Tabela AUDITORIA TABELA EMPREGADO EMPREGADO EMPREGADO EMPREGADO EMPREGADO DATA 10/08/ :00 10/10/ :45 15/10/ :00 12/10/ :00 16/10/ :00 OPERACAO I I I U D USUARIO PAULO JOSÉ ELIZA PAULO JOSÉ DADOS (MEMO) (MEMO) (MEMO) (MEMO) (MEMO) Com a tabela AUDITORIA podemos descobrir que o usuário PAULO inseriu a informação do empregado João e alterou as informações do empregado Maria, também sabemos que o usuário JOSÉ inseriu as informações do empregado Maria e excluiu o empregado Pedro. Em todas estes informações sabemos a data e o horário que foi feito. Também teremos como saber quantas vezes já foram alterados os dados do empregado pois assim temos a história de todas as atualizações realizadas. 31
32 2- Implementação da auditoria com informações históricas(cont...) Criação da tabela AUDITORIA: CREATE TABLE AUDITORIA ( TABELA VARCHAR2(50) NOT NULL, DATA DATE NOT NULL, OPERACAO CHAR(1) NOT NULL, USUARIO VARCHAR2(50) NOT NULL, DADOS VARCHAR2(2000) NOT NULL); Criação da Trigger na tabela EMPREGADO: CREATE TRIGGER TRG_AUDIT_EMPREGADO AFTER DELETE OR INSERT OR UPDATE ON EMPREGADO FOR EACH ROW DECLARE DADOS VARCHAR2(2000); BEGIN IF DELETING THEN DADOS := 'CÓDIGO : ' :OLD.CODEMP NOME : ' :OLD.NOME SALÁRIO : ' :OLD.SALARIO; INSERT INTO AUDITORIA VALUES('EMPREGADO',SYSDATE,'D',USER,DADOS); END IF; IF INSERTING THEN DADOS := 'CÓDIGO : ' :NEW.CODEMP NOME : ' :NEW.NOME SALÁRIO : ' :NEW.SALARIO; INSERT INTO AUDITORIA VALUES('EMPREGADO',SYSDATE,'I',USER,DADOS); END IF; IF UPDATING THEN DADOS := 'CÓDIGO OLD: ' :OLD.CODEMP NOME OLD: ' :OLD.NOME SALÁRIO OLD: ' :OLD.SALARIO 'CÓDIGO NEW: ' :NEW.CODEMP NOME NEW: ' :NEW.NOME SALÁRIO NEW: ' :NEW.SALARIO; INSERT INTO AUDITORIA VALUES('EMPREGADO',SYSDATE,'U',USER,DADOS); END IF; END; 32
33 Referência Bibliográfica HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4ª Edição. Ed. Sagra, Capítulo: Restrições de Integridade. FERNANDES, Lúcia. Oracle 9i para desenvolvedores : Oracle developer 6i curso completo. Rio de Janeiro : Axcel Books, p. 33
Page 1. Restrição de Integridade. TRIGGER e SEGURANÇA. Restrições estáticas - Restrições dinâmicas. Tipos de regras em um SGBD
Restrição de Integridade TRIGGER e SEGURANÇA Restrição de integridade Uma regra que deve ser obedecida por todos estados da base de dados que são considerados consistentes. Especificação do maior número
Leia maisRestriçõ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 maisSubsistema 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 maisSubsistema 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 maisAvisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova
Ciência da Computação GBC043 Sistemas de Banco de Dados Programando com SQL s Avisos Vista da segunda prova Data: 03/06 das 13:40 às 15:00h Local: sala 1B137 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br
Leia maisProf. Josenildo Silva
BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva jcsilva@ifma.edu.br Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras
Leia maisPCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 20 Escola Politécnica da Universidade de São Paulo 1 PROCEDIMENTOS TRIGGER STORED PROCEDURE Regras de Negócio controladas pelo SGBD SGDB Relacional dispoõe
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Revisão de Arquitetura C/S BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo
Leia maisProgramando 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 maisACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratóriode Bases de Dados Aula10 SQL Oracle Asserçõese gatilhos Professora: Fátima L. S. Nunes REGRAS DE INTEGRIDADE (RI) garantem que mudanças feitas no BD não resultem em inconsistência de
Leia maisLinguagem 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 maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisA 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 maisSistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL
Sistemas de Informação e Bases de Dados 2012/2013 Restrições de Integridade em SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Captura e Tratamento das RIs
Leia maisFACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre o banco de dados. Especificar regras
Leia maisBANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS)
BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema
Leia maisSQL 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 maisS 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 maisLista 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 maisProva 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 maisAULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
Leia maisBanco 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 maisAtualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g
Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando
Leia maisTriggers(Gatilhos) Tiago Alves de Oliveira
Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos
Leia maisBANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE
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 maisBanco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.
Banco de Dados II PL/SQL - Procedures -Cursor - Funções Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa
Leia maisRestriçõ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 maisSQL 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 maisESTUDO DE CASO EM PL/SQL
ESTUDO DE CASO EM PL/SQL O sistema de pedidos da XDK Esportes. Vamos criar um pequeno sistema de pedidos para uma loja de esportes, vamos implementar as regras de um negócio utilizando a linguagem PL/SQL
Leia maisPROGRAMAÇÃ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 maisOracle PL/SQL Triggers
BDDAD Bases de Dados Oracle PL/SQL Triggers Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/39 Triggers Sumário Introdução Conceito de Trigger Tipos de Triggers Designações de um Trigger Triggers DML Características
Leia maisInstituto Federal de Educação, Ciência e Tecnologia de São Paulo
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Segurança em Sistemas de Banco de Dados César Alberto da Silva Presidente Epitácio, 18 de Setembro de 2013 Agenda Por que proteger os dados?
Leia maisBancos 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 maisCurso de Ciência da Computação
Curso de Ciência da Computação MATÉRIA: Banco de Dados II ASSUNTO: Triggers (Gatilhos ou automatismos) PROFESSOR: Ricardo Rodrigues Barcelar Objetivos: Apresentar a linguagem Structured Query Language
Leia maisCentro 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 maisManipulação de Dados com SQL
Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language
Leia maisAdministraçã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 maisBANCO 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 maisTabelas. 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 maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Funções e procedimentos Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção de
Leia maisRevisão de Bancos de Dados
Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)
Leia maisSQL 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 maisBD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.
BD II (SI 587) Segurança em Banco de Dados Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco
Leia maisPSI 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 mais26/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 maisModelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker
Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker Modelo Relacional Codd, E.F A relational model of data for large shared data banks. Communications of the ACM, 13(6):377-87, June
Leia maisSQL (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 maisBANCO 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 maisBanco 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 maisSistemas 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 maisNormalização: (Uma tabela muito Normalizada significa que ele é muito bem feita, e muito relacionado) 5FN (Somente 10% dos DBAs dos ADs conseguem ) A normalização de dados é uma série de passos que se
Leia maisMODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o
Leia maisSQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco 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
Leia maisBanco 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 maisIntegridade 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 maisTriggers 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 mais14/9/2009. Banco de Dados
Banco de Dados Fernando Fonseca & Ana Carolina Salgado Roteiro Analisar Minimundo Criar Esquema no SGBD Oracle Script criacaotabelas.sql em http://www.cin.ufpe.br/~fdfd/dinter/sql Inserir dados no banco
Leia maisRevisão Banco de Dados
Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens
Leia maisIMPLEMENTAÇÃ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 maisFESURV UNIVERSIDADE DE RIO VERDE FACULDADE DE CIÊNCIA DA COMPUTAÇÃO. Stored Procedures e Triggers
FESURV UNIVERSIDADE DE RIO VERDE FACULDADE DE CIÊNCIA DA COMPUTAÇÃO Stored Procedures e Triggers THIAGO BORGES DE OLIVEIRA Definição e implementação de stored procedures e triggers para SGBD's relacionais.
Leia maisTriggers 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 maisMYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>
1. Manuseio do banco de dados MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS As seguintes instruções manuseiam o banco de dados: cria o banco mostra os bancos
Leia maisf. 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 maisBANCO 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 maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
Leia maisedsoncs@gmail.com www.linkedin.com/in/edsonhu Agenda Banco de Dados Relacional Modelo Descritivo Modelo Conceitual Modelo Lógico Arquitetura Cliente/Servidor Componentes SQL Server Management Studio (SSMS)
Leia maisAULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL. Prof. Msc. Célio R. Castelano
AULA 01 Bancos de Dados Relacionais Arquitetura Linguagem SQL Componentes: DDL, DML, DCL Prof. Msc. Célio R. Castelano TÓPICOS Projeto de Bancos de Dados Relacionais Arquitetura Modelagem Conceitual Modelagem
Leia maisBases 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 maisBCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
Leia maisPreparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013
Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma
Leia maisMarcelo Henrique dos Santos
Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com BANCO DE DADOS MODELAGEM E IMPLEMENTAÇÃO
Leia maisUniao Educacional e Tecnologica Impacta- Uni Impacta
Controlando o Acesso do Usuário Objetivos Ao concluir esta lição, você será capaz de: Diferenciar privilégios de sistema de privilégios de objeto Conceder privilégios em tabelas Conceder funções Distinguir
Leia maisMaterial 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 maisMySql. Introdução a MySQL. Andréa Garcia Trindade
MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo
Leia maisA 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 maisDefiniçã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 maisIntrodução ao PostgreSQL
Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula
Leia maisTriggers em SQLite. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers em SQLite Fernando Lobo Base de Dados, Universidade do Algarve 1 / 15 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisAbordagem relacional. Capítulo 4
Abordagem relacional Capítulo 4 Abordagem Relacional Abordagem de modelagem de dados usada nos sistemas de gerência de banco de dados do tipo relacional. Modelagem em nível lógico (SGBD) e não conceitual.
Leia maisL Q S m e g a u g n Li A
A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado
Leia maisAula 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 maisPage 1. Prof. Constantino Jacob
Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create
Leia maisSumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010
Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)
Leia maisBanco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.
Banco de Dados II Transações (Oracle) Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de
Leia maisSQL Linguagem de Definição de Dados
SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais
Leia maisAula 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 maisTriggers. 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 maisUNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO FERRAMENTA DE APOIO AO MAPEAMENTO DE MODELO TEMPORAL DE DADOS PARA UM SGBD RELACIONAL ACADEMICO:MARCOS
Leia maisStored 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 maisRoteiro 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 maisRestriçõ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 Restrições ao Domínio As restrições de integridade impõem-se para garantir
Leia maisUNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton
Leia maisUma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.
Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,
Leia maisBANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>
BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:
Leia maisPHP 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 maisTriggers 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 maisDDL 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 maisAgenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais
Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas
Leia mais