Tecnologia da Informação EmÁudio: Transações e Suas Propriedades
Bom dia! Boa tarde! Boa noite!
Tudo bem? Espero que sim. Neste, em áudio, turma, nós vamos bater um papo sobre as transações e suas propriedades. Tá legal? Tá preparado aí? Aumenta o som então e vamos juntos.
Meu caro, minha cara, as operações que incluem um ou mais acessos ao banco de dados, seja para ler ou para escrever dados, são conhecidas como transações. Assim, toda a ação que um usuário ou programa de aplicação irá realizar para interagir com o banco de dados irá envolver uma ou mais transações.
Uma transação pode ser tanto simples como aquela que envolve somente a leitura de um dado pontual dentro do banco de dados como complexa, envolvendo dezenas de operações de leitura e escrita e cálculos complexos entre elas.
Turma, essas transações podem ser executadas de forma breve ou demorada, tá? Tudo vai depender de sua complexidade e de outros vários fatores relativos à configuração e utilização do SGBD. Além disso, é importante notar que usuários e programas de aplicação diferentes podem enviar comandos para a execução de transações de forma simultânea, que consultem ou modifiquem os mesmos dados.
Esses fatores podem trazer alguns problemas e anomalias que devem ser evitados nos bancos de dados. Os SGBD's tradicionais costumam garantir um conjunto de propriedades para evitar problemas advindos dessas e de outras situações. Essas propriedades são conhecidas no acrônimo A C e D. Um conjunto de quatro propriedades relativas às transações. A de Atomicidade, C de consistência, I de isolamento e D de durabilidade. Calma, não precisa se desesperar não. Vou falar sobre cada uma delas. Tá legal?
A atomicidade está relacionada ao conceito de átomos aqueles que estudamos nas matérias de química e física. Isso mesmo. Mais especificamente ela está relacionada a característica de que os átomos são indivisíveis. Lembra? E, portanto, as transações também devem ser.
Ou seja, turma, não é possível tomar uma transação, dividi-la em duas ou três partes, executar em momentos diferentes e dizer que a transação foi realizada. Não é assim que funciona, tá? Isso implica dizer que caso haja uma falha qualquer no meio da execução de uma transação que faz diversas operações sobre o banco de dados, o que já havia sido feito até o momento do erro deve ser revertido. Ou seja, podemos resumir que os resultados parciais da transação não devem ser gravados no banco de dados.
Uma transação, pessoal, deve ser executada por completo ou não produzirá efeitos no banco de dados. Fechado? Isso é importante porque as transações são definidas pelo desenvolvedor para serem executadas do começo ao fim. O produto intermediário, quando somente alguns passos foram seguidos, não seria um resultado desejado e, portanto, não deve produzir efeitos no banco de dados. Deu para pegar? Muito bem.
Quanto à propriedade da consistência, as transações devem levar um banco de dados de um Estado consistente a outro estado consistente. Isso quer dizer que as alterações produzidas pelas transações não podem produzir efeitos que violem as restrições definidas para o banco de dados.
Aí, para exemplificar tudo isso, imagine que foi definida uma regra que determina que o C... Ler mais