01/08/2011 Professor Leomir J. Borba- –http://professorleomir

Slides:



Advertisements
Apresentações semelhantes
01/08/2011 Professor Leomir J. Borba- –
Advertisements

FABAN- UNIESP 2009 Prof. Carlos Alberto Seixas
09/05/2011 Professor Leomir J. Borba- –
Checkpoint SGBD com alta demanda de transações Checkpoint
CONTROLE DE CONCORRÊNCIA
Introdução Gdes. bancos de dados: Concorrência: Transação:
Controle de Concorrência Serializabilidade
Triggers Renata Viegas.
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
BANCO DE DADOS EM APLICATIVOS WEB Aula 13
BANCO DE DADOS EM APLICATIVOS WEB Aula 14
BANCO DE DADOS EM APLICATIVOS WEB Aula 15
15/1/2014 Professor Leomir J. Borba- – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
03/08/2011 Professor Leomir J. Borba- –
Banco de Dados SQL TRIGGERS (Gatilhos)
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Sistemas de Informação Redes de Computadores
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Maurício Edgar Stivanello
Motor de Armazenamento
Sistema Gerenciador de Banco de Dados SGBD
Restrições de Integridade
Sumário 1 SQL Embutida 2 Processamento de Consultas
Fundamentals of Database Processing
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Bancos de Dados I Renata Viegas
RECUPERAÇÃO APÓS FALHA
Gerenciamento de Transações - Introdução
Banco de Dados II Prof. Antônio Cordeiro.
Conceitos de Banco de Dados
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Prof. Alessandro Gonçalves
Transações Prof: Galina
Sistemas de Informação Prof. Carlos Alberto Seixas Banco de Dados II /01 UNIESP
Controle Distribuído da Concorrência
Introdução a Banco de dados
Exercícios SGBD - CESPE
Controle de concorrência
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Semana /02/2013 Professor Leomir J. Borba- –
Modelagem de Dados Aula 3
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Aula /08/2011 Professor Leomir J. Borba- –
Controle de Concorrência Locks. Conceito de Transação Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho.
Projeto de Banco de Dados Profa. Ceça
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Bancos de Dados Estrutura e Funcionamento de um SGBD
Banco de Dados I Objetivo:
Teste.
1 15/4/ :36 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Prof. Alessandro Gonçalves
Controle de Concorrência
DELETE, UPDATE, COMMIT, ROLLBACK
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Engenharia de Controle e Automação Computação Para Engenharia Semana /02/2013 Professor Leomir J. Borba- –
Fundamento de Banco de Dados
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Transcrição da apresentação:

TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula 11 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com

Agenda Linguagem SQL Consultas interativas –continuação Transações em banco de Dados Exercícios. Bibliografia 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com

Linguagem SQL Consultas interativas –continuação Especificando Restrições como asserções e ações como triggers – CREATE ASSERTION E CREATE TRIGGER CREATE ASSSERTION – Asserção declarativa usada para especificar restrições adicionais fora do escopo de restrições embutidas (Chave Primária e única, integridade de entidade e integridade referencial) Ex.: Salario de funcionario não pode Ser maior que salario do gerente do Departamento onde trabalha. Pode ser usada, alterada ou excluída Mais tarde através do nome Principal diferença enrte create asssertion e restrições de dominio é que a clasula check sobre dominios tuplas e atributos sao verificadas no SQL somente qdo tuplas sao inseridas ou atualizadas, Ou seja se for aplicado em um bd que ja tenha dados nao verificara tuplas ja criadas. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com

Linguagem SQL Consultas interativas –continuação Especificando Restrições como asserções e ações como triggers – CREATE ASSERTION E CREATE TRIGGER CREATE TRIGGER - Especifica ação a ser tomada em ocorrência de eventos e condições específicos Ex. de ações, envio de mensagens pelo SGBD, executar stored procedures ou disparar atualizações. Ex. de eventos, em geral operações de atualizações ao banco de dados. Ex.: Verificar se salário de funcionário > salário de supervisor e informar o supervisor Pag 88 navathe. Veremos somente o conceito e aprofundaremos mais adiante; por enquanto ter em conta que para cobrir todos os scenarios possiveis de uma condição mais de um triger pode ser necessario. Os eventos sao especificados apos a clausula Before, significa que o triger sera executado antes que a operação de disparo seja executada, uma opção é usar a clausula AFTER para que o riger seja executado apenas apos conclusao depois da operação de disparo 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com

