31
INSTITUTO TECNOLOGICO DE PARRAL CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES MATERIA: MANEJO DE BASES DE DATOS. PROFESOR: EDGAR OMAR BAÑUELOS. ALUMNO: JOSÈ ALBERTO TORRES BACA. MATRICULA: 07410640

Transaccion

Embed Size (px)

DESCRIPTION

En esta presentacion se muestran los conseptos de transaccion, Rollback, Commit y ACID.

Citation preview

Page 1: Transaccion

INSTITUTO TECNOLOGICO DE PARRALCARRERA:

INGENIERIA EN SISTEMAS COMPUTACIONALESMATERIA:

MANEJO DE BASES DE DATOS.PROFESOR:

EDGAR OMAR BAÑUELOS.

ALUMNO:JOSÈ ALBERTO TORRES BACA.

MATRICULA:07410640

Page 2: Transaccion

AGENDA

*TRANSACCION

*PROPIEDADES ACID

*ESTADOS DE UNA TRANSACCION

*COMMIT

*ROLLBACK

Page 3: Transaccion
Page 4: Transaccion

El término transacción hace referencia a un conjunto de operaciones queforman una única unidad lógica de trabajo. Por ejemplo, la transferenciade dinero de una cuenta a otra es una transacción que consta de dos actualizaciones, una para cada cuenta.

TRANSACCION

Page 5: Transaccion

Resulta importante que, o bien se ejecuten completamente todas las acciones de una transacción, o bien, en caso de fallo, se deshagan los efectos parciales de la transacción. Esta propiedad se denomina atomicidad. Además, unavez ejecutada con éxito una transacción, sus efectos deben persistir en la basede datos: un fallo en el sistema no debe tener como consecuencia que la basede datos se olvide de una transacción que haya completado con éxito.

Page 6: Transaccion

Entre las habilidades de todo Sistema Gestor de Bases de Datos Relaciones tiene que estar la de permitir al programador crear transacciones.

El SQL Server nos permite trabajar con transacciones de manera sencilla y eficaz.

Page 7: Transaccion
Page 8: Transaccion

Una transacción es un conjunto de operaciones que van a ser tratadas como una única unidad. Estas transacciones deben cumplir 4 propiedades fundamentales comúnmente conocidas como ACID (atomicidad, coherencia, asilamiento y durabilidad).

Una transacción es una unidad de la ejecución de unprograma que accede y posiblemente actualiza varioselementos de datos. Una transacción se inicia por la ejecuciónde un programa de usuario escrito en un lenguajede manipulación de datos de alto nivel o en un lenguajede programación

Page 9: Transaccion
Page 10: Transaccion

Para asegurar la integridad de los datos se necesitaque el sistema de base de datos mantenga las siguientespropiedades de las transacciones:

• Atomicidad. O todas las operaciones de la transacciónse realizan adecuadamente en la base dedatos o ninguna de ellas.• Consistencia. La ejecución aislada de la transacción(es decir, sin otra transacción que se ejecuteconcurrentemente) conserva la consistencia de labase de datos.

Page 11: Transaccion

• Aislamiento. Aunque se ejecuten varias transaccionesconcurrentemente, el sistema garantiza que para cada par de transacciones Ti y Tj, se cumpleque para los efectos de Ti, o bien Tj ha terminadosu ejecución antes de que comience Ti , o bien queTj ha comenzado su ejecución después de que Titermine.

• Durabilidad. Tras la finalización con éxito de unatransacción, los cambios realizados en la base dedatos permanecen, incluso si hay fallos en el sistema.

Page 12: Transaccion

Estas propiedades a menudo reciben el nombre depropiedades ACID; el acrónimo se obtiene de la primeraletra de cada una de las cuatro propiedades eninglés (Atomicity, Consistency, Isolation y Durability,respectivamente).

Page 13: Transaccion
Page 14: Transaccion

• CONSISTENCIA:

En sierto caso el requisito de consistenciaes que la suma de A y B no sea alterada al ejecutarla transacción. Sin el requisito de consistencia,¡la transacción podría crear o destruir dinero! Sepuede comprobar fácilmente que si una base de datoses consistente antes de ejecutar una transacción, siguesiéndolo después de ejecutar dicha transacción.

Page 15: Transaccion

• ATOmICIDAD:

supóngase que justo antes de ejecutarla transacción Ti los valores de las cuentas A yB son de 1.000 € y de 2.000 €, respectivamente.Supóngase ahora que durante la ejecución de la transacciónTi se produce un fallo que impide que dichatransacción finalice con éxito su ejecución.

La información de las modificaciones realizadaspor la transacción guardada en disco es suficientepara permitir a la base de datos reconstruirdichas modificaciones cuando el sistema se reiniciedespués del fallo.

Page 16: Transaccion

DuRAbIlIDAD:

una vez que se completa con éxitola ejecución de una transacción, y después de comunicaral usuario que inició la transacción que se harealizado la transferencia de fondos, no debe sucederque un fallo en el sistema produzca la pérdidade datos correspondientes a dicha transferencia.La propiedad de durabilidad asegura que, una vezque se completa con éxito una transacción, persistentodas las modificaciones realizadas en la base dedatos, incluso si hay un fallo en el sistema despuésde completarse la ejecución de dicha transacción.

Page 17: Transaccion

• AISlAmIENTO:

incluso si se aseguran las propiedadesde consistencia y de atomicidad para cada transacción,si varias transacciones se ejecutanconcurrentemente, se pueden entrelazar sus operacionesde un modo no deseado, produciendo unestado inconsistente.

Page 18: Transaccion
Page 19: Transaccion

En ausencia de fallos, todas las transacciones se completancon éxito. Sin embargo, como se ha visto antes,una transacción puede que no siempre termine su ejecucióncon éxito.

Page 20: Transaccion

• ACTIvA, el estado inicial; la transacción permaneceen este estado durante su ejecución.

• PARCIAlmENTE COmPROmETIDA, después de ejecutarsela última instrucción.

• FAllIDA, tras descubrir que no puede continuar laejecución normal.

• AbORTADA, después de haber retrocedido la transaccióny restablecido la base de datos a su estadoanterior al comienzo de la transacción.

• COmPROmETIDA, tras completarse con éxito.

Page 21: Transaccion
Page 22: Transaccion
Page 23: Transaccion

Si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al estado inicial en el que estaba la base de datos antes de empezar. Esto se consigue con la sentencia ‘ROLLBACK TRAN’.

Page 24: Transaccion

• REINICIAR lA TRANSACCIóN , pero sólo si la transacciónse ha abortado a causa de algún error hardwareo software que no lo haya provocado la lógicainterna de la transacción. Una transacción reiniciadase considera una nueva transacción.

• CANCElAR lA TRANSACCIóN. Normalmente se haceesto si hay algún error interno lógico que sólo sepuede corregir escribiendo de nuevo el programade aplicación, o debido a una entrada incorrecta odebido a que no se han encontrado los datos deseadosen la base de datos.

Page 25: Transaccion
Page 26: Transaccion

Si todas las operaciones de una transacción se completan con éxito hay que marcar el fin de una transacción para que la base de datos vuelva a estar en un estado consistente con la sentencia ‘COMMIT TRAN’.

Page 27: Transaccion

• COmmIT compromete la transacción actualy comienza una nueva.

• ROllbACk provoca que la transacción actualaborte.

Page 28: Transaccion
Page 29: Transaccion

ANTERIORMENTE UNA TRANSACCION ERA COMPLICADA DE HACER YA QUE SE REALIZABA POR MEDIO MANUAL, ES DESIR HACIENDO TRANSFERENCIAS DE FORMA REAL DE UNA CUENTA A OTRA;

HOY EN DIA SQL NOS OFRECE LA FORMA DE REALIZAR TRANSFERENCIAS VIE ELECTRONIACA O VIRTUAL

DICHAS OPERACIONES SON FACILES Y CONFIABLES SIEMPRE Y CUANDO SE CUMPLA CON LAS PROPIEDADES ACID Y SE MANEJEN LOS COMANDOS ROLLBACK Y COMMIT ADECUADAMENTE

Page 30: Transaccion
Page 31: Transaccion

www.monografias.com LA TRANSACCIONwww.microsoft.com/sqlserver TRANSACCIONES

FUNDAMENTOS DE BASES DE DATOS

Abraham Silberschatz

Mc Graw