LecturaTransacciones 2 1

Páginas: 11 (2750 palabras) Publicado: 27 de abril de 2015
Transacciones: Introducción
En esta lectura se presentarán los conceptos de transacciones y acciones de interacción con los sistemas de base de datos.
El concepto de transacciones está identificado por dos acepciones totalmente independientes.
Uno, tiene que ver con el acceso concurrente de varios clientes a la base de datos; y el otro, tiene relación con tener un sistema resistente a los fallosde sistema.
Primero, veremos como funciona la estructura de los sistemas de bases de datos y la interacción con los clientes.
En la siguiente imagen podemos observar que los datos son almacenados en el disco, quien se comunica con el sistema de gestión de base de datos, o DBMS, controlador de las interacciones con los datos. A menudo hay software adicional por encima del DBMS; tal vez un servidorde aplicaciones o servidor web, que luego interactúan con los que podrían ser usuarios a través de comandos de selección, actualización, creación de tablas, comandos de borrado, etc. Y es aquí finalmente donde ocurre el problema, que es la interacción concurrente de múltiples usuarios.

Integridad de las transacciones
Una transacción es un conjunto de operaciones (u órdenes) que se ejecutan enforma indivisible (atómica) sobre una base de datos.
El DBMS debe mantener la integridad de los datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio.
Si por algún motivo se debe cancelar la transacción, el DBMS 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ónnunca se hubiese realizado.
Ahora se mostrarán ejemplos de dificultades que pueden ocurrir cuando múltiples clientes están interactuando con la base de datos.
Nivel de Inconsistencia en Atributos
UPDATE College SET enrollment = enrollment + 500 WHERE cName = 'UTFSM';
concurrente con
UPDATE College SET enrollment = enrollment + 1000 WHERE cName = 'UTFSM';
En el ejemplo anterior se puede observar quetenemos 2 clientes; uno esta emitiendo una declaración que aumenta las matriculas de UTFSM en 500, el segundo cliente, en el mismo instante, está emitiendo una declaración que aumenta las matriculas en 1000.
El problema que se genera en este caso es que si el primer cliente modifica el valor de la matricula de la universidad UTFSM en 500 y ahora el segundo cliente va a modificar el valor de lamatricula, sobre lo que ya modificó el primer cliente. A la base de datos se le modificó dos veces el valor de la matricula.
Supongamos que el valor de la matricula está en 3000 y estas dos sentencias anteriores se ejecutan al mismo tiempo, el valor final de la matricula será 4500 (500 + 1000 + 3000).
Nivel de Inconsistencia en Tuplas
UPDATE Apply SET major = 'history' WHERE sID = 1;
concurrente conUPDATE Apply SET decision = 'Y' WHERE sID = 1;
En este ejemplo, al haber dos clientes que están realizando una modificación en una tupla (o fila) sID = 1; el primero actualizando la especialidad a history y el segundo a una decision con valor Y. Es posible que se vean ambas modificaciones reflejadas en la base de datos, pero también existe la posibilidad de que sólo se visualice una.
Nivel deInconsistencia en Tablas
UPDATE Apply SET decision = 'Y' WHERE sID IN (SELECT sID FROM Student WHERE GPA > 3.9);
concurrente con
UPDATE Student SET GPA = (1.1) * GPA WHERE sizeHS > 2500;
Tenemos el primer cliente trabajando en la tabla Apply, pero las condiciones que se detallan en la tabla Apply, dependen de la tabla Student. Mientras tanto el segundo cliente esta modificando la tabla Student.
Asíque lo que sucede en la tabla Apply, puede depender de si ocurre antes, después o durante la modificación de la tabla Student.
Entonces los GPA se modifican y luego las aceptaciones se hacen o viceversa.
Objetivo de la Concurrencia
Tenemos múltiples clientes interactuando con la base de datos al mismo tiempo, y si en realidad los comandos que se ejecutan en la base de datos fuesen intercalados, a...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • 2 1 Resumen 2
  • Encuesta2 2 2 1
  • 1/2-3/2
  • 1 2
  • Entre 1 y 2
  • 1 2
  • 2 1
  • 1 2

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS