Consecuencias De La Interferencia Entre Transacciones
Enviado por josuegomez • 19 de Agosto de 2013 • 410 Palabras (2 Páginas) • 453 Visitas
Cuando los accesos concurrentes son todos de lectura (es decir, cuando la BD
sólo se consulta), el problema que se produce es simplemente de rendimiento,
causado por las limitaciones de los soportes de que se dispone: pocos mecanismos
de acceso independientes, movimiento del brazo y del giro del disco demasiado
lentos, buffers locales demasiado pequeños, etc.
Cuando un usuario o más de uno están actualizando los datos, se pueden producir
problemas de interferencia que tengan como consecuencia la obtención
de datos erróneos y la pérdida de integridad de la BD.
Para tratar los accesos concurrentes, los SGBD utilizan el concepto de transacción
de BD, concepto de especial utilidad para todo aquello que hace referencia
a la integridad de los datos, como veremos a continuación.
Ejemplos de transacciones
1) Imaginemos un programa pensado para llevar a cabo la operación de transferencia de dinero
de una cuenta X a otra Y. Supongamos que la transferencia efectúa dos operaciones: en
primer lugar, el cargo a X y después, el abono a Y. Este programa se debe ejecutar de forma
que se hagan las dos operaciones o ninguna, ya que si por cualquier razón (por ejemplo, por
interrupción del flujo eléctrico) el programa ejecutase sólo el cargo de dinero a X sin abonarlos
a Y, la BD quedaría en un estado incorrecto. Queremos que la ejecución de este programa
sea tratada por el SGBD como una transacción de BD.
2) Otro ejemplo de programa que querríamos que tuviera un comportamiento de transacción
podría ser el que aumentara el 30% de la nota de todos los alumnos. Si sólo aumentara
la nota a unos cuantos alumnos, la BD quedaría incorrecta.
Para indicar al SGBD que damos por acabada la ejecución de la transacción, el
programa utilizará la operación de COMMIT. Si el programa no puede acabar
normalmente (es decir, si el conjunto de operaciones se ha hecho sólo de forma
parcial), el SGBD tendrá que deshacer todo lo que la transacción ya haya
hecho. Esta operación se denomina
...