SlideShare ist ein Scribd-Unternehmen logo
1 von 7
2013
                                  Práctica
       [Tutorial de Transacciones MySQL]




Equipo 1


Castañeda Vázquez Lidia
Herrera García Anakaren
Vargas Martínez Héctor M.



                                 1|Página
Transacciones en MySQL
Práctica




1. INTRODUCCIÓN



Las transacciones aportan una fiabilidad superior a las bases de datos. Si
disponemos de una serie de consultas SQL que deben ejecutarse en conjunto, con
el uso de transacciones podemos tener la certeza de que nunca nos quedaremos a
medio camino de su ejecución. De hecho, podríamos decir que las transacciones
aportan una característica de "deshacer" a las aplicaciones de bases de datos.


Son mucho más seguras y fáciles de recuperar si se produce algún fallo en el
servidor, ya que las consultas se ejecutan o no en su totalidad. Por otra parte, las
transacciones pueden hacer que las consultas tarden más tiempo en ejecutarse.


Un ejemplo típico de esto es una transacción bancaria. Por ejemplo, si una
cantidad de dinero es transferida de la cuenta de una persona a otra, se
requerirán          por         lo          menos           dos          consultas:


UPDATE cuentas SET balance = balance - cantidad_transferida WHERE cliente =
persona1;
UPDATE cuentas SET balance = balance + cantidad_transferida WHERE cliente =
persona2;


Estas dos consultas deben trabajar bien, ¿pero que sucede si ocurre algún
imprevisto y "se cae" el sistema después de que se ejecuta la primer consulta,
pero la segunda aún no se ha completado?. La persona1 tendrá una cantidad de
dinero removida de su cuenta, y creerá que ha realizado su pago, sin embargo, la
persona2 estará enfadada puesto que pensará que no se le ha depositado el
dinero que le deben. En este ejemplo tan sencillo se ilustra la necesidad de que
las consultas sean ejecutadas de manera conjunta, o en su caso, que no se ejecute

                                                                      1|Página
Transacciones en MySQL
Práctica



ninguna de ellas. Es aquí donde las transacciones toman un papel muy
importante.


Los pasos para usar transacciones en MySQL son:


      Iniciar una transacción con el uso de la sentencia BEGIN.
      Actualizar, insertar o eliminar registros en la base de datos.
      Si se quieren los cambios a la base de datos, completar la transacción con
      el uso de la sentencia COMMIT. Únicamente cuando se procesa un COMMIT
      los cambios hechos por las consultas serán permanentes.
      Si sucede algún problema, podemos hacer uso de la sentencia ROLLBACK
      para cancelar los cambios que han sido realizados por las consultas que
      han sido ejecutadas hasta el momento.




2. DESARROLLO


Para que lo anterior quede mejor comprendido crearemos unas tablas utilizando
los principales comandos de las transacciones.




                                                                       2|Página
Transacciones en MySQL
Práctica




Hasta aquí todo va normal o hasta donde nosotros sabemos ahora bien que pasa
si anteponemos el comando BEGIN antes de seguir agregando datos.




Como podemos ver los datos anexados nos los muestra pero si ejecutamos el
comando ROLLBACK los cambios se desvanecen. O simplemente no se guardan

Lo mismo pasaría si la conexión se perdiera de repente y el programa se cerrara
por alguna razón o que cerráramos MySQL los datos no se guardarían.




Ahora bien para poder asegurar que los datos se guardan ocuparemos el
                               siguiente comando.

                               Con el comando COMMIT damos por hecho que
                               los cambios que se efectuaran en la tabla serán
                               permanentes y así de esta forma garantizamos


                                                                   3|Página
Transacciones en MySQL
Práctica



que todos los datos que anexemos a nuestra tabla entraran todos o ninguno.

Veamos otros ejemplos de cómo podemos usar estas comandos para realizar
transacciones seguras.




En este ejemplo crearemos nuestra tabla y le agregaremos un registro.

Lo haremos desde la consola para que se pueda apreciar mejor.




