DEV Community

Ortiz de Arcanjo António David
Ortiz de Arcanjo António David

Posted on

Transações (Base de Dados)

Transação é uma sequência de operações num sistema de gerência de banco de dados que são tratadas como um bloco único e atômico durante uma recuperação de falhas e também prover isolamento entre acessos concorrentes na mesma massa de dados.

Conceitos importantes

Transação: Sequência operações de uma sessão.
Sessão: Diálogo, comunicação ou conexão de uma aplicação com uma base de dados relacional.

A maioria dos SGBDs estão preparados para lidar com concorrência sobre uma BD. Eles permitem várias sessões simultâneas e independentes sobre uma BD. Nesses SGBDs várias sessões podem executar muitas operações sobre a BD.

As transações são usadas para as operações que alteram a base de dados, nomeadamente a inserção, actualização e exclusão de dados.

Propriedades desejáveis para uma transação (ACID)

  • Atomicidade: Tem efeito atómico. As suas operações ou completam todas num único momento logicamente “instantâneo” ou não têm qualquer efeito;
  • Consistência: Deixa o estado da BD num estado consistente, respeitando as restrições de integridade;
  • Isolamento: Não é afectada por transações concorrentes;
  • Durabilidde: O estado da BD resultante da transação é persistente após esta ter terminado. Alguns Exemplos de transações
  • Transferências Bancárias;
  • Movimentação de dados de um lugar para outro (inserir dados de uma tabela para outra);
  • Alteração de grandes quantidades de dados.

Factores que Afectam as transações

A realização de uma operação pode ser afectada por vários factores:

  • As ligações de Rede;
  • As falhas de Energia Eléctrica;
  • Problemas na máquina ou ambiente computacional (Memória, Disco e Processador).

Vantagens das Transações

  • Permitem lidar com processamentos pesados e críticos de maneira segura;
  • Recuperam as alterações se ocorrer uma exceção ou a lógica de negócios precisar desfazer mudanças de estado;
  • Para aplicar várias alterações como uma unidade atômica no momento commit;
  • Mantêm e liberam bloqueios em dados para aplicar múltiplas alterações como uma unidade atômica no momento da consolidação;
  • Protegem um encadeamento de alterações concorrentes;
  • Implementam um ciclo de vida para bloqueios em mudanças;
  • Produzem uma unidade atômica de replicação.

Exemplo

Criação de um procedimento para transferência entre 2 contas bancárias.
Cada conta é associada a um Cliente e um cliente pode possuir várias contas.
Linguagem: SQL
SGBD: MySQL

Transações
Image description

Execução de uma transação
Image description

Modelo lógico
Image description

Modelo físico
Image description

Procedimento para Transferir
Image description

Chamada do procedimento
Image description

API Trace View

How I Cut 22.3 Seconds Off an API Call with Sentry 🕒

Struggling with slow API calls? Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay