Está en la página 1de 10

UNIVERSIDAD SABES

“Actividad 4: Implementación de modo


transaccional”

NOMBRE DEL ALUMNO:


<JUAN PABLO MARTINEZ COLMENERO >

NOMBRE DEL TUTOR:


RAMON ERNESTO GARZA DE LOS SANTOS

ASIGNATURA:
BASE DE DATOS II

SAN LUIS DE LA PAZ GUANAJUATO 09/10/2019

pág. 1
Tabla de contenido
1. INVESTIGACIÓN:.........................................................................................................................2
A. ¿Qué es una transacción?......................................................................................................2
B. ¿Qué significa ACID? y defina cada una de las palabras que forman las siglas....................2
C. ¿Qué significa Tx en base de datos?......................................................................................2
D. ¿Para qué nos sirve el Rollback?...........................................................................................3
E. Defina Integridad de datos....................................................................................................3
F. Defina concurrencia...............................................................................................................3
G. Defina Grado de consistencia................................................................................................3
H. Mencione aspectos relacionados al procesamiento de transacciones.................................3
I. Defina los estados de una transacción:.................................................................................4
J. El estándar ANSI/ISO SQL define cuatro niveles de aislamiento transaccional en función
de tres eventos que son permitidos o no dependiendo del nivel de aislamiento. Estos eventos
son: 4
2. PROYECTO:.................................................................................................................................5

pág. 2
1. INVESTIGACIÓN:

A. ¿Qué es una transacción?


Una transacción es una interacción con una estructura de datos compleja,
compuesta por varios procesos que se han de aplicar uno después del otro. La
transacción debe realizarse de una sola vez y sin que la estructura a medio
manipular pueda ser alcanzada por el resto del sistema hasta que se hayan
finalizado todos sus procesos.

B. ¿Qué significa ACID? y defina cada una de las palabras que forman las
siglas
ACID son siglas que significan Atomicity, Consistency, Isolation, Durability o, en
español, Atomicidad, Consistencia, Aislamiento y Durabilidad.
En informática, ACID es un conjunto de características o propiedades que
garantizan que las transacciones en una base de datos son fiables. En el contexto
de bases de datos, una transacción es una única operación sobre los datos.
Propiedades ACID.
* Atomicidad: cualquier cambio de estado que produce una transacción es
atómico. Es decir, ocurren todos o no ocurre ninguno. En otras palabras, esta
propiedad asegura que una operación se realiza o no se realiza, por lo tanto no
puede quedar el sistema a medias.
* Consistencia: propiedad que asegura que una transacción no romperá con la
integridad de una base de datos, pues respeta todas las reglas y directrices de
ésta.
* Aislamiento: propiedad que asegura que no se afectarán entre sí las
transacciones. En otras palabras, dos o más transacciones sobre los mismos
datos no generarán un problema.
* Durabilidad: propiedad que asegura la persistencia de una transacción, es decir,
una vez que la transacción quedó aceptada no podrá deshacerse, aunque falle el
sistema.

C. ¿Qué significa Tx en base de datos?


Tx significa Transmisión o Transmisor (en este caso Transacción).

D. ¿Para qué nos sirve el Rollback?


En tecnologías de base de datos, un rollback o reversión o flagare es una
operación que devuelve a la base de datos a algún estado previo. Las reversiones

pág. 3
son importantes para la integridad de la base de datos, a causa de que significan
que la base de datos puede ser restaurada a una copia limpia incluso después de
que se han realizado operaciones erróneas. Son cruciales para la recuperación
ante errores de un servidor de base de datos, como por ejemplo un cuelgue del
equipo. Al realizar una reversión cualquier transacción que estuviera activa en el
tiempo del cuelgue es revertida y la base de datos se ve restaurada a un estado
consistente

E. Defina Integridad de datos.


El término integridad de datos se refiere la correctitud y completitud de la
información en una base de datos. Cuando los contenidos se modifican con
sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados
puede perderse de muchas maneras diferentes. Pueden añadirse datos no válidos
a la base de datos, tales como un pedido que especifica un producto no existente.

