Documente Academic
Documente Profesional
Documente Cultură
12670092
12670091
12670153
10670249
12670152
12670035
UNIDAD 5
Aula: E-6
7 Semestre
Turno Matutino
Contenido
INTRODUCCION .................................................................................................................................. 3
DEFINICIN. ........................................................................................................................................ 3
CARACTERISTICAS ............................................................................................................................... 3
Propiedades de las transacciones ...................................................................................................... 3
Operaciones de una transaccin ........................................................................................................ 4
Estados de una Transaccin ............................................................................................................... 4
Tipos de transacciones ....................................................................................................................... 5
Funcin del manejador ....................................................................................................................... 5
CONCLUSIONES ................................................................................................................................. 11
BIBLIOGRAFIA ................................................................................................................................... 11
2|Pgina
INTRODUCCION
En este tema abarcaremos las transacciones dentro de una Base de datos el cual debe
completarse hasta el final sin tener ningn fallo dentro de las operaciones, cualquier cambio
realizado se ver reflejado al conocer el resultado. As como tambin cuales son los tipos de
transacciones y todo lo que engloba un proceso de transaccin, con sus respectivas
propiedades.
1. transacciones
Un sistema transaccional es aquel que asegura que una unidad de trabajo se realice
completamente o que no tenga efecto. El manejo de transacciones librea al programador de la
responsabilidad de ocuparse del acceso a datos, incluyendo modificaciones concurrentes en los
datos, tolerancia a fallas y programacin multiusuario.
DEFINICIN.
Una transaccin es una secuencia de una o ms operaciones agrupadas como una unidad. El
inicio y el final de la transaccin definen los puntos de consistencia de la base de datos. Si una
accin de la transaccin no se puede ejecutar, entonces ninguna accin dentro de la secuencia
que conforma la transaccin tendr efecto.
CARACTERISTICAS
Datos que utiliza la transaccin
Caractersticas funcionales de la transaccin
Salida de la transaccin
Importancia para los usuarios
Frecuencia de utilizacin
3|Pgina
Durabilidad: Una vez una transaccin se ejecuta exitosamente y realiza cambios sobre el
sistema, estos cambios nunca se deben perder a causa de fallas en el sistema.
Inicio de Transaccin: Operacin que marca el momento en el que una transaccin comienza
a ejecutarse.
Transaccin Fallida (Failed): En este caso, es posible que la transaccin deba ser cancelada.
4|Pgina
Tipos de transacciones
Una transaccin puede clasificarse de diferentes maneras dependiendo bsicamente de tres
criterios:
1. reas de aplicacin. En primer lugar, las transacciones se pueden ejecutar en
aplicaciones no distribuidas. Las transacciones que operan en datos distribuidos se les
conoce como transacciones distribuidas. Por otro lado, dado que los resultados de una
transaccin que realiza un commit son durables, la nica forma de deshacer los efectos
de una transaccin con commit es mediante otra transaccin. A este tipo de
transacciones se les conoce como transacciones compensatorias. Finalmente, en
ambientes heterogneos se presentan transacciones heterogneas sobre los datos.
2. Tiempo de duracin. Tomando en cuenta el tiempo que transcurre desde que se inicia
una transaccin hasta que se realiza un commit o se aborta, las transacciones pueden
ser de tipo batch o en lnea. Estas se pueden diferenciar tambin como transacciones
de corta y larga vida. Las transacciones en lnea se caracterizan por tiempos de
respuesta muy cortos y por acceder una porcin relativamente pequea de la base de
datos. Por otro lado, las transacciones de tipo batch toman tiempos relativamente largos
y accedan grandes porciones de la base de datos.
3. Estructura. Considerando la estructura que puede tener una transaccin se examinan
dos aspectos: si una transaccin puede contener a su vez sub-transacciones o el orden
de las acciones de lectura y escritura dentro de una transaccin.
(Capitulo 5, s.f.)
5|Pgina
(Wikipedia, 2015)
EJEMPLO
Las transacciones representan eventos del mundo real como:
Una compra puede ser una transaccin que conste de dos operaciones:
1. Insertar un registro del pago del producto.
2. Insertar el producto en el inventario.
No se debe insertar un producto que no se haya pagado, ni pagar un producto que no est en
el inventario, por lo tanto, las dos operaciones forma una transaccin.
6|Pgina
Si sucede algn 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.
Vamos a ejecutar algunas consultas para ver cmo trabajan las transacciones. Lo primero que
tenemos que hacer es crear una tabla del tipo InnoDB e insertar algunos datos.
Para crear una tabla InnoDB, procedemos con el cdigo SQL estndar CREATE TABLE, pero
debemos especificar que se trata de una tabla del tipo InnoDB (TYPE= InnoDB). Esto es
aplicable a cualquier tipo de tabla, pero cuando no se especifica nada, MySQL supone que se
trata de una tabla MyISAM.
mysql> CREATE TABLE innotest (campo INT NOT NULL PRIMARY KEY) TYPE = InnoDB;
Query OK, 0 rows affected (0.10 sec)
1 |
7|Pgina
2 |
3 |
+-------+
3 rows in set (0.00 sec)
1 |
2 |
3 |
4 |
+-------+
4 rows in set (0.00 sec)
1 |
8|Pgina
2 |
3 |
+-------+
3 rows in set (0.00 sec)
Ahora vamos a ver qu sucede si perdemos la conexin al servidor antes de que la transaccin
sea completada.
mysql> BEGIN;
Query OK, 0 rows affected (0.00 sec)
1 |
2 |
3 |
4 |
+-------+
4 rows in set (0.00 sec)
mysql> EXIT;
Bye
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
9|Pgina
1 |
2 |
3 |
+-------+
3 rows in set (0.00 sec)
Ahora vamos a repetir la sentencia INSERT ejecutada anteriormente, pero haremos un COMMIT
antes de perder la conexin al servidor al salir del monitor de MySQL.
mysql> BEGIN;
Query OK, 0 rows affected (0.00 sec)
mysql> COMMIT;
Query OK, 0 rows affected (0.02 sec)
mysql> EXIT;
Bye
Una vez que hacemos un COMMIT, la transaccin es completada, y todas las sentencias SQL
que han sido ejecutadas previamente afectan de manera permanente a las tablas de la base de
datos.
Welcome to the MySQL monitor.
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
10 | P g i n a
1 |
2 |
3 |
4 |
+-------+
4 rows in set (0.00 sec)
CONCLUSIONES
Para finalizar con el tema se mostr a detalle un poco sobre las transacciones dentro del campo de
Base de Datos, y as tener una idea de cmo es que se estructura y cules son las acciones que se
encuentran dentro de ella. Conociendo mejor sobre las transacciones enfocndolo al manejador de
MySQL.
BIBLIOGRAFIA
Capitulo 5. (s.f.). Obtenido de Transacciones Distribuidas:
http://132.248.9.195/pd2006/0606805/A8.pdf
Monografias. (s.f.). Obtenido de Manejo de Transacciones:
http://www.monografias.com/trabajos96/manejo-transacciones/manejotransacciones.shtml
Wikipedia. (25 de Noviembre de 2015). Obtenido de Base de Datos Distribuidas:
https://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
11 | P g i n a