SlideShare una empresa de Scribd logo
1 de 27
Ingeniería en Sistemas Computacionales
Taller de Base de Datos
Unidad V: Transacciones
Este material está desarrollado para la asignatura Taller de Base de Datos, de la carrera de Ingeniería en Sistemas
Computacionales, plan de estudios ISIC-2010-224
TALLER DE BASE DE DATOS
Competencia: Aplicar transacciones para garantizar la consistencia de la
base de datos.
TALLER DE BASE DE DATOS
Transacciones
• Una transacción es un conjunto de acciones llevadas a cabo por un usuario o
un programa de aplicación, que acceden o cambian el contenido de la base de
datos.
• Las transacciones representan
eventos del mundo real, como:
TALLER DE BASE DE DATOS
• Las características que se debe recoger de cada transacción son las siguientes:
1. Datos que utiliza la transacción.
2. Características funcionales de la transacción.
3. Salida de la transacción.
4. Importancia para los usuarios.
5. Frecuencia de utilización.
TALLER DE BASE DE DATOS
 En las transacciones de recuperación se accede a los datos para
visualizarlos en la pantalla a modo de informe.
 En las transacciones de actualización se insertan, borran o actualizan datos
de la base de datos.
 En las transacciones mixtas se mezclan operaciones de recuperación de
datos y de actualización.
TALLER DE BASE DE DATOS
Propiedades de las Transacciones
• Las transacciones deben cumplir cuatro propiedades ACID:
1. Atomicidad (Atomicity)
2. Consistencia (Consistency)
3. Aislamiento (Isolation)
4. Permanencia (Durability):
TALLER DE BASE DE DATOS
• Atomicidad (Atomicity): es la propiedad que asegura que la operación se ha
realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a
medias.
• Consistencia (Consistency): es la propiedad que asegura que sólo se empieza
aquello que se puede acabar. Por lo tanto, se ejecutan aquellas operaciones
que no van a romper la reglas y directrices de integridad de la base de datos.
TALLER DE BASE DE DATOS
• Aislamiento (Isolation): es la propiedad que asegura que una operación no
puede afectar a otras. Esto asegura que la realización de dos transacciones
sobre la misma información nunca generará ningún tipo de error.
• Permanencia (Durability): es la propiedad que asegura que una vez realizada
la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.
 Nota: Si la transacción no se puede finalizar por cualquier motivo, el