Ya que hemos agregado el registro haremos un UPDATE pero con una transacción.




                                                                   4|Página
Transacciones en MySQL
Práctica




Como pudimos ver los cambios se realizaron de manera correcta pero al poner el
comando ROLLBACK todo vuelve a la normalidad al igual que en ejemplo anterior
esto funciona si por alguna razón se nos cerrara nuestra base de datos los
registros no se actualizaran y la BD se quedara como al principio. Ahora veremos
que cuando ponernos el comando COMMIT los datos se guardan de manera
definitiva.




De esta manera podemos comprobar que los datos que aparecen antes de poner
el comando COMMIT son los mismos.




                                                                   5|Página
Transacciones en MySQL
Práctica



Con esto terminamos nuestro mini tutorial acerca de transacciones en MySQL,
esperamos que les haya quedado claro o por lo menos que despejemos alguna
duda.




                                                              6|Página

Weitere ähnliche Inhalte

Was ist angesagt?

Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridad
Angel Sanchez Virgen
 
Tipos de virtualizacion
Tipos de virtualizacionTipos de virtualizacion
Tipos de virtualizacion
erikita1702
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
sueich
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
Luis Alvarado
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
Daniela Velasquez
 

Was ist angesagt? (20)

Tema manejo de la entrada
Tema manejo de la entradaTema manejo de la entrada
Tema manejo de la entrada
 
Fragmentacion
FragmentacionFragmentacion
Fragmentacion
 
Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridad
 
Tipos de virtualizacion
Tipos de virtualizacionTipos de virtualizacion
Tipos de virtualizacion
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Conceptualización de tecnología orientada a objetos
Conceptualización de tecnología orientada a objetosConceptualización de tecnología orientada a objetos
Conceptualización de tecnología orientada a objetos
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
 
DHCP (Router Cisco y Servidor) ip helper-addrees
DHCP (Router Cisco y Servidor) ip helper-addreesDHCP (Router Cisco y Servidor) ip helper-addrees
DHCP (Router Cisco y Servidor) ip helper-addrees
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
IV Unidad Sistemas Operativos 2 Cliente-Servidor
IV Unidad Sistemas Operativos 2 Cliente-Servidor IV Unidad Sistemas Operativos 2 Cliente-Servidor
IV Unidad Sistemas Operativos 2 Cliente-Servidor
 

Ähnlich wie Transacciones en MySQL

Transacciones en mysql
Transacciones en mysqlTransacciones en mysql
Transacciones en mysql
Carmen Sena C
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datos
juanmanuel_29
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
Mayito Pdg
 

Ähnlich wie Transacciones en MySQL (20)

Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sql
 
Transacciones en mysql
Transacciones en mysqlTransacciones en mysql
Transacciones en mysql
 
B.d
B.dB.d
B.d
 
B.d
B.dB.d
B.d
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Cuestiones de repaso_capitulo_20
Cuestiones de repaso_capitulo_20Cuestiones de repaso_capitulo_20
Cuestiones de repaso_capitulo_20
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Practica- Transacciones y Concurrencia en Oracle y MySQL
Practica- Transacciones y Concurrencia en Oracle y MySQLPractica- Transacciones y Concurrencia en Oracle y MySQL
Practica- Transacciones y Concurrencia en Oracle y MySQL
 
RECICLAJE
RECICLAJERECICLAJE
RECICLAJE
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Tarea
TareaTarea
Tarea
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Transaccion
TransaccionTransaccion
Transaccion
 

