Qué es una transacción

La transacción es un conjunto de operaciones para trabajar con una base de datos (DB), combinadas en un paquete atómico.





(Se asume que sabe qué es una base de datos. Pero un poco más adelante habrá un enlace al artículo "qué es")





Las bases de datos transaccionales (bases de datos que funcionan a través de transacciones) cumplen con los requisitos de ACID, que garantizan la seguridad de los datos. Incluyendo datos financieros =) Por lo tanto, los desarrolladores los eligen.





Hablaré de qué es una transacción. Cómo abrirlo y cómo cerrarlo. Y por qué es importante cerrar la transacción. Y luego, al escribir consultas en la base de datos, tendrá una comprensión consciente de lo que está sucediendo allí, bajo el capó, y por qué necesita este compromiso obligatorio después de la actualización.





Contenido

  • Qué es una transacción





  • Cómo enviar una transacción





  • Cómo abrir una transacción





  • Cómo cerrar una transacción





  • Total









Qué es una transacción

Una transacción es un archivo para consultas a la base de datos. Protege sus datos sobre una base de todo o nada.





Imagina que has decidido enviar 10 archivos a un amigo en un mensajero. Cuales son las opciones:





  1. Tira cada archivo por separado.





  2. Ponlos en el archivo y envía el archivo.









Parece que no hay mucha diferencia. Pero ¿y si algo sale mal? La conexión se caerá a la mitad, el servidor se reiniciará o simplemente dará un error ...





En el primer caso, su amigo recibirá 9 archivos, pero ninguno.





. . , . , . , « ».









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









, :





— ?





— 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 — .









PD: para obtener más artículos útiles, consulte mi blog con la etiqueta "útil" . Y hay videos útiles en mi canal de youtube.








All Articles