SGBD garantiza que los cambios realizados por esta transacción son
deshechos.
TALLER DE BASE DE DATOS
Diagrama de Estados de una Transacción
TALLER DE BASE DE DATOS
Retrocesos de transacciones:
Automáticos y programados
Grados de Consistencia de las Transacciones
• Consistencia es un término más amplio que el de integridad. Podría definirse
como la coherencia entre todos los datos de la base de datos.
• Cuando se pierde la integridad también se pierde la consistencia. Pero la
consistencia también puede perderse por razones de funcionamiento.
TALLER DE BASE DE DATOS
• Una transacción mantendrá la consistencia de la base de datos. Esto es, si la
base de datos se encuentra en un estado consistente antes de ejecutar la
transacción, una vez que ésta termine la consistencia de la base de datos
deberá conservarse. Por consistente se debe entender, internamente
consistente.
• Consistencia de datos: Eliminando o controlando las redundancias de datos
se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato
está almacenado una sola vez, cualquier actualización se debe realizar sólo
una vez, y está disponible para todos los usuarios inmediatamente. Si un dato
está duplicado y el sistema conoce esta redundancia, el propio sistema puede
encargarse de garantizar que todas las copias se mantienen consistentes.
TALLER DE BASE DE DATOS
• En términos de base de datos esto significa que se satisfacen todas las
restricciones en cuanto a su integridad que incluyen:
• Todos los valores de la llave primaria son únicos.
• La base de datos mantiene integridad referencial lo que significa que los
registros solo referencian información que existe.
• Ciertos predicados se mantienen. Por ejemplo, la suma de los gastos es
menor o igual al presupuesto.
• A diferencia de la atomicidad, el aislamiento y la durabilidad, la
consistencia es una práctica de programación. La atomicidad, el
aislamiento y la durabilidad están aseguradas estén o no programadas
para preservar la consistencia. Es responsabilidad del desarrollador de la
aplicación asegurar que su programa preserva la consistencia.
TALLER DE BASE DE DATOS
• Una transacción finalizada (confirmada parcialmente) puede no confirmarse
definitivamente (consistencia).
• Si se confirma definitivamente el sistema asegura la persistencia de los
cambios que ha efectuado en la base de datos.
• Si se anula los cambios que ha efectuado son deshechos.
• La ejecución de una transacción debe conducir a un estado de la base de
datos consistente (que cumple todas las restricciones de integridad
definidas).
• Si se confirma definitivamente el sistema asegura la persistencia de los
cambios que ha efectuado en la base de datos.
• Si se anula los cambios que ha efectuado son deshechos.
TALLER DE BASE DE DATOS
• Una transacción que termina con éxito se dice que está recogida o
comprometida (commited), una transacción que haya sido recogida llevará a
la base de datos a un nuevo estado consistente que debe permanecer incluso
si hay un fallo en el sistema
TALLER DE BASE DE DATOS
Niveles de Aislamiento
¿Qué es el Aislamiento?
• En bases de datos, el aislamiento es una propiedad que define cómo y
cuándo los cambios producidos por una operación se hacen visibles para las
demás operaciones concurrentes. Aislamiento es una de las 4 propiedades
ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad) aplicables a una
base de datos transaccional.
TALLER DE BASE DE DATOS
• De las cuatro propiedades ACID de un Sistema de gestión de bases de datos
relacionales (SGBDR) la de aislamiento es la que más frecuentemente se
relaja. Para obtener el mayor nivel de aislamiento, un SGBDR generalmente
hace un bloqueo de los datos o implementa un Control de concurrencia
mediante versiones múltiples (MVCC), lo que puede resultar en una pérdida
de concurrencia. Por ello se necesita añadir lógica adicional al programa que
accede a los datos para su funcionamiento correcto.
• Este es el nivel de aislamiento más alto. Especifica que todas las transacciones
ocurran de modo aislado, o dicho de otro modo, como si todas las
transacciones se ejecutaran de modo serie (una tras otra). La sensación de
ejecución simultánea de dos o más transacciones que perciben los usuarios
sería una ilusión producida por el SGBD.
TALLER DE BASE DE DATOS
Lecturas Recogidas (Read Commited)
• En este nivel de aislamiento, un SGBDR que implemente el control de
concurrencia basado en bloqueos mantiene los bloqueos de escritura -de los
datos seleccionados - hasta el final de la transacción, mientras que los
bloqueos de lectura se cancelan tan pronto como acaba la operación de
SELECT (por lo que el efecto de las lecturas no repetibles puede ocurrir, como
se explica más abajo). Al igual ocurría en el nivel anterior, no se gestionan los
bloqueos de rango.
TALLER DE BASE DE DATOS
Lecturas no Recogidas (Read Uncommited)
• Este es el menor nivel de aislamiento. En él se permiten las lecturas sucias(ver
más abajo), por lo que una transacción pude ver cambios no cometidos aún
por otra transacción.
TALLER DE BASE DE DATOS
Nivel de Aislamiento por Defecto
• El nivel de aislamiento por defecto de distintos SGBDR varía ampliamente. La
mayoría de bases de datos que gestionan transacciones permiten al usuario
establecer cualquier nivel de aislamiento.
• Algunos SGBDR requieren sintaxis especial cuando se realiza una operación
SELECT que efectúa bloqueos (e.g. SELECT ... FOR UPDATE para bloquear para
escritura aquéllas filas accedidas)
TALLER DE BASE DE DATOS
Commit y Rollback
¿Qué es commit?
• En el contexto de la Ciencia de la computación y la gestión de datos,
commit(acción de recoger o comprometer) se refiere a la idea de consignar
un conjunto de cambios "tentativos, o no permanentes".
• Un uso popular es al final de una transacción de base de datos.
TALLER 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 pone visibles todos los cambios a otros
usuarios. El formato general es emitir una sentencia BEGIN WORK, una o más
sentencias SQL, y entonces la sentencia COMMIT. Alternativamente, una
sentencia ROLLBACK se puede emitir, la cual deshace todo el trabajo realizado
desde que se emitió BEGIN WORK. Una sentencia COMMIT publicará
cualquiera de los savepoints (puntos de recuperación) existentes que puedan
estar en uso.
• En términos de transacciones, lo opuesto de commit para descartar los
cambios "en tentativa" de una transacción, es un rollback.
TALLER DE BASE DE DATOS
¿Qué es rollback?
• En tecnologías de base de datos, un rollback es una operación que devuelve a
la base de datos a algún estado previo. Los Rollbacks 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 de crashes de un servidor de base de
datos; realizando rollback(devuelto o deshecho) cualquier transacción que
estuviera activa en el tiempo del crash, la base de datos es restaurada a un
estado consistente.
TALLER DE BASE DE DATOS
• En SQL, ROLLBACK es un comando que causa que todos los cambios de datos
desde la última sentencia BEGIN WORK, o START TRANSACTION sean
descartados por el sistema de gestión de base de datos relacional (RDBMS),
para que el estado de los datos sea "rolled back"(devuelto o deshecho) a la
forma en que estaba antes de que aquellos cambios tuvieran lugar.
TALLER DE BASE DE DATOS
• BEGIN TRANSACTION (Transact-SQL): Marca el punto de inicio de una
transacción local explícita
Sintaxis
BEGIN { TRAN | TRANSACTION }
[ { transaction_name | @tran_name_variable }
[ WITH MARK [ 'description' ] ]
]
[ ; ]
TALLER DE BASE DE DATOS
COMMIT
• Esta instrucción de SQL se utiliza para confirmar como permanentes las
modificaciones realizadas en una transacción.
BEGIN TRANSACTION
Insert into Mvtos Values (‘0150’, ‘Dep’, 1500, ’08-10-2008’)
Insert into Mvtos Values (‘7120’, ‘Ret’, 1500, ’08-10-2008’)
Update Cuentas Set Saldo = Saldo + 1 where Numero = ‘0150’
Update Cuentas Set Saldo = Saldo – 1 Where Numero = ‘7120’
COMMIT TRANSACTION
• Con la instrucción commit tran se pone una marca para saber hasta que
punto se hizo la transacción.
TALLER DE BASE DE DATOS
Ejemplos
• Asignar un nombre a una transacción En el siguiente ejemplo se muestra
cómo asignar un nombre a una transacción.
DECLARE @TranName VARCHAR(20);
SELECT @TranName = 'MyTransaction';
BEGIN TRANSACTION @TranName;
USE AdventureWorks2012;
DELETE FROM AdventureWorks2012.HumanResources.JobCandidate
WHERE JobCandidateID = 13;
COMMIT TRANSACTION @TranName;
GO
TALLER DE BASE DE DATOS
• Marcar una transacción En el siguiente ejemplo se muestra cómo marcar una
transacción. Se marca la transacción CandidateDelete.
BEGIN TRANSACTION CandidateDelete
WITH MARK N'Deleting a Job Candidate';
GO
USE AdventureWorks2012;
GO
DELETE FROM AdventureWorks2012.HumanResources.JobCandidate
WHERE JobCandidateID = 13;
GO
COMMIT TRANSACTION CandidateDelete;
GO
TALLER DE BASE DE DATOS

Más contenido relacionado

La actualidad más candente

Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareWilliam Matamoros
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en discoYael_21
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosjocuva101
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedioEmanuel Gs
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlLic_Vera
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Transaccion
TransaccionTransaccion
Transaccion
 
SQLite
SQLiteSQLite
SQLite
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 

Destacado

BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencialiras loca
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movilJosé Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDJosé Antonio Sandoval Acosta
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalJosé Antonio Sandoval Acosta
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012José Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasJosé Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasJosé Antonio Sandoval Acosta
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de ComunicaciónJosé Antonio Sandoval Acosta
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionJosé Antonio Sandoval Acosta
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionJosé Antonio Sandoval Acosta
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilJosé Antonio Sandoval Acosta
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónJosé Antonio Sandoval Acosta
 

Destacado (20)

BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Topicos Avanzados de Programacion -  Unidad 5 programacion movilTopicos Avanzados de Programacion -  Unidad 5 programacion movil
Topicos Avanzados de Programacion - Unidad 5 programacion movil
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BDFundamentos de BD - Unidad 1 Sistemas Gestores de BD
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds Conexiones inalámbricas punto a punto usando wds
Conexiones inalámbricas punto a punto usando wds
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 

Similar a Taller de Base de Datos - Unidad 5 transacciones

Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Mayito Pdg
 
