Transacciones y concurrencia

Solo disponible en BuenasTareas
  • Páginas : 11 (2525 palabras )
  • Descarga(s) : 30
  • Publicado : 8 de mayo de 2010
Leer documento completo
Vista previa del texto
*REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR*
UNIVERSIDAD EXPERIMENTAL DE LOS TEQUES*
“CECILIO ACOSTA”*
UNELTCA
{draw:custom-shape}
{draw:frame}
{draw:frame} {draw:frame} {draw:frame} {draw:frame} {draw:frame} ADMINISTRACIÓN DE BASE DE DATOS
*TRANSACCIONES*.
Definiciones:
“Es una colección de acciones que hacentransformaciones consistentes de los estados de un sistema, preservando la consistencia del sistema.”
“Unidad de cálculo consistente, confiable y atómica.”
“Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.”
{draw:custom-shape}
{draw:frame}
T1 y T2 tratan deactualizar paralelamente a la base de datos y a través del manejo de transacciones se gestiona este evento y se mantiene la integridad, solo T1 actualiza la base de datos.
Estructura:
La estructura de una transacción usualmente viene dada según el modelo de la transacción, estas pueden ser planas (simples) o anidadas.
Las transacciones planas consisten de una secuencia de operacionesprimitivas encerradas entre las palabras clave Begin y End.
Begin_transaction Reservacion


End
Las transacciones anidadas son aquellas en las operaciones de una transacción pueden ser así mismo transacciones.
Begin_transaction Reservación
Begin_transaction Vuelo
End {Vuelo}
Begin_transaction Hotel
*End*{Hotel}
End
Una transacción anidada dentro de otra transacción conserva las mismas propiedades que la de sus padres, esto implica, que puede contener así mismo transacciones dentro de ella. Existen restricciones obvias en una transacción anidada: debe empezar después que su padre y debe terminar antes que él. Más aún, el commit de una subtransacción es condicional al commit de supadre, en otras palabras, si el padre de una o varias transacciones aborta, las subtransacciones hijas también serán abortadas.
Operaciones y Estados de Transacciones:
Inicio de la transacción: (BEGIN _TRANSACCIÓN) Indica el inicio de una transacción y devuelve un identificador de la transacción, los comandos siguientes forman una transacción.
*Leer /* *E*scribir*:* (READ / WRITE)Típicamente una transacción se compone de una serie de lecturas y escrituras y algunos cálculos.
Commit: la transacción termina exitosamente y sus efectos van a almacenamiento permanente.
Abort: no se reflejan los cambios. Los abortos pueden ser causados por la propia naturaleza de la transacción, por conflictos con otras transacciones o por fallas de software o hardware.
End: (END _ TRANSACCIÓN)Termina la transacción y se intenta un compromiso.
Ademas de estas operaciones existen las opciones de deshacer y rehacer operaciones respectivamente a saber:
ABORT_TRANSACTION. SAVEPOINT
Si ocurriese un fallo al momento de estar en curso la transacción esta se debe Deshacer mientrás que si el fallo ocurriese cuando la transacción ya ha sido confirmada, la misma se deberá Rehacer_ (estose logra haciendo uso de los puntos de marcado)._ Todo esto siempre con la unica intención de mantener la integridad y la consistencia en la base de datos.
{draw:rect} {draw:frame}
Propiedades deseables de las Transacciones.
Atomicidad:
Una transacción es tratada como una unidad de operación. Por lo tanto todas las acciones de la transacción se llevan a cabo o ninguna de ellas serealiza. La atomicidad requiere que si una transacción se interrumpe por una falla, sus resultados parciales deben ser deshechos. Se efectúan todas las transacciones, pero en caso de fallas no se realiza ninguna. Una transacción debe concluir comprometida o abortada. En el caso del compromiso se instalan todas las actualizaciones y en el aborto se descartan todas las actualizaciones.
Consistencia:...
tracking img