O que é uma transação

Transação é um conjunto de operações para trabalhar com um banco de dados (DB), combinado em um pacote atômico.





(Presume-se que você saiba o que é um banco de dados. Mas, um pouco mais tarde, haverá um link para o artigo "o que é")





Os bancos de dados transacionais (bancos de dados que funcionam por meio de transações) atendem aos requisitos do ACID, que garantem a segurança dos dados. Incluindo dados financeiros =) Portanto, os desenvolvedores os escolhem.





Vou falar sobre o que é uma transação. Como abri-lo e como fechá-lo. E por que é importante fechar a transação. E então, ao escrever consultas no banco de dados, você terá uma compreensão consciente do que está acontecendo lá, nos bastidores, e por que você precisa desse commit obrigatório após a atualização.





Conteúdo

  • O que é uma transação





  • Como enviar uma transação





  • Como abrir uma transação





  • Como fechar uma transação





  • Total









O que é uma transação

Uma transação é um arquivo para consultas ao banco de dados. Ele protege seus dados em uma base de tudo ou nada.





Imagine que você decide enviar a um amigo 10 arquivos em um messenger. Quais são as opções:





  1. Jogue cada arquivo separadamente.





  2. Coloque-os no arquivo e envie o arquivo.









Parece que não há muita diferença. Mas e se algo der errado? A conexão cairá no meio, o servidor irá reiniciar ou simplesmente dará um erro ...





No primeiro caso, seu amigo receberá 9 arquivos, mas nenhum.





. . , . , . , « ».









, , ? ? ? , . ? , . , ! , , !









, :





— ?





— 10





— ? 9... , .









, . 100 2 ? « 1», « 2» , «hfdslafebx63542437457822nfhgeopjgrev0000444666589.xml» ... ! , .









! — . «, ». , , .





, . "" :









delete from 1 where = 1





insert into 2 values ('')









« » . , 1 , 2 ... ...









. 1!





-, — , . — , - . , « », , .





 





, . ( . connection, ). —  , .





, . :





  1. .





  2. .





  3. .









, . , .





, , . . . — , .









, . —  .





. (, ), , -.





 





. Oracle , . MySql «start transaction».





 





2 :





  1. COMMIT — ;





  2. ROLLBACK —  ;









, «», . , , .





, :





insert into clients (name, surname) values ('', '');
--        «»   «»
      
      







, ! , select , , — ! .









! , . sql developer ( , ) select — .









, , :





insert into clients (name, surname) values ('', '');
commit;
      
      







. . . sql developer, , .





, : « » , ! ? .









. , . , . :





= «»





= «»





...









. select count —  . 100 ! , . .





, - ! «» «», - . ... . rollback.









—  ROLLBACK? . , . . .





. :





, «»;





495 499;





....









, . select , . «, , ? , ». .









- . . 3 , . 10 — , . , ...









. !









— , .





, (, insert , ...).









, . . ( connection) — , . — , , .





, . . :





  1. COMMIT — ;





  2. ROLLBACK —  ;









, -, . . - . rollback, . ? - . , , .





() . — , (update, delete…) , commit /rollback — .









PS - para artigos mais úteis, olhe meu blog com a tag "útil" . E vídeos úteis estão no meu canal do youtube








All Articles