Gestión de transacciones y administrador de la base de datos
Gestión de transacciones y administrador de la base de datosGestión de transacciones y administrador de la base de datos
Gestión de transacciones y administrador de la base de datosralbarracin
 
Gestión transacciones
Gestión transaccionesGestión transacciones
Gestión transaccionesralbarracin
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidasVictor
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidasVictor
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLCarlos Gustavo Ruiz
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracleguestdb275b
 
Diseño de aplicaciones
Diseño de aplicacionesDiseño de aplicaciones
Diseño de aplicacionesUTN
 
Perspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosPerspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosDiana Vélez
 
Abf leccion 11
Abf leccion 11Abf leccion 11
Abf leccion 11victdiazm
 

Similar a Taller de Base de Datos - Unidad 5 transacciones (20)

Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Transaccion
TransaccionTransaccion
Transaccion
 
Gestión de transacciones y administrador de la base de datos
Gestión de transacciones y administrador de la base de datosGestión de transacciones y administrador de la base de datos
Gestión de transacciones y administrador de la base de datos
 
Gestión transacciones
Gestión transaccionesGestión transacciones
Gestión transacciones
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
Base datos
Base datosBase datos
Base datos
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracle
 
Diseño de aplicaciones
Diseño de aplicacionesDiseño de aplicaciones
Diseño de aplicaciones
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
ARQSQL.docx
ARQSQL.docxARQSQL.docx
ARQSQL.docx
 
Concurrencia y serialización final 2
Concurrencia y serialización final 2Concurrencia y serialización final 2
Concurrencia y serialización final 2
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Perspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosPerspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datos
 
Abd clase 5 y 6
Abd clase 5 y 6Abd clase 5 y 6
Abd clase 5 y 6
 
Abf leccion 11
Abf leccion 11Abf leccion 11
Abf leccion 11
 
Aplicaciones En Capas
Aplicaciones En CapasAplicaciones En Capas
Aplicaciones En Capas
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxMantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxJasserGonzalez2
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxfranklingerardoloma
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOalejandrocrisostomo2
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfLimbergleoMamaniIsit
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 
Manual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdfManual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdfgonzalo195211
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 

Último (20)

entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxMantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
Manual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdfManual deresolucion de ecuaciones por fracciones parciales.pdf
Manual deresolucion de ecuaciones por fracciones parciales.pdf
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 

Taller de Base de Datos - Unidad 5 transacciones

  • 1. Ingeniería en Sistemas Computacionales Taller de Base de Datos Unidad V: Transacciones Este material está desarrollado para la asignatura Taller de Base de Datos, de la carrera de Ingeniería en Sistemas Computacionales, plan de estudios ISIC-2010-224 TALLER DE BASE DE DATOS
  • 2. Competencia: Aplicar transacciones para garantizar la consistencia de la base de datos. TALLER DE BASE DE DATOS
  • 3. Transacciones • Una transacción es un conjunto de acciones llevadas a cabo por un usuario o un programa de aplicación, que acceden o cambian el contenido de la base de datos. • Las transacciones representan eventos del mundo real, como: TALLER DE BASE DE DATOS
  • 4. • Las características que se debe recoger de cada transacción son las siguientes: 1. Datos que utiliza la transacción. 2. Características funcionales de la transacción. 3. Salida de la transacción. 4. Importancia para los usuarios. 5. Frecuencia de utilización. TALLER DE BASE DE DATOS
  • 5.  En las transacciones de recuperación se accede a los datos para visualizarlos en la pantalla a modo de informe.  En las transacciones de actualización se insertan, borran o actualizan datos de la base de datos.  En las transacciones mixtas se mezclan operaciones de recuperación de datos y de actualización. TALLER DE BASE DE DATOS
  • 6. Propiedades de las Transacciones • Las transacciones deben cumplir cuatro propiedades ACID: 1. Atomicidad (Atomicity) 2. Consistencia (Consistency) 3. Aislamiento (Isolation) 4. Permanencia (Durability): TALLER DE BASE DE DATOS
  • 7. • Atomicidad (Atomicity): es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. • Consistencia (Consistency): es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto, se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad de la base de datos. TALLER DE BASE DE DATOS
  • 8. • Aislamiento (Isolation): es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información nunca generará ningún tipo de error. • Permanencia (Durability): es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.  Nota: Si la transacción no se puede finalizar por cualquier motivo, el SGBD garantiza que los cambios realizados por esta transacción son deshechos. TALLER DE BASE DE DATOS
  • 9. Diagrama de Estados de una Transacción TALLER DE BASE DE DATOS Retrocesos de transacciones: Automáticos y programados
  • 10. Grados de Consistencia de las Transacciones • Consistencia es un término más amplio que el de integridad. Podría definirse como la coherencia entre todos los datos de la base de datos. • Cuando se pierde la integridad también se pierde la consistencia. Pero la consistencia también puede perderse por razones de funcionamiento. TALLER DE BASE DE DATOS
  • 11. • Una transacción mantendrá la consistencia de la base de datos. Esto es, si la base de datos se encuentra en un estado consistente antes de ejecutar la transacción, una vez que ésta termine la consistencia de la base de datos deberá conservarse. Por consistente se debe entender, internamente consistente. • Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes. TALLER DE BASE DE DATOS
  • 12. • En términos de base de datos esto significa que se satisfacen todas las restricciones en cuanto a su integridad que incluyen: • Todos los valores de la llave primaria son únicos. • La base de datos mantiene integridad referencial lo que significa que los registros solo referencian información que existe. • Ciertos predicados se mantienen. Por ejemplo, la suma de los gastos es menor o igual al presupuesto. • A diferencia de la atomicidad, el aislamiento y la durabilidad, la consistencia es una práctica de programación. La atomicidad, el aislamiento y la durabilidad están aseguradas estén o no programadas para preservar la consistencia. Es responsabilidad del desarrollador de la aplicación asegurar que su programa preserva la consistencia. TALLER DE BASE DE DATOS
  • 13. • Una transacción finalizada (confirmada parcialmente) puede no confirmarse definitivamente (consistencia). • Si se confirma definitivamente el sistema asegura la persistencia de los cambios que ha efectuado en la base de datos. • Si se anula los cambios que ha efectuado son deshechos. • La ejecución de una transacción debe conducir a un estado de la base de datos consistente (que cumple todas las restricciones de integridad definidas). • Si se confirma definitivamente el sistema asegura la persistencia de los cambios que ha efectuado en la base de datos. • Si se anula los cambios que ha efectuado son deshechos. TALLER DE BASE DE DATOS
  • 14. • Una transacción que termina con éxito se dice que está recogida o comprometida (commited), una transacción que haya sido recogida llevará a la base de datos a un nuevo estado consistente que debe permanecer incluso si hay un fallo en el sistema TALLER DE BASE DE DATOS
  • 15. Niveles de Aislamiento ¿Qué es el Aislamiento? • En bases de datos, el aislamiento es una propiedad que define cómo y cuándo los cambios producidos por una operación se hacen visibles para las demás operaciones concurrentes. Aislamiento es una de las 4 propiedades ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad) aplicables a una base de datos transaccional. TALLER DE BASE DE DATOS
  • 16. • De las cuatro propiedades ACID de un Sistema de gestión de bases de datos relacionales (SGBDR) la de aislamiento es la que más frecuentemente se relaja. Para obtener el mayor nivel de aislamiento, un SGBDR generalmente hace un bloqueo de los datos o implementa un Control de concurrencia mediante versiones múltiples (MVCC), lo que puede resultar en una pérdida de concurrencia. Por ello se necesita añadir lógica adicional al programa que accede a los datos para su funcionamiento correcto. • Este es el nivel de aislamiento más alto. Especifica que todas las transacciones ocurran de modo aislado, o dicho de otro modo, como si todas las transacciones se ejecutaran de modo serie (una tras otra). La sensación de ejecución simultánea de dos o más transacciones que perciben los usuarios sería una ilusión producida por el SGBD. TALLER DE BASE DE DATOS
  • 17. Lecturas Recogidas (Read Commited) • En este nivel de aislamiento, un SGBDR que implemente el control de concurrencia basado en bloqueos mantiene los bloqueos de escritura -de los datos seleccionados - hasta el final de la transacción, mientras que los bloqueos de lectura se cancelan tan pronto como acaba la operación de SELECT (por lo que el efecto de las lecturas no repetibles puede ocurrir, como se explica más abajo). Al igual ocurría en el nivel anterior, no se gestionan los bloqueos de rango. TALLER DE BASE DE DATOS
  • 18. Lecturas no Recogidas (Read Uncommited) • Este es el menor nivel de aislamiento. En él se permiten las lecturas sucias(ver más abajo), por lo que una transacción pude ver cambios no cometidos aún por otra transacción. TALLER DE BASE DE DATOS
  • 19. Nivel de Aislamiento por Defecto • El nivel de aislamiento por defecto de distintos SGBDR varía ampliamente. La mayoría de bases de datos que gestionan transacciones permiten al usuario establecer cualquier nivel de aislamiento. • Algunos SGBDR requieren sintaxis especial cuando se realiza una operación SELECT que efectúa bloqueos (e.g. SELECT ... FOR UPDATE para bloquear para escritura aquéllas filas accedidas) TALLER DE BASE DE DATOS
  • 20. Commit y Rollback ¿Qué es commit? • En el contexto de la Ciencia de la computación y la gestión de datos, commit(acción de recoger o comprometer) se refiere a la idea de consignar un conjunto de cambios "tentativos, o no permanentes". • Un uso popular es al final de una transacción de base de datos. TALLER DE BASE DE DATOS
  • 21. 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 pone visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK, una o más sentencias SQL, y entonces la sentencia COMMIT. Alternativamente, una sentencia ROLLBACK se puede emitir, la cual deshace todo el trabajo realizado desde que se emitió BEGIN WORK. Una sentencia COMMIT publicará cualquiera de los savepoints (puntos de recuperación) existentes que puedan estar en uso. • En términos de transacciones, lo opuesto de commit para descartar los cambios "en tentativa" de una transacción, es un rollback. TALLER DE BASE DE DATOS
  • 22. ¿Qué es rollback? • En tecnologías de base de datos, un rollback es una operación que devuelve a la base de datos a algún estado previo. Los Rollbacks 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 de crashes de un servidor de base de datos; realizando rollback(devuelto o deshecho) cualquier transacción que estuviera activa en el tiempo del crash, la base de datos es restaurada a un estado consistente. TALLER DE BASE DE DATOS
  • 23. • En SQL, ROLLBACK es un comando que causa que todos los cambios de datos desde la última sentencia BEGIN WORK, o START TRANSACTION sean descartados por el sistema de gestión de base de datos relacional (RDBMS), para que el estado de los datos sea "rolled back"(devuelto o deshecho) a la forma en que estaba antes de que aquellos cambios tuvieran lugar. TALLER DE BASE DE DATOS
  • 24. • BEGIN TRANSACTION (Transact-SQL): Marca el punto de inicio de una transacción local explícita Sintaxis BEGIN { TRAN | TRANSACTION } [ { transaction_name | @tran_name_variable } [ WITH MARK [ 'description' ] ] ] [ ; ] TALLER DE BASE DE DATOS
  • 25. COMMIT • Esta instrucción de SQL se utiliza para confirmar como permanentes las modificaciones realizadas en una transacción. BEGIN TRANSACTION Insert into Mvtos Values (‘0150’, ‘Dep’, 1500, ’08-10-2008’) Insert into Mvtos Values (‘7120’, ‘Ret’, 1500, ’08-10-2008’) Update Cuentas Set Saldo = Saldo + 1 where Numero = ‘0150’ Update Cuentas Set Saldo = Saldo – 1 Where Numero = ‘7120’ COMMIT TRANSACTION • Con la instrucción commit tran se pone una marca para saber hasta que punto se hizo la transacción. TALLER DE BASE DE DATOS
  • 26. Ejemplos • Asignar un nombre a una transacción En el siguiente ejemplo se muestra cómo asignar un nombre a una transacción. DECLARE @TranName VARCHAR(20); SELECT @TranName = 'MyTransaction'; BEGIN TRANSACTION @TranName; USE AdventureWorks2012; DELETE FROM AdventureWorks2012.HumanResources.JobCandidate WHERE JobCandidateID = 13; COMMIT TRANSACTION @TranName; GO TALLER DE BASE DE DATOS
  • 27. • Marcar una transacción En el siguiente ejemplo se muestra cómo marcar una transacción. Se marca la transacción CandidateDelete. BEGIN TRANSACTION CandidateDelete WITH MARK N'Deleting a Job Candidate'; GO USE AdventureWorks2012; GO DELETE FROM AdventureWorks2012.HumanResources.JobCandidate WHERE JobCandidateID = 13; GO COMMIT TRANSACTION CandidateDelete; GO TALLER DE BASE DE DATOS