Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
# Banco de Dados II #
Aula 11 – GERENCIAMENTO DE TRANSAÇÃO
(Fundamentos e Características)
Prof. Leinylson Fontinele Perei...
Naaulaanterior...
 LINGUAGEM DE CONSULTA SQL
# SQL Avançada
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO...
Introdução
22:44 3 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
O que vamosaprender?
 GERENCIAMENTO DE TRANSAÇÃO
# Fundamentos
# Características
22:44 Banco de Dados II: Aula 11 – GEREN...
Vamos começar?
22:44 5 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
O que são Transações?
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
O que sãoTransações?
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 São s...
O que sãoTransações?
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 SGBD
...
O que sãoTransações?
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 Uma t...
Estadosde umaTransação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 Uma...
Transiçãode Estadosde uma Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracterí...
Transiçãode Estadosde uma Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracterí...
Transiçãode Estadosde uma Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracterí...
Transiçãode Estadosde uma Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracterí...
Transiçãode Estadosde uma Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracterí...
Transiçãode Estadosde uma Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracterí...
Transações
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Rollback
Commit
L...
TransactionsBehavior
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 Todas...
Exemplosde Transactions
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
O que é Transação?
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Exemplode Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 Suponh...
Propriedadesde umaTransação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
...
Atomicidade
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Princípio do “T...
Consistência
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 Uma transação...
Consistência
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
O Banco de dad...
Isolamento
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Múltiplas transa...
Isolamento
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
No contexto de u...
Isolamento
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Durabilidade
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Se uma transaç...
Transaçõesem SQL
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Por defaul...
PrincipaisComandos
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
PrincipaisComandos
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
PrincipaisComandos
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
PrincipaisComandos
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Transaçõesem SQL
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
 Principai...
Exemplosimplesde umatransação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Exemplosimplesde umatransação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características...
Exemplo- IsolationLevelSerializable;
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Caracter...
Exemplode Rollback;
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Exemplode Rollback;
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
ExemploCompletode Transação
22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
Material:https://sites.google.com/site/leinylsonuespi
22:44
Aula baseadano material de
 TRANSAÇÕES,Wagner Bianchi
Banco d...
Nestaaulaaprendemos...
 GERENCIAMENTO DE TRANSAÇÃO
# Fundamentos
# Características
22:44 Banco de Dados II: Aula 11 – GER...
Napróximaaulaveremos...
 GERENCIAMENTO DE TRANSAÇÃO
# Controle de Concorrência
22:44 Banco de Dados II: Aula 11 – GERENCI...
AlgumaDúvida?
22:44
Até a próxima aula...
leinylson@gmail.com
Nächste SlideShare
Wird geladen in …5
×

Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamentos e caraterísticas)

Slides da aula de Banco de Dados II

  • Als Erste(r) kommentieren

Banco de Dados II Aula 11 - Gerenciamento de transação (transações - fundamentos e caraterísticas)

  1. 1. # Banco de Dados II # Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Prof. Leinylson Fontinele Pereira
  2. 2. Naaulaanterior...  LINGUAGEM DE CONSULTA SQL # SQL Avançada 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  3. 3. Introdução 22:44 3 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  4. 4. O que vamosaprender?  GERENCIAMENTO DE TRANSAÇÃO # Fundamentos # Características 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  5. 5. Vamos começar? 22:44 5 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  6. 6. O que são Transações? 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  7. 7. O que sãoTransações? 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  São sequência de Ações (Operações de Banco de Dados) que são executadas como “um conjunto”: # Ou todas são executas com sucesso ou Nenhuma delas  Exemplo # Um banco transfere dinheiro entre duas contas (saque + depósito) # Se qualquer umadas operações falhar, a transferência será cancelada
  8. 8. O que sãoTransações? 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  SGBD # Sistema de processamento de operações de acesso ao BD  SGBDs são em geral multi-usuários # Processam simultaneamente operações disparadas por vários usuários • Deseja-se alta disponibilidade e tempo de resposta pequeno # Execução intercalada de conjuntos de operações • Enquanto um processo i faz I/O, outro processo j é selecionado para execução
  9. 9. O que sãoTransações? 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  Uma transação pode ser encarada como um conjunto de operações de leitura e escrita de dados
  10. 10. Estadosde umaTransação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  Uma transação é sempre monitorada pelo SGBD quanto ao seu estado # Que operações já fez? concluiu suas operações? deve abortar?  Estados de uma transação # Ativa, Em processo de efetivação, Efetivada, Em processo de aborto, Concluída
  11. 11. Transiçãode Estadosde uma Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  12. 12. Transiçãode Estadosde uma Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  13. 13. Transiçãode Estadosde uma Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  14. 14. Transiçãode Estadosde uma Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  15. 15. Transiçãode Estadosde uma Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  16. 16. Transiçãode Estadosde uma Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  17. 17. Transações 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Rollback Commit Leitura Gravação GravaçãoSituação Inicial (Durável) Situação Final Durável e consistente Coleção de leituras e gravações
  18. 18. TransactionsBehavior 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  Todas as modificações da transação são “temporárias”  Modificações serão “persistidas” apenas após o Commit  A qualquer momento (antes do commit) as modificações podem ser canceladas através de um Rollback
  19. 19. Exemplosde Transactions 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  20. 20. O que é Transação? 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  21. 21. Exemplode Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  Suponha que se deseje transferir $100.00 da conta da Alice para a conta do Bob. Simplificando ao extremo, os comandos SQL para esta operação seriam:
  22. 22. Propriedadesde umaTransação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Requisitos que sempre devem ser atendidos por uma transação Chamadas de propriedadesACID Atomicidade Consistência Isolamento Durabilidade
  23. 23. Atomicidade 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Princípio do “Tudoou Nada” # ou todas as operações da transação são efetivadas com sucesso no BD # ou nenhuma delas se efetiva Responsabilidade do subsistema de recuperação contra falhas (subsistema de recovery) do SGBD # desfazer asações de transações parcialmente executadas
  24. 24. Consistência 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  Uma transação sempre conduz o BD de um estado consistenteparaoutroestadotambémconsistente  Sem necessariamente preservar o estado de consistência em todos os pontos intermediários
  25. 25. Consistência 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) O Banco de dados está consitente (íntegro) antes e depois da transação Apenas dados válidos foram gravados A Transação não pode quebrar regras de integridade e respeita: # Chaves primárias, estrangeiras e únicas
  26. 26. Isolamento 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Múltiplas transações simultâneas não afetam umas as outras Transações não enxergam dados não COMMITADOS. O Nível de isolamento define o quanto uma transação “enxerga” alteraçõesdas outras # Read committed, read uncommitted, repeatable read, serializable, etc.
  27. 27. Isolamento 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) No contexto de um conjunto de transações concorrentes, a execução de uma transação # Tx devefuncionarcomose Tx executassede formaisolada • Tx não deve sofrer interferências de outras transações executando concorrentemente Responsabilidade do subsistema de controle de concorrência (scheduler) do SGBD # Garantir escalonamentos sem interferências
  28. 28. Isolamento 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  29. 29. Durabilidade 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Se uma transação é confirmada (COMMIT) ela será persistente # Não pode ser perdida nem desfeita Garantida através de LOGS de TRANSAÇÂO e Backup Exemplo # Ápós concluida a transferência, a energia falha # Ao retornar, os dados continuam íntegros e registrados conforme o momento imediatamente anterior à falha
  30. 30. Transaçõesem SQL 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características) Por default, todo comando individual é considerado uma transação # exemplo: DELETE FROM Pacientes • exclui todas ou não exclui nenhuma tupla de pacientes, deve manter o BD consistente, etc SQL Padrão (SQL-92) # SET TRANSACTION • inicia e configura características de uma transação # COMMIT [WORK] • encerra a transação (solicita efetivação das suas ações) # ROLLBACK [WORK] • solicita que as ações da transação sejam desfeitas
  31. 31. PrincipaisComandos 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  32. 32. PrincipaisComandos 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  33. 33. PrincipaisComandos 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  34. 34. PrincipaisComandos 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  35. 35. Transaçõesem SQL 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  Principais configurações (Set Transaction) # modo de acesso • READ (somente leitura), WRITE (somente atualização) ou READ WRITE (ambos - default) # nível de isolamento • indicado pela cláusula ISOLATION LEVEL nível • nível para uma transação Ti pode assumir – SERIALIZABLE (Ti executa com completo isolamento - default) – REPEATABLE READ (Ti só lê dados efetivados e outras transações não podem escrever em dados lidos por Ti) – pode ocorrerque Ti só consiga ler alguns dados que deseja – READ COMMITTED (Ti só lê dados efetivados, mas outras transações podem escrever em dados lidos por Ti) – READ UNCOMMITTED (Ti pode ler dados que ainda não sofreram efetivação)
  36. 36. Exemplosimplesde umatransação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  37. 37. Exemplosimplesde umatransação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)  StartTransaction(ou BEGIN):Inicia explicitamente uma nova transação, mantendo ela aberta até que seja fechada (concluida) por um COMMIT ou ROLLBACK.  SavePoint:Um ponto delimitado na transação, que oferece a possibilidadede um rollback de qualquer comando executado após este ponto salvo.  **Cuidado: Ao efetuar um novo savepoint com o mesmo nome, o antigo será sobreescritopelo novo criado.  Rollbackto savepoint:Efetua o rollback da transação até o ponto criado. Este ponto continuará a existir mesmo após o rollback, permitindo que ele seja reutilizado.  Rollback:Cancela todas as alterações efetuadas na transação.  Commit:Torma permanente as alterações tratadas na transação ao banco de dados.
  38. 38. Exemplo- IsolationLevelSerializable; 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  39. 39. Exemplode Rollback; 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  40. 40. Exemplode Rollback; 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  41. 41. ExemploCompletode Transação 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  42. 42. Material:https://sites.google.com/site/leinylsonuespi 22:44 Aula baseadano material de  TRANSAÇÕES,Wagner Bianchi Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  43. 43. Nestaaulaaprendemos...  GERENCIAMENTO DE TRANSAÇÃO # Fundamentos # Características 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  44. 44. Napróximaaulaveremos...  GERENCIAMENTO DE TRANSAÇÃO # Controle de Concorrência 22:44 Banco de Dados II: Aula 11 – GERENCIAMENTO DE TRANSAÇÃO (Fundamentos e Características)
  45. 45. AlgumaDúvida? 22:44 Até a próxima aula... leinylson@gmail.com

×