BD II - Transação
Transações
Banco de Dados II
Transações
Conceito de transação
Estado da transação
Execuções simultâneas
Seriação
Facilidade de recuperação
Implementação do isolamento
Definição de transação na SQL
Testando a seriação
Banco de Dados II
Conceito de transação
Uma transação é uma unidade da execução de programa que acessa e
possivelmente atualiza vários itens de dados.
Uma transação precisa ver um banco de dados consistente.
Durante a execução da transação, o banco de dados pode ser
temporariamente inconsistente.
Quando a transação é completada com sucesso (é confirmada), o banco de
dados precisa ser consistente.
Após a confirmação da transação, as mudanças que ele faz no banco de
dados persistem, mesmo se houver falhas de sistema.
Várias transações podem ser executadas em paralelo.
Dois problemas principais para resolver:
Falhas de vários tipos, como falhas de hardware e quedas de sistema
Execução concorrente de múltiplas transações
Banco de Dados II
Propriedades ACID
Uma transação é unidade da execução do programa que acessa e
possivelmente atualiza vários itens de dados
Para preservar a integridade dos dados, o banco deve assegurar:
Atomicidade. Ou todas as operações da transação são refletidas corretamente no
banco de dados ou nenhuma delas é.
Consistência. A execução de uma transação isolada preserva a consistência do
banco de dados.
Isolamento. Embora várias transações possam ser executadas simultaneamente,
cada transação precisa estar desinformada das outras transações que estão sendo executadas ao mesmo tempo. Os resultados da transação intermediária precisam estar ocultos das outras transações sendo executadas simultaneamente.
Ou seja, para cada par de transações, Ti e Tj, parece para Ti que Tj, terminou
a execução antes que Ti começasse ou Tj iniciou a execução depois que Ti terminou. Durabilidade. Depois que uma