Mostrando postagens com marcador Transação. Mostrar todas as postagens
Mostrando postagens com marcador Transação. Mostrar todas as postagens

segunda-feira, setembro 08, 2008

Transação - BD

1) Conceito de Transação

Sendo o propósito de um SGBD servir de intermediário entre o nível da aplicação e o banco de dados, torna-se esta responsável por manipular diretamente os dados e garantir a sua validade.

As operações sobre o banco de dados só fazem sentido se forem executadas como um todo, pois só assim é possível validar o resultado.

Surge assim o conceito de transação pois todas as tarefas de gestão de banco de dados vivem à custa deste conceito.

2) Propriedades ACID

Tranasação é um conjunto bem definido de operações sobre o Banco de Dados, com as seguintes características:

  • Atomicidade
    • Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação. Ex: Ou todo o trabalho é feito, ou nada é feito. As operações que constituem uma transação formam um conjunto indivisível (atómico):

      • Ou terminam com sucesso - COMMIT

      • Ou são todas desfeitas - ROLLBACK

  • Consistência - caso envolva atualização de dados, uma transação deverá levar o Banco de Dados de um estado consistente para outro estado consistente. Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados.
  • Isolamento - se várias transações ocorrerem em simultâneo, não devem as mesmas interferir entre si, tendo cada uma a ilusão de ser a única a ser executada. Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transação executada concorrentemente a outra deve ser o mesmo que o de sua execução de forma isolada. Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários.
  • Durabilidade (Persistência) - todos os efeitos de uma transação bem sucedida tornam-se persistentes e visíveis para as outras transacções. Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas.

image

Banco de Dados - Características Básicas

Um Banco de Dados apresenta uma série de características básicas ou fundamentais:


image

1) ESTRUTURA (ESQUEMA/INTENÇÃO)

A estrutura de um banco de dados corresponde a estrutura dos elementos do Mini-Mundo para o qual ele foi construído. Quando pensamos na estrutura do BD nos abstraímos do seu conteúdo, intância, extensão ou estado, como na figura abaixo.

image

Especificamente em um BD, sua estrutura é composta por seus arquivos (tabelas num BDR) e as respectivas estruturas - campos (colunas/atributos num BDR) e dos relacionamentos entre esses arquivos (tabelas num BDR).

image

3) ESTADO (CONTEÚDO, INSTÂNCIA, EXTENSÃO)

O estado de um BD corresponde ao conjunto de dados armazenados no banco de dados num determinado momento do tempo.

O estado de um banco de dados obedece a sua estrutura.

UM BD pode possuir um estado inicial vazio, em outras palavras, não contém dados armazenados, conforme a figura abaixo.

image

Ao longo do tempo, a medida em que o Mini-Mundo correspondente ao BD evoluir (mudar de estado) em função dos eventos (fatos, interações) nele ocorridos. O estado do BD deverá evoluir.

image

image

2) COMPORTAMENTO

O comportamento do banco de dados corresponde ao comportamento dos elementos do Mini-Mundo correspondente.

image

Especificamente em um BD, seu comportamento é uma abstração das mudanças de estado que ele sofre ao longo do tempo. Em outras palavras as mudanças de estado de um BD definem o seu comportamento.

image

4) TRASAÇÃO (MUDANÇA DE ESTADO/COMPORTAMENTO)

Mudanças de estado em um banco de dados são efetuadas por transações. Uma transação é um conjunto de operações que levam o banco de dados de um estado consistente a outro estado consistente. Mudanças de estado de um banco de dados representam o comportamento desse banco de dados.

image

5) CONSISTÊNCIA

Cada estado do banco de dados deve representar/corresponder/modelar precisamente o estado do Mini-Mundo correspondente.

image

6) PERSITÊNCIA

Capacidade dos dados que representam o estado do BD continuarem a existir após o término da execução das transações que ocasionam as mudanças de estado.

image
7) Quadro resumo das características básicas de um Banco de Dados

image