Transações em banco de Dados Introdução ao processamentos de transações Transação é uma unidade lógica de trabalho envolvendo um conjunto de operações (Insert, Update, Delete, etc.) que levará o banco de dados de um estado consistente para outro estado consistente, mesmo que durante os passos intermediarios o sistema permanceça temporariamente inconsistente. Usuario deve ser capaz de determinar quando começa uma transação (Begin transaction), quando a transação deve ser executada (Commit), revertida (Rolback) e quando termina (end transaction). Ou seja seus limites. Transações podem estar embutidas em um programa de aplicação ou especificadas interativamente por linguagem de alto nivel como SQL. Uma transação pode ser : Somente de leitura – Não atualiza o banco de dados Leitura e gração - - Atualiza banco de dados. Não é peculiar a sistemas relacionais mas necessario para futuros estudos. (Date, p. 64) 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 5 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 5

Transações em banco de Dados No modelo de banco de dados utilizado para conceituar transações, o tamanho do item de dados (granularidade) pode ser um bloco de disco inteiro, um registro ou um atributo. Exemplo de transação de banco de dados no dia a dia Digamos que nossa agência tenha dois correntistas, A e B e, em um belo dia, A resolve fazer uma transferência de R$ 50,00 para B . Essa transação será feita pela Internet , por meio de um sistema de internet banking , então, A acessará a sua conta e completará a operação. Do lado servidor, o banco de dados recebe o valor e a conta de destino, tal valor é subtraído da conta de origem e adicionado na conta de destino. Nesse momento, há uma conferência por parte do SGBD – tudo correu bem , então a transação é finalizada com sucesso. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 6 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 6

Transações em banco de Dados Importância das Transações. Funcionam como um mecanismo que garante que toda transação iniciada termina com sucesso ou é desfeita Transações de diferentes usuários que envolvem dados compartilhados são executadas em seqüência Transações controlam melhor a concorrência de operações e a reconstrução dos dados em caso de falha. Proriedades ACID Para ser considerada uma transação deve ter as 4 propriedades ACID: Atomicidade Consistencia Isolamento Durabilidade 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 7 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 7

Transações em banco de Dados Atomicidade - Uma transação deve ser uma unidade atômica de trabalho: ou todas as suas modificações de dados são executadas ou nenhuma delas é executada, Ex. Atualização de diversas tabelas com dependencias. Consistencia - A execução de uma transação deve levar ao banco de dados de um estado consistente a outro também consistente, ou seja, quando concluída, uma transação deve deixar todos os dados em um estado consistente. Uma transação é consistente se não violar a integridade do banco de dados mesmo se falhar. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 8 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 8

Transações em banco de Dados Isolamento - Uma transação não deve tornar suas atualizações visíveis a outras transações antes do seu fim, ou seja, modificações feitas por transações simultâneas devem ser isoladas das modificações feitas por qualquer outra transação simultânea. Ex. Consulta de saldo durante atualização de CC so deve restornar o saldo após atualização. Durabilidade - Depois que uma transação tiver sido concluída, seus efeitos ficam permanentemente no sistema, ou seja, após o término de uma transação, suas atualizações não podem ser perdidas por causa de falhas futuras. As modificações persistem até mesmo no caso de uma queda do sistema. Se todas as ações forem realizadas com sucesso, não significa que houve sucesso na transação, pois ela precisa gravar os dados de volta ao disco. Em caso de falha no disco, a transação não é válida, por isso antes de ser completada transação deve verificar se alterações foram gravadas. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 9 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 9

