1 / 6

Control de Transacciones.

Control de Transacciones. . Unidad 4. Transacción. 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.

Download Presentation

Control de Transacciones.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Control de Transacciones. Unidad 4

  2. Transacción • 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. • Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos, • haciendo que estas transacciones no puedan finalizar en un estado intermedio. • Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de integridad), como si la orden de la transacción nunca se hubiese realizado. • SQL (StructuredQueryLanguage) provee los mecanismos para especificar que un conjunto de acciones deben constituir una transacción.

  3. Propiedades • BEGIN TRAN: Especifica que va a empezar una transacción. • COMMIT TRAN: Le indica al motor que puede considerar la transacción completada con éxito. • ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad. • En un sistema ideal, las transacciones deberían garantizar todas las propiedades; • En la práctica, a veces alguna de estas propiedades se simplifica o debilita con vistas a obtener un mejor rendimiento.

  4. Ejemplo de transacción • Traspaso de una cantidad de dinero entre cuentas bancarias. • Dos operaciones distintas: • una en la que se decrementa el saldo de la cuenta origen, • y otra en la que incrementamos el saldo de la cuenta destino. • Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), • las 2 operaciones deben ser atómicas • el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema)  • el resultado final es se han realizado las 2 operaciones, • o bien no se ha realizado ninguna.

  5. Grados de consistencia Condiciones para garantizar la integridad de los datos • ATOMICIDAD: Un átomo está destinado a ser la partícula más pequeña, o algo que no puede ser dividido. Bases de datos: Las consultas que hacen posible la transacción  todose haya llevado a cabo, o nada en absoluto. • CONSISTENCIA: Se refiere a las reglas de los datos. Por ejemplo, un cuerpo del artículo puede tener una partida artículo asociado. Durante la operación, esta regla se puede romper, pero esta situación no debe ser visible desde el exterior de la transacción. • AISLAMIENTO: Los datos que se utilizan para una transacción no pueden ser utilizados por otra transacción hasta que la primera transacción se ha completado. Ejemplo: un saldo de la cuenta se inicia en 900. Hay un único depósito de 100, y un retiro de 100, por lo que el saldo al final debe seguir siendo el mismo Connection 1: SELECT balance FROM account1; Connection 2: SELECT balance FROM account1; Connection 1: UPDATE account1 SET balance = 900+100; Connection 2: UPDATE account1 SET balance = 900-100; El balance es ahora de 800, por lo que han perdido 100. Estas dos operaciones se han aislado, y el resultado suministrado a la conexión 2 sólo cuando la transacción de la conexión de una era completa. • DURABILIDAD: Una vez que una transacción se ha completado, sus efectos deben conservarse, y no ser reversible.

  6. Niveles de aislamiento • Un nivel de aislamiento de transacción establece el comportamiento predeterminado de las transacciones. • Se determina cómo cada transacción tiene su nivel de aislamiento, o qué tipo de cerraduras están asociados con las consultas dentro de una transacción. • Los cuatro niveles, en orden ascendente , son los siguientes: • READ UNCOMMITTED: Apenas transaccional, esta configuración permite a las llamadas 'lecturas sucias ", hacer consultas dentro de una transacción cuando no han sido confirmados los cambios por otra transacción. • READ COMMITTED: Actualizaciones realizadas, son visibles dentro de otra transacción. Esto significa consultas idénticas dentro de una transacción puede devolver resultados diferentes. • REPEATABLE READ: Es el nivel de aislamiento predeterminado . Dentro de una transacción, todas las lecturas son coherentes. • SERIALIZABLE: Las actualizaciones no son permitidas en otras transacciones si en la operación se ha ejecutado una consulta SELECT ordinario, es decir, las consultas se tratan como si tuvieran un candado en modo compartido.

More Related