banco de dados - transacoes (database - transactions)

6
Transações 2014 - Diego Machado @ Sitionet

Upload: diego-machado

Post on 28-Jul-2015

98 views

Category:

Technology


25 download

TRANSCRIPT

Page 1: Banco de Dados - Transacoes (Database - Transactions)

Transações2014 - Diego Machado @ Sitionet

Page 2: Banco de Dados - Transacoes (Database - Transactions)

O que é ?

Sequência de operações, tratadas como um bloco único e indivisível.

Page 3: Banco de Dados - Transacoes (Database - Transactions)

Por que ?

Transferência bancária de fundos;

Débito na conta de origem dos recursos -> Crédito na conta de destino;

Se a primeira operação ocorrer com sucesso e a segunda falhar, o montante de dinheiro deixará de existir.

Page 4: Banco de Dados - Transacoes (Database - Transactions)

Vantagens ?

Prover isolamento entre acessos concorrentes na mesma massa de dados;

Operações agrupadas em transação única;

Unicidade de chaves primárias e compostas;

ACID (Atomicidade, Consistência, Isolamento e Durabilidade);

Page 5: Banco de Dados - Transacoes (Database - Transactions)

Como usar ?

$this->db->trans_begin();

$this->db->query('AN SQL QUERY...');

$this->db->query('ANOTHER QUERY...');

$this->db->query('AND YET ANOTHER QUERY...');

if ($this->db->trans_status() === FALSE){ $this->db->trans_rollback();} else { $this->db->trans_commit();}

Page 6: Banco de Dados - Transacoes (Database - Transactions)

Dúvidas ?

No MySQL, é necessário trabalhar com o mecanismo de armazenamento InnoDB ao invés do padrão MyISAM.

A grande maioria dos outros bancos de dados suportam transações nativamente.