Transações Lógicas em Bancos de Dados

Classificado em Computação

Escrito em em português com um tamanho de 2,36 KB.

Transação Lógica de Atualização

Os resultados de comandos de atualização de dados (insert, update, delete) não são imediatamente confirmados no banco de dados. Eles ficam pendentes até que ocorra uma confirmação ou um cancelamento.

Um conjunto de comandos de atualização que são tratados como um bloco, confirmados ou cancelados em conjunto, constitui uma Transação Lógica. A transação tem início com o primeiro comando de atualização e é encerrada com um comando de confirmação ou cancelamento.

Enquanto um conjunto de atualizações feitas por um usuário estiver pendente, somente o usuário que as realizou terá acesso aos dados modificados. Outros usuários terão acesso somente para leitura (select) e verão os dados originais, não modificados. Outros usuários que tentarem atualizar esses mesmos dados entrarão em estado de espera, aguardando a confirmação ou o cancelamento das atualizações pelo primeiro usuário.

Estado de Estabilidade

O Banco de Dados está em um Estado de Estabilidade se não existe nenhum comando de atualização de dados em andamento ou pendente de confirmação.

Em um Estado de Estabilidade, todos os dados do banco de dados estão disponíveis da mesma forma para todos os usuários.

Confirmação (COMMIT)

Encerra uma Transação Lógica de Atualização, efetivando no banco de dados todas as atualizações do usuário que estão pendentes, deixando o banco de dados em um estado de estabilidade.

Cancelamento (ROLLBACK)

Encerra uma Transação Lógica de Atualização, desfazendo todas as atualizações pendentes e voltando o banco de dados ao estado de estabilidade em que estava antes do início dos comandos de atualização.

Características de uma Transação Lógica de Atualização

Atomicidade

O conjunto de comandos de atualização é tratado como um único comando. Se a transação terminar com confirmação (commit), todos os comandos da transação são confirmados simultaneamente. Se a transação terminar com cancelamento ou não terminar por ocorrência de problema no gerenciador de banco de dados, todos os comandos da transação são cancelados simultaneamente.

Consistência

Cada transação se inicia com o banco de dados em um estado de estabilidade ou consistência e se encerra no mesmo estado.

Entradas relacionadas: