Professional Documents
Culture Documents
AUTOR:
JHON EDUER LOPEZ TRUJILLO
MAGDA ORTEGA
GALO FABIAN MUÑOZ
ALEJANDRO LUIS LOPEZ
PRESENTADO A:
GREGORIO ARTURO BAREÑO MARIN
INGENIERO DE SISTEMAS MAGISTER EN SEGURIDAD INFORMÁTICA
Los DBA tienen la responsabilidad de mantener disponibles los servicios que presta
la base de datos, para ello deben controlar el comportamiento de los procesos que
acceden de forma concurrente sobre datos compartidos y los bloqueos que estos
generan sobre los mismos.
Una transacción es una unidad de trabajo que se compone de una o más instrucciones
SQL que realizan un conjunto de acciones relacionadas. Por ejemplo, la aplicación
podría utilizar una transacción para cambiar el número de CD de las existencias. El
proceso de actualizar la tabla o tablas aplicables y reportar la información actualiza-
da de regreso al usuario es tratado como una sola transacción. La transacción puede
incluir varias instrucciones SQL, realizando cada una de ellas una tarea
específica.Para que un conjunto de acciones califique como una transacción, debe
pasar la prueba ACID. ACID es el acrónimo comúnmente utilizado para referirse a
los nombres en inglés de las cuatro características de una transacción (Atomic,
Consistent, Isolated y Durable, respectivamente)
Transacciones implícitas
Se inicia implícitamente una nueva transacción cuando se ha completado la anterior,
pero cada transacción se completa explícitamente con una instrucción COMMIT o
ROLLBACK.
COMMIT Finaliza una transacción y permite completar todos los cambios a la base
de datos
Observe que la figura incluye cuatro de las instrucciones SQL relacionadas con las
transaccio-nes: SET TRANSACTION, START TRANSACTION, COMMIT y
ROLLBACK. Si se utiliza una instrucción SET TRANSACTION, ésta se ejecuta
antes de que la transacción inicie. Después de eso, una instrucción START
TRANSACTION inicia la transacción.
En el caso de SQL Server se utilizan seis instrucciones de Transact-SQL relacionadas
con las transacciones
COMMIT [WORK]: Pone fin con todo éxito a la transaccion que se inicio con la
instrucción BEGIN TRANSACTION y que todas las modificacines que la transaccion
se almacena en el disco (la clausula WORK es opcinal). Tambien se admite la
instruccin COMMIT TRANSACTION.
Ejemplo:
BEGIN TRANSACTION
INSERT INTO departamento (num_depto,nombre_depto)
VALUES('d4','Ventas');
SAVE TRANSACTION a;
INSERT INTO departamento (num_depto,nombre_depto)
VALUES('d5','Investigacion');
SAVE TRANSACTION b;
INSERT INTO departamento (num_depto,nombre_depto)
VALUES('d6','Administracion');
ROLLBACK TRANSACTION b;
INSERT INTO departamento (num_depto,nombre_depto)
VALUES('d7','Soporte');
ROLLBACK TRANSACTION a;
COMMIT TRANSACTION;
BLOQUEOS
NIVELES DE BLOQUEO
https://docs.microsoft.com/es-es/sql/t-sql/language-elements/transactions-
transact-sql?view=sql-server-2017
https://docs.microsoft.com/es-es/sql/2014-toc/sql-server-transaction-locking-
and-row-versioning-guide?view=sql-server-2014
Oppel, A. (2010). Fundamentos de SQL. (3a. ed.) McGraw-Hill Interamericana. Página 379. Tomado
de http://www.ebooks7-24.com.bdigital.sena.edu.co