Transações
2014 - 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 pr...
Vantagens ?
Prover isolamento entre acessos concorrentes
na mesma massa de dados;
Operações agrupadas em transação única;
...
Como usar ?
$this->db->trans_begin();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db...
Dúvidas ?
No MySQL, é necessário trabalhar com o
mecanismo de armazenamento InnoDB ao
invés do padrão MyISAM.
A grande mai...
Próximos SlideShares
Carregando em…5
×

Banco de Dados - Transacoes (Database - Transactions)

260 visualizações

Publicada em

O exemplo de implementação usa o CodeIgniter.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
260
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Banco de Dados - Transacoes (Database - Transactions)

  1. 1. Transações 2014 - Diego Machado @ Sitionet
  2. 2. O que é ? Sequência de operações, tratadas como um bloco único e indivisível.
  3. 3. 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.
  4. 4. 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);
  5. 5. 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(); }
  6. 6. 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.

×