Transações em banco de Dados Estados de uma transação - Os estados de uma transação podem ser: ativa, em processo de efetivação,efetivada, em processo de aborto e concluída.Uma transação pode se encontrar em diferentes estados. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 10 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 10

Transações em banco de Dados Ativa - É o estado inicial de toda transação selecionada para execução.Ela permanece nesse estado enquanto estiver em execução Efetivação - Entra nesse estado após executar sua última operação (solicitação de COMMIT). Neste momento, o SGBD precisagarantir que as suas atualizações sejam efetivadas com sucesso (não sofram falhas). Processo de aborto - Entra nesse estado se não puder prosseguir sua execução. Pode ainda passar para esse estado enquanto ativa ou em processo de efetivação. Suas ações já realizadas devem ser desfeitas (ROLLBACK) 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 11 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 11

Transações em banco de Dados Concluída - estado final de uma transação, ele indica uma transação que deixa o sistema. As informações das transações mantidas em catálogo e podem ser excluídas (operações feitas, dados manipulados, buffers utilizados, entre outros). Caso a transação não tenha sido concluída com sucesso, ela pode ser reiniciada automaticamente. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 12 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 12

Transações em banco de Dados Exercicios : A partir do exposto na aula, como você define transação? Leia e analise atentamente as seguintes afirmativas sobre as propriedadesde uma transação O princípio de atomicidade é o princípio de tudo ou nada, ou seja, ou todas as operações são efetivadas com sucesso em um banco de dados ou nenhuma delas se efetiva. Isso é realizado para preservar a integri-dade do banco de dados A propriedade de isolamento define que cada transação deve ser isolada dos efeitos da execução concorrente de outras transações A propriedade que define que toda transação que for finalizada de forma bem-sucedida deve persistir seus resultados em banco mesmo na presença de falhas no sistema é a propriedade de consistência. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 13 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 13

Transações em banco de Dados Exercicios : Assinale a alternativa correta. Somente a afirmativa I está incorreta. Somente as afirmativas I e II estão corretas. Somente as afirmativas II e III estão incorretas. Todas as afirmativas estão corretas. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 14 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 14

Transações em banco de Dados Leia atentamente as afirmativas a seguir sobre os estados de uma transação Ativo é o estado inicial da transação. Ela permanece nesse estado enquanto estiver em execução Concluída é o estado em que o SGBD confirma que todas as modificações da transação estão garantidas no banco de dados Efetivada é o estado final de uma transação, ele indica uma transação que deixa o sistema. Caso a transação não tenha sido concluída com sucesso, ela pode ser reiniciada automaticamente. O estado processo de aborto é o estado em que a transação não pode prosseguir sua execução. Assinale a alternativa correta. As afirmativas II e III estão incorretas. As afirmativas I e III estão incorretas. Somente a afirmativa IV está correta. As afirmativas I e IV estão incorretas Respostas mat ref A 3 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 15 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com 15

Bibliografia BIBLIOGRAFIA BÁSICA 1 DATE, C.J. Introdução a Sistemas de Bancos de Dados. 8ª Ed. Rio de Janeiro: Campus, 2004. 2 NAVATHE, S. B.; ELMASRI, R. E. Sistemas de Banco de Dados, 4ª edição, Editora Pearson Addison Wesley, 2005. 3 SETZER, V. W., SILVA, F.S.C. Banco de Dados. 1ª Ed. São Paulo: Edgard Blucher, 2005. BIBLIOGRAFIA COMPLEMENTAR 4 COUGO, P. Modelagem Conceitual e Projeto de Banco de Dados, Editora Campus. 5 KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S., Sistemas de Banco de Dados, Editora Makron Books, 1999. 6 MACHADO, Felipe Nery Rodrigues: Análise Relacional de Sistemas; São Paulo: Editora Érica, 2001. 7 SETZER, V.W., NASSU, E.A. Banco de Dados Orientados a Objetos. São Paulo: Ed. Edgard Blucher, 1999. 01/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http:professorleomir.wordpress.com