ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Proteccion de Datos.


Enviado por   •  31 de Enero de 2017  •  Apuntes  •  2.100 Palabras (9 Páginas)  •  178 Visitas

Página 1 de 9

P r o t e c c i o n  d e  D a t o s

Transacciones.

¿Qué es una Transacción?

Es un conjunto de acciones llevadas a cabo por un usuario o un programa de aplicación, que acceden o cambian el contenido de la base de datos. Representan eventos del mundo real.

UNIDAD LÓGICA DE TRABAJO

  •    Registrar un producto para ponerlo en venta por una empresa.
  •   Concertar la compra de un producto por un cliente.
  •   Dar de alta a un nuevo empleado o registrar un nuevo cliente.

Estas transacciones se deben realizar sobre la base de datos para que ésta siga siendo un fiel reflejo de la realidad.

Ejemplo:

Para entender el concepto de transacción considere una transacción bancaria que transfiere una cantidad de dinero  de la cuenta de una persona a otra, se requerirán por lo menos dos consultas:

UPDATE cuentas SET balance = balance - cantidad_transferida

WHERE cliente = persona1;

UPDATE cuentas SET balance = balance + cantidad_transferida

 WHERE cliente = persona2;

¿Qué sucede si ocurre algún imprevisto y "se cae" el sistema después de que se ejecuta la primera consulta, y la segunda aún no se ha completado?.

La persona1 tendrá una cantidad de dinero menos en su cuenta, y creerá que ha realizado su pago, sin embargo, la persona2 pensará que no se le ha depositado el dinero que le deben.

Propiedades de las Transacciones.

Se dice que toda Base de Datos debe cumplir con la prueba del ácido, denominada ACID (Atomicity, Consistency, Isolation, Durability). Estas propiedades son responsabilidad del SGBD.

Atomicity Garantiza que todas sus acciones sean realizadas o ninguna sea ejecutada.

Consistency Garantiza mantener el estado consistente de la base de datos.

Isolation Garantiza que cada transacción esté aislada del resto de las transacciones, una transacción no puede usar datos de otra transacción que todavía no ha sido completada.

Durability Garantiza que la transacción sea guardada permanentemente con independencia de cualquier tipo de fallo del sistema, o sea la transacción debe mantener la unidad de trabajo guardando los cambios que han hecho el commit o haciendo el Rollback de toda la transacción.

Estados de una Transacción:

Activa La transacción ha comenzado su ejecución.

Parcialmente cometida Justo después de ejecutar la última operación de la transacción.

Fracasada La transacción no puede seguir con la ejecución normal de sus operaciones.

Abortada La base de datos se deja como estaba justo antes de empezar la ejecución de la transacción. (después se reiniciará, fallo de hardware, de red, etc, ...) o se eliminará (fallo en la programación de la transacción, ...).

Cometida Las modificaciones realizadas por la transacción han quedado almacenadas de forma estable.

Esquema de Recuperación. 

Una transacción puede estar en uno de los siguientes estados.

[pic 1]

Desde el punto de vista del SGBD.

  •  Una transacción puede estar compuesta por varias operaciones.

  •  Una transacción lleva a la base de datos de un estado consistente a otro   estado consistente.
  •  Garantiza la consistencia de la base de datos incluso si se produce algún fallo.
  •  Si la transacción no se puede finalizar por cualquier motivo, garantiza que los cambios realizados por esta transacción sean deshechos.

Ejemplo

Registrar una venta a credito de 100 unidades de producto X al cliente Y por 500 pesos.

UPDATE PRODUCT
SET cantidad_prod = cantidad_prod - 100
WHERE codigo_prod = ‘X’;

UPDATE CLIENTE

SET balance_act = balance_act + 500
WHERE codigo_cl = ‘Y’;

  •   El estado es consistente solo si ambas transacciones son ejecutadas completamente.
  •   El SGBD no garantiza  que la transacción represente un evento del mundo real.

Administración de Transacciones con SQL.

Una transacción comienza cuando la primera instrucción SQL es encontrada, algunas versiones de SQL y algunos SGBD utilizan determinadas instrucciones.

SQL soporta las transacciones utilizando dos comandos:

  •   COMMIT Finaliza automáticamente la transacción. Cuando se ejecuta, se realizaron todos los cambios en la base de datos.
  •   ROLLBACK Cuando se ejecuta, todos los cambios son abortados y la base de datos regresa  a su estado original, manteniendo su estado consistente.

Cuando un programa finaliza satisfactoriamente es equivalente a alcanzar un COMMIT, si por el contrario no termina satisfactoriamente sería equivalente a un ROLLBACK.

Fichero de Transacciones Log.

Los SGBD utilizan la transacción Log para guardar todas las transacciones que modifican la base de datos.

En toda base de datos de SQL Server hay al menos dos ficheros:

1- El fichero de base de datos, donde estarán almacenados los datos de nuestras tablas (y demás objetos).

2- El fichero de transacciones, que consiste en una serie de registros de todas las modificaciones de la base de datos y de la transacción que ha realizado cada modificación. En el registro de transacciones figura el inicio de cada transacción,  los cambios de los datos y facilita suficiente información para deshacer las modificaciones (si fuera necesario posteriormente) realizadas durante cada transacción.

...

Descargar como (para miembros actualizados) txt (14 Kb) pdf (108 Kb) docx (22 Kb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com