BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java...
Transcript of BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java...
![Page 1: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/1.jpg)
BASES DE DATOS
Ingeniería Informática
Matemáticas e Informática
![Page 2: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/2.jpg)
DIAPOSITIVA 1
BASES DE DATOS
Acceso a Bases de datos
en Java
![Page 4: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/4.jpg)
DIAPOSITIVA 3
Transacciones (I)
Una transacción es un conjunto de instrucciones a
ejecutar de forma indivisible o atómica.
Un SGBD se dice que es transaccional (ACID complaint)
si tiene las funcionalidades necesarias para que sus
transacciones tengan características ACID:
• Atomicidad
• Consistencia
• Aislamiento
• Persistencia
![Page 5: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/5.jpg)
DIAPOSITIVA 4
Transacciones (II)
START TRANSACTION; //no necesario set autocommit=0;
toda transacción marcada con start transaction el
autocommit se desactiva – también se puede usar BEGIN;
INSERT INTO actor(first_name, last_name, last_update)
VALUES ('Leonardo', 'DiCaprio', STR_TO_DATE('2016-
08-03 00:00:00', '%Y-%d-%m %k:%i:%s'));
COMMIT;
![Page 6: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/6.jpg)
DIAPOSITIVA 5
Transacciones (II)
Ver ejemplo – EX1
![Page 7: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/7.jpg)
DIAPOSITIVA 6
Transacciones (III)
START TRANSACTION;
INSERT INTO actor(first_name, last_name, last_update)
VALUES ('Marisa', 'Tomei', STR_TO_DATE('2012-03-05
00:00:00', '%Y-%d-%m %k:%i:%s'));
ROLLBACK;
![Page 8: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/8.jpg)
DIAPOSITIVA 7
Transacciones (III)
Ver ejemplo – EX2
![Page 9: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/9.jpg)
DIAPOSITIVA 8
Operadores de asignación (I)
“:=“ Asigna un valor
“= “ Asigna un valor (como parte de una sentencia SET o
como parte de la cláusula SET de una sentencia
UPDATE)
![Page 10: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/10.jpg)
DIAPOSITIVA 9
Operadores de asignación (II)
SELECT @nombre:=first_name FROM actor where
actor_id = 104; //nombre del actor
SELECT @film:=title FROM actor,film_actor,film where
actor.actor_id = 104 and actor.actor_id =
film_actor.actor_id and film_actor.film_id = film.film_id and
film.length > 180; //peliculas donde ha participado que
duran más de 3h
SELECT @nombre; //vemos el nombre
SELECT @film; //vemos la película (solo habrá una)
![Page 11: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/11.jpg)
DIAPOSITIVA 10
Operadores de asignación (II)
Ver ejemplo – EX3
![Page 12: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/12.jpg)
DIAPOSITIVA 11
Transacciones en Java (I)
El DELETE va a dar error. Explicar que ocurre.
![Page 13: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/13.jpg)
DIAPOSITIVA 12
Transacciones en Java (I)
Ver ejemplo – EJ2_9
![Page 14: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/14.jpg)
DIAPOSITIVA 13
Transacciones en Java (II)
![Page 15: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/15.jpg)
DIAPOSITIVA 14
Transacciones en Java (II)
Ver ejemplo – EJ2_10
![Page 16: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/16.jpg)
DIAPOSITIVA 15
Transacciones en Java (III)
Supongamos que el INSERT se ejecuta sin errores. ¿Devolverá el
resultado el SELECT?
![Page 17: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/17.jpg)
DIAPOSITIVA 16
Transacciones en Java (III)
Ver ejemplo – EJ2_11
![Page 18: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/18.jpg)
DIAPOSITIVA 17
Transacciones en Java (IV)
Supongamos que el INSERT se ejecuta sin errores. ¿Devolverá el
resultado el SELECT?
![Page 19: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/19.jpg)
DIAPOSITIVA 18
Transacciones en Java (IV)
Y ahora, el DELETE falla. ¿Estará el dato del INSERT en la BD? ¿Por
qué?
![Page 20: BASES DE DATOSocw.upm.es/pluginfile.php/512/mod_label/intro/9...DIAPOSITIVA 16 Transacciones en Java (III) Ver ejemplo – EJ2_11 DIAPOSITIVA 17 Transacciones en Java (IV) Supongamos](https://reader034.fdocuments.co/reader034/viewer/2022051511/600bceaa2375a91d883c1b3a/html5/thumbnails/20.jpg)
DIAPOSITIVA 19
Transacciones en Java (IV)
Ver ejemplo – EJ2_12