Banco de Dados - Transacoes (Database - Transactions)
-
Upload
diego-machado -
Category
Technology
-
view
98 -
download
25
Transcript of Banco de Dados - Transacoes (Database - Transactions)
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.