Revista Opinión

Procesaminento de transacciones

Publicado el 16 marzo 2019 por Carlosgu82
  1. ¿Cuál es el concepto de Base de Datos Consistente?

Los SGBD según el número de usuarios que pueden utilizarlos de forma concurrente, se clasifican en sistemas

  1. ¿Al ejecutar una o más instrucciones SQL? ¿Cuáles son las posibles razones para que las instrucciones SQL NO terminen de ejecutarse?

Una transacción puede no llegar a su término debido a muchas razones:

Situación excepcional detectada que hace que el programa no pueda continuar

Falla del programa

Falla del software de BD

Falla del Sistema Operativo

Falla del hardware

Falla de energía eléctrica

Control de concurrencia ha detectado un conflicto

Control de concurrencia ha detectado un deadlock

  1. ¿Al ejecutar dos o más instrucciones SQL? Defina el concepto de Ejecución Serializable.

Lo ideal es, que sea cual sea el orden de ejecución de operaciones de las transacciones, el estado de la BD quedara “como si se hubiese” ejecutado un procedimiento primero y luego el otro.

A esto se le llama una ejecución serializable.

IMPORTANTE: NO es necesario que los procedimientos siempre se ejecuten uno tras otro, solo se requiere que el resultado sea “serializable”.

  1. ¿Al ejecutar dos o más instrucciones SQL? Defina el concepto de Atomicidad.

Se ejecuta todo o nada.

  1. ¿Qué es una Transacción?

Una transacción es una unidad lógica de trabajo

Definida para las reglas del negocio

Incluye al menos una modificación de datos

Pasa la base de datos de un estado consistente a otro

  1. ¿Las Transacciones resuelven el problema de Seriabilidad y Atomicidad?

Los problemas de serialización y atomicidad se resuelven usando transacciones.

  1. ¿Cuáles son los beneficios de usar Transacciones ?

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

  1. ¿Cuáles es el Rol de las Transacciones en una Base de Datos ?

Proteger los datos de las fallas del software, hardware y potencia eléctrica

Permitir el aislamiento de datos de tal forma que varios usuarios pueden acceder simultáneamente a los datos sin interferencia

  1. ¿Cómo se inicia una transacción?

Una transacción se inicia cuando empieza con: BEGIN TRAIN

  1. ¿Defina el concepto de COMMIT en las transacciones?

Confirma las instrucciones de modificaciones a la BD.

  1. ¿Defina el concepto de ROLLBACK en las transacciones?

Cancela las instrucciones de modificacion a la BD.

  1. ¿Describa las propiedades ACID de la transacciones?

ATOMICIDAD: Se ejecuta todo o nada

CONSISTENCIA: Solo se empieza lo que se puede terminar y no rompen las reglas.

ISOLATION(AISLAMIENTO): Una operacion no puede afectar a otra.

DURABILIDAD: Una vez ejecutada la operacion persistira para siempre.

  1. ¿Describa los diferentes estado de las Transacciones?

Activa. Es el estado inicial, permanece en este estado durante la ejecución.

Parcialmente comprometida. Después de ejecutarse la última instrucción.

Fallida. Se descubre que no puede continuar con la ejecución normal.

Abortada. Después de haber retrocedido la transacción y restablecido la BD a su estado anterior al comienzo de la transacción.

Comprometida. Se completa con éxito, los cambios realizados son permanentes en la BD.

  1. ¿Describa el concepto de BITACORA en una Base de Datos?

La bitácora o registro histórico (en inglés: “transaction log”, “database log” o “binary log”) es la estructura más común que usan los sistemas de BD para guardar las modificaciones realizadas. Está formada por una secuencia de registros y mantiene un registro de todas las actividades de actualización de la BD.

  1. ¿Cuál es el rol de la BITACORA en una Base de Datos?

Se utilizada para la recuperación del sistema después de una falla y para garantizar las propiedades ACID de las transacciones.

  1. ¿Qué es el Lenguaje de programación TRANSAC SQL?

Algunos SBGD por defecto están en modo TRANSACCIOAL.

En SQL Server se utilizan la instrucción

SET IMPLICIT_TRANSACTIONS ON para iniciar el modo de transacciones implícitas.

Utilice la instrucción

SET IMPLICIT_TRANSACTIONS OFF para desactivar el modo de transacciones implícitas.

  1. ¿Cite cada las principales clausulas (instrucciones) utilizadas en el Lenguaje de programación TRANSAC SQL?

Para evitar violar las propiedades ACID de las Transacciones se utilizan las clausulas BEGIN TRAN, COMMINT TRAN y ROLLBACK TRAN.

Si no hay error en las instrucciones de modificación de datos se ejecuta COMMIT TRAN, de lo contrario salta al bloque BEGIN CATCH para ejecutar el ROLLBACK TRAN y deshacer las instrucciones de modificación de datos ejecutadas.


Volver a la Portada de Logo Paperblog