banco de dados - transacoes (database - transactions)

Post on 28-Jul-2015

98 Views

Category:

Technology

25 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Transações2014 - Diego Machado @ Sitionet

O que é ?

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

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.

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);

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();}

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.

top related