Pueden modificarse datos existentes tomando un valor incorrecto, como por


ejemplo si se reasigna un vendedor a una oficina no existente. Los cambios en la
base de datos pueden perderse debido a un error del sistema o a un fallo en el
suministro de energía. Los cambios pueden ser aplicados parcialmente, como por
ejemplo si se añade un pedido de un producto sin ajustar la cantidad disponible
para vender.

F. Defina concurrencia
El termino concurrencia se refiere al hecho de que los DBMS (SISTEMAS DE
ADMINISTRACION DE BD) permiten que muchas transacciones puedan
realizarse en una misma base de datos a la vez. Para este sistema se necesita
algún mecanismo de control para que las operaciones simultáneas no interfieran
entre sí.

G. Defina Grado de consistencia


La propiedad de Consistencia se asegura que cualquier transacción llevará a la
base de datos de un estado válido a otro estado válido. Cualquier dato que se
escriba en la base de datos tiene que ser válido de acuerdo a todas las reglas
definidas, incluyendo (pero no limitado a) los constraints, los cascades, los
triggers, y cualquier combinación de estos.

H. Mencione aspectos relacionados al procesamiento de transacciones


Los siguientes son los aspectos más importantes relacionados con el
procesamiento de transacciones:
Modelo de estructura de transacciones: Es importante considerar si las
transacciones son planas o pueden estar anidadas.
Consistencia de la base de datos interna: Los algoritmos de control de datos
semántico tienen que satisfacer siempre las restricciones de integridad cuando
una transacción pretende hacer un commit.
Protocolos de confiabilidad: En transacciones distribuidas es necesario introducir
medios de comunicación entre los diferentes nodos de una red para garantizar la
atomicidad y durabilidad de las transacciones. Así también, se requieren
protocolos para la recuperación local y para efectuar los compromisos (commit)
globales.

pág. 4
Algoritmos de control de concurrencia: Los algoritmos de control de concurrencia
deben sincronizar la ejecución de transacciones concurrentes bajo el criterio de
correctitud. La consistencia entre transacciones se garantiza mediante el
aislamiento de las mismas.
Protocolos de control de réplicas: El control de réplicas se refiere a cómo
garantizar la consistencia mutua de datos replicados. Por ejemplo, se puede seguir
la estrategia read-one-write-all (ROWA).

I. Defina los estados de una transacción:


Activa (estado inicial): la transacción permanece en este estado durante su ejecución.
Parcialmente Comprometida: la transacción pasa a este estado cuando acaba de
realizar la última instrucción.
Fallida: la transacción pasa a este estado tras descubrir que no puede continuar la
ejecución normal.
Abortada: la transacción pasa a este estado después de haber restablecido la base de
datos a su estado anterior.
Comprometida: la transacción pasa a este estado tras completarse con éxito.

J. El estándar ANSI/ISO SQL define cuatro niveles de aislamiento


transaccional en función de tres eventos que son permitidos o no
dependiendo del nivel de aislamiento. Estos eventos son:
 Lectura sucia: Las sentencias SELECT son ejecutadas sin realizar bloqueos, pero
podría usarse una versión anterior de un registro. Por lo tanto, las lecturas no son
consistentes al usar este nivel de aislamiento.
 Lectura no repetible: Una transacción vuelve a leer datos que previamente había
leído y encuentra que han sido modificados o eliminados por una transacción cursada.
 Lectura fantasma: Una transacción vuelve a ejecutar una consulta, devolviendo un
conjunto de registros que satisfacen una condición de búsqueda y encuentra que otros
registros que satisfacen la condición han sido insertados por otra transacción cursada.

pág. 5
2. PROYECTO:
Uso de Commit y Rollback en Mysql (Transacciones)

Una transacción tiene dos finales posibles, COMMIT y ROLLBACK. Por defecto, MySQL trae
activado el modo autocommit, es decir, realizada una transacción (por ejemplo un INSERT,
UPDATE o DELETE) el mismo es confirmado apenas es ejecutado. Para desactivar el autocommit,
se puede desactivar el autocomit ejecutando el comando:

SET AUTOCOMMIT=0;

Una vez deshabilitado el autocommit, tendremos que utilizar obligatoriamente el COMMIT para
confirmar o ROLLBACK para deshacer la transacción.

Si se quiere deshabilitar el autocommit para una serie de comandos, lo ideal es utilizar START
TRANSACTION (sin necesidad de setear el AUTOCOMMIT en 0).

Al ejecutar una transacción, el motor de base de datos nos garantizará la atomicidad, consistencia,
aislamiento y durabilidad (ACID) de la transacción (o conjunto de comandos) que se utilice.

Begin;

Prepara el inicio de una transacción, los comandos de transacción se escriben después de esta
instrucción.

Commit;

Efectúa los cambios que se hayan realizado después de Begin;

Rollback;

Deshace todas las sentencias ejecutadas después de la sentencia begin;

Commit

Ir a la navegaciónIr a la búsqueda

Consolidar, confirmar1 o hacer un commit se refiere, en el contexto de la ciencia de la


computación y la gestión de datos, a la idea de confirmar un conjunto de cambios provisionales de
forma permanente. Un uso popular es al final de una transacción de base de datos.

Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema
gestor de base de datos relacional (RDBMS) y hace visibles todos los cambios a otros usuarios. El
formato general es emitir una sentencia BEGIN WORK o BEGIN TRANSACTION (o la que sea para el
lenguaje SQL en cuestión), una o más sentencias SQL, y entonces la sentencia COMMIT.2

pág. 6
BEGIN TRANSACTION;

DELETE FROM Paises.telefonos

WHERE id_telefono = 555555555;

COMMIT TRANSACTION;

En términos de transacciones, lo opuesto de una consolidación para descartar el intento de


realizar cambios de una transacción es una reversión o rollback. Se puede enviar una sentencia
ROLLBACK de reversión de transacción, la cual deshace todo el trabajo realizado desde que se
emitió BEGIN TRANSACTION. Una sentencia COMMIT eliminará cualquiera de los puntos de
recuperación existentes que puedan estar en uso.

En caso que tu proyecto requiera del empleo de transacciones en MySQL, establece el modo
transaccional en el SGDB de MySQL de tu proyecto aplicando el procedimiento para este efecto.
Es importante que paso a paso obtengas las imágenes y las insertes en el documento de Word,
donde deberás describir lo que estas realizando.

Pasos para poner en practica el modo transaccional.

1: Crear o tener una base de datos funcionando, con campos incluidos.

pág. 7
PARA ELLO TRABAJAREMOS CON
LA BASE DE DATOS FERRETERIA

2: EN SEGUIDA OBSERVAREMOS EL CONTENIDO DE LA


BASE DE DATOS CON SUS TABLAS:

3: EN ESTAS TABLAS TRABAJAREMOS PARA REALIZAR


LAS TRANZACCIONES NECESARIAS.
PARA ELLO LAS TABLAS DEBERAN TENER DATOS YA
INCLUIDOS.

PARA ELLO TRABAJAREMOS EN LA TABLA VENTAS Y EN


PRODUCTO.

pág. 8
El primer paso para realizar dicha transacción trabajaremos con
COMMIT.
PARA ELLO DEBEMOS METER ESTE CODIGO EN SQL

START TRANSACTION;
INSERT INTO producto (codigo, nit_proveedor, producto, precio)
VALUES (5,'VITROMEX','pegamento',47);
UPDATE venta SET cantidad = (cantidad+3) WHERE
codigo_producto=14;
COMMIT;

SELECT * FROM producto;

ROLLBACK

pág. 9
PARA ELLO DEBEMOS METER ESTE CODIGO EN SQL

Al ejecutar estas sentencias se deben realizar pero el ROLLBACK las


eliminara.
Por lo tanto, en la tabla proveedor no debe existir ningún registro.

pág. 10

También podría gustarte