Transacciones en MySQL

  • 1. 2013 Práctica [Tutorial de Transacciones MySQL] Equipo 1 Castañeda Vázquez Lidia Herrera García Anakaren Vargas Martínez Héctor M. 1|Página
  • 2. Transacciones en MySQL Práctica 1. INTRODUCCIÓN Las transacciones aportan una fiabilidad superior a las bases de datos. Si disponemos de una serie de consultas SQL que deben ejecutarse en conjunto, con el uso de transacciones podemos tener la certeza de que nunca nos quedaremos a medio camino de su ejecución. De hecho, podríamos decir que las transacciones aportan una característica de "deshacer" a las aplicaciones de bases de datos. Son mucho más seguras y fáciles de recuperar si se produce algún fallo en el servidor, ya que las consultas se ejecutan o no en su totalidad. Por otra parte, las transacciones pueden hacer que las consultas tarden más tiempo en ejecutarse. Un ejemplo típico de esto es una transacción bancaria. Por ejemplo, si una cantidad de dinero es transferida de la cuenta de una persona a otra, se requerirán por lo menos dos consultas: UPDATE cuentas SET balance = balance - cantidad_transferida WHERE cliente = persona1; UPDATE cuentas SET balance = balance + cantidad_transferida WHERE cliente = persona2; Estas dos consultas deben trabajar bien, ¿pero que sucede si ocurre algún imprevisto y "se cae" el sistema después de que se ejecuta la primer consulta, pero la segunda aún no se ha completado?. La persona1 tendrá una cantidad de dinero removida de su cuenta, y creerá que ha realizado su pago, sin embargo, la persona2 estará enfadada puesto que pensará que no se le ha depositado el dinero que le deben. En este ejemplo tan sencillo se ilustra la necesidad de que las consultas sean ejecutadas de manera conjunta, o en su caso, que no se ejecute 1|Página
  • 3. Transacciones en MySQL Práctica ninguna de ellas. Es aquí donde las transacciones toman un papel muy importante. Los pasos para usar transacciones en MySQL son: Iniciar una transacción con el uso de la sentencia BEGIN. Actualizar, insertar o eliminar registros en la base de datos. Si se quieren los cambios a la base de datos, completar la transacción con el uso de la sentencia COMMIT. Únicamente cuando se procesa un COMMIT los cambios hechos por las consultas serán permanentes. Si sucede algún problema, podemos hacer uso de la sentencia ROLLBACK para cancelar los cambios que han sido realizados por las consultas que han sido ejecutadas hasta el momento. 2. DESARROLLO Para que lo anterior quede mejor comprendido crearemos unas tablas utilizando los principales comandos de las transacciones. 2|Página
  • 4. Transacciones en MySQL Práctica Hasta aquí todo va normal o hasta donde nosotros sabemos ahora bien que pasa si anteponemos el comando BEGIN antes de seguir agregando datos. Como podemos ver los datos anexados nos los muestra pero si ejecutamos el comando ROLLBACK los cambios se desvanecen. O simplemente no se guardan Lo mismo pasaría si la conexión se perdiera de repente y el programa se cerrara por alguna razón o que cerráramos MySQL los datos no se guardarían. Ahora bien para poder asegurar que los datos se guardan ocuparemos el siguiente comando. Con el comando COMMIT damos por hecho que los cambios que se efectuaran en la tabla serán permanentes y así de esta forma garantizamos 3|Página
  • 5. Transacciones en MySQL Práctica que todos los datos que anexemos a nuestra tabla entraran todos o ninguno. Veamos otros ejemplos de cómo podemos usar estas comandos para realizar transacciones seguras. En este ejemplo crearemos nuestra tabla y le agregaremos un registro. Lo haremos desde la consola para que se pueda apreciar mejor. Ya que hemos agregado el registro haremos un UPDATE pero con una transacción. 4|Página
  • 6. Transacciones en MySQL Práctica Como pudimos ver los cambios se realizaron de manera correcta pero al poner el comando ROLLBACK todo vuelve a la normalidad al igual que en ejemplo anterior esto funciona si por alguna razón se nos cerrara nuestra base de datos los registros no se actualizaran y la BD se quedara como al principio. Ahora veremos que cuando ponernos el comando COMMIT los datos se guardan de manera definitiva. De esta manera podemos comprobar que los datos que aparecen antes de poner el comando COMMIT son los mismos. 5|Página
  • 7. Transacciones en MySQL Práctica Con esto terminamos nuestro mini tutorial acerca de transacciones en MySQL, esperamos que les haya quedado claro o por lo menos que despejemos alguna duda. 6|Página