Base de datos

Páginas: 12 (2802 palabras) Publicado: 2 de mayo de 2013
Transacciones y Recuperación de Base de datos

Qué es una transaccion?
Definición
La secuencia de acciones lógicas enlazadas que acceso una base de datos compartida, en nombre de los usuarios en línea
Ejemplos
Operaciones de aerolíneas: Reserva un asiento, se compra un tiquete, se arma un equipo de cabina, se organiza un vuelo.
Operaciones con cajeros automáticos: Se verifican lascredenciales, el monto de la cuenta, el debito de la misma y el pago físico.
Ventas a crédito: se pasa la tarjeta, se verifica el detalle de la misma, el monto en la transacción y la carga al monto que se debe en la tarjeta.
Venta por internet: Solicitud del articulo de un catalogo, se verifica la disponibilidad, se provee el detalle de la tarjeta de crédito, se verifican sus detalles, se hace laorden, se despacha y se cobra a la tarjeta y se modifica el inventario.

Propiedades A.C.I.D.
Transacciones tienen 4 propiedades principales
Atomicidad – todo o nada
Consistencia – preserva la integridad de la base de datos
Aislamiento- ejecuta como si solo la transaccion estuviera en el sistema
Durabilidad – los resultados no se pierden por una falla

Atomicidad
Un evento del mundoreal ocurre o no ocurre
Estudiantes se registran en esta asignatura o no
Asimismo, el sistema debe asegurar que las correspondientes transacciones ejecuten hasta completarse o, si no, no tienen efecto del todo

Atomicidad…Commit y Abort
Todo o nada, no hay resultados parciales.
Ej: en una transferencia, se debita una cuenta, se acredita a otra…se hacen las dos o no termina haciendoseninguna
Completar con éxito una transaccion se llama Comprometida (comando Commit en SQL)
El sistema es responsable de ésto
Completar sin éxito – Deshacerla (comando Rollback en SQL)
El sistema es responsable
Falla en la transaccion es un Aborto …..abort
Commit y abort son acciones irrevocables.
Un Aborto deshace operaciones que ya se han ejecutado

Razones para un aborto

El sistema fallaLa transaccion la aborta el sistema
La ejecucion no puede ser atómica (un sitio está fuera)
La ejecucion no mantiene a la base de datos consistente (restriccion de integridad se viola)
La ejecucion no esta aislada
Los recursos no estan disponibles (enlace entre transacciones)
La transaccion solicita un roll back

API para las transacciones

Se proveen comandos para definir los limitesde una transaccion.
begin transaction
commit
rollback
El comando commit es una solicitud
El sistema podria comprometer la transaccion, o Podria abortarla por cualquiera de las razones antes expuestas
El comando rollback siempre se atiende

Consistencia

Cada transaccion debe mantener la consistencia
Restricciones de Integridad
La preservacion de la consistencia es una propiedad dela transaccion y no del mecanismo de la base de datos para controlarla

Consistencia de la BD

Reglas del negocio limita la ocurrencia de ciertos eventos del mundo real
Estudiantes no se pueden matricular en un curso que ya está al máximo
De forma correspondiente, el estado permitido en la base de datos está restingido
reg_act 1
begin
rollback trigger with raiserror40031
"You cannot insert more than one
publisher at a time."
Return end


Deshacer una transacción
Para deshacer toda la transacción donde está inmerso el trigger, ejecutar un rollback sin un punto de grabación

Triggers anidados
Un trigger anidado es un trigger que se dispara en respuesta a una modificación hecha en un trigger
Nivel máximo de anidamiento: 16
Tanto losprocedimientos almacenados como los triggers cuentan en la determinación del nivel máximo
@@nestlevel retorna el nivel de anidamiento

Triggers recursivos
Un trigger recursivo es aquel que se dispara cuando modifica su propia tabla
Por default, un trigger que modifica su propia tabla no causa un disparo recursivo del trigger

Métodos para integridad de datos
Dos métodos para implementar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que es una base de datos y tipos de base de datos
  • Bases de datos y usuarios de bases de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos
  • Base de datos
  • Bases de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS