Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Act4 JUAN PABLO MARTINEZ COLMENERO
Act4 JUAN PABLO MARTINEZ COLMENERO
ASIGNATURA:
BASE DE DATOS II
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:
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.
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
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í.
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).
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;
Rollback;
Commit
Ir a la navegaciónIr a la búsqueda
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;
COMMIT TRANSACTION;
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.
pág. 7
PARA ELLO TRABAJAREMOS CON
LA BASE DE DATOS FERRETERIA
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;
ROLLBACK
pág. 9
PARA ELLO DEBEMOS METER ESTE CODIGO EN SQL
pág. 10