SlideShare una empresa de Scribd logo
1 de 23
CI-5313 Arquitectura y Administración de Bases de Datos
2
Concurrencia
Transacción
Historia
Conflicto
Serializable..Serial
Operaciones
Read
Write
Commit
Rollback
CI-5313 Arquitectura y Administración de Bases de Datos
3
Transacciones
Transacción 1 Transacción 2
update cuenta
set saldo = saldo – 100 where
cid=1
Select sum(saldo)
from cuenta
update cuenta
set saldo = saldo + 60 where
cid=2
update cuenta
set saldo = saldo + 60 where
cid=2
CI-5313 Arquitectura y Administración de Bases de Datos
4
Transacción
Unidad Lógica de procesamiento de
bases de datos que incluye una o más
operaciones de acceso (Read y Write)
Un programa de aplicación puede contener
varias transacciones
begin
end
CI-5313 Arquitectura y Administración de Bases de Datos
5
Procesamiento de transacciones
Sistema mono-usuario.
Sistema multi-usuario:
Muchos usuarios pueden acceder de
forma concurrente
Concurrencia
Procesamiento intercalado:
Un solo CPU
Procesamiento paralelo. Varios CPU
tiempo
CI-5313 Arquitectura y Administración de Bases de Datos
6
Propiedades deseables de
transacciones
Atomicidad
Todas las actualizaciones se hacen
o ninguna
Consistencia
Satisface como un todo
restricciones de integridad
Aislamiento (Isolation)
Pareciera que las transacciones se
ejecutan en serie
Durabilidad
Si la transacción se compromete
(commit), las actualizaciones no se
perderán si hay fallas.
CI-5313 Arquitectura y Administración de Bases de Datos
7
Operaciones de una transacción
Read
Se busca el bloque en disco y se
transfiere a memoria - si no está ya
allí
Write
Se lleva el bloque de memoria a
disco – inmediatamente o
posteriormente
begin
end
CI-5313 Arquitectura y Administración de Bases de Datos
8
Operaciones de una transacción
Commit
Señala terminación exitosa. Las
actualizaciones pueden ser
comprometidas a la Base de Datos
y no serán deshechas
Rollback
La transacción se aborta, se
deshacen las actualizaciones y la
Base de Datos retorna a su estado
anterior
begin
end
CI-5313 Arquitectura y Administración de Bases de Datos
9
Problemas de procesamiento intercalado
ACID no se satisface
Unrepeatable Read: T2 lee antes de que T1 añada N
dando una suma incorrecta
Transacción 1 Transacción 2
sum:=0
read(A)
sum:=sum+A
read(X)
X:=X-N
Write(X)
read(X)
sum:=sum+X
read(Y)
sum:=sum+Y
Read(Y)
Y:=Y+N
Write(Y)
tiempo
CI-5313 Arquitectura y Administración de Bases de Datos
10
Problemas de procesamiento intercalado
ACID no se satisface
Transacción 1 Transacción 2
Read(X)
X:=X-N
read(X)
X:=X+M
write(X)
read(Y)
write(X)
y:=y+M
write(Y)
Lost Update: Las operaciones están intercaladas de tal
manera que write(X) realizada por T1 se pierde
tiempo
CI-5313 Arquitectura y Administración de Bases de Datos
11
Problemas de procesamiento intercalado
ACID no se satisface
Dirty Read: T1 falla y debe hacer ROLLBACK. T2 ha leido
un valor “sucio” de T1
Transacción 1 Transacción 2
Read(X)
X:=X-N
Write(X)
read(X)
X:=X+M
Write(X)
read(Y)
falla
tiempo
CI-5313 Arquitectura y Administración de Bases de Datos
12
Problemas de procesamiento intercalado
ACID no se satisface
Conflicto write-read
Dirty Read. Una transacción lee valor
de un dato escrito por otra transacción
que no ha hecho COMMIT
Conflicto read-write
Unrepeatable Read. Una transacción
lee valor de un dato varias veces. Entre
las lecturas, otra transacción la escribe
Conflicto write-write
Lost Update. Dos transacciones
actualizan el valor de un mismo dato.
Una actualziación sobreescribe la otra
tiempo
CI-5313 Arquitectura y Administración de Bases de Datos
13
Procesamiento intercalado
transacciones – Historia (Schedule)
El orden de ejecución de las operaciones
de varias transacciones conforma una
Historia de Ejecución.
Una Historia S de T1 …, Tn
Es un ordenamiento de las operaciones de
las transacciones, en donde para cada
transacción Ti se debe mantener el orden
de las operaciones de la transacción
Ejemplos
Sa: r1(X);r2(X);w1(X);r1(Y);w2(X);w1(Y)
Sb: r1(X);w1(X);r2(X);w2(X);r1(Y);a1
Transacciones
CI-5313 Arquitectura y Administración de Bases de Datos
14
Procesamiento intercalado
transacciones – Historia (Schedule)
Conflicto
Par de operaciones en conflicto
• Operaciones de dos transacciones diferentes T1
y T2
• Sobre el mismo elemento de datos
• Al menos una operación es write
r1(x), w2(x)
w1(x), r2(x)
w1(x), w2(x)
Transacciones
CI-5313 Arquitectura y Administración de Bases de Datos
15
Procesamiento intercalado
transacciones – Historia (Schedule)
Serial…Serializable
Historia Serial:
Si para cada transacción que participa en la
Historia, todas las operaciones son ejecutadas
consecutivamente
Si no se cumple es no serial.
Historia Serializable:
Si es equivalente a alguna ejecución serial de las
mismas transacciones
Transacciones
CI-5313 Arquitectura y Administración de Bases de Datos
16
Procesamiento intercalado
Transacciones – Historia (Schedule)
Serial
tiempo
Transacción 1 Transacción 2
read(A)
A:=A+100
write(A)
read(B)
B:=B+100
write(B)
read(A)
A=A*2
write(A)
read(B)
B=B*2
write(B)
CI-5313 Arquitectura y Administración de Bases de Datos
17
Procesamiento intercalado
transacciones – Historia (Schedule)
Serializable
tiempo
Transacción 1 Transacción 2
read(A)
A:=A+100
write(A)
read(A)
A=A*2
write(A)
read(B)
B:=B+100
write(B)
read(B)
B=B*2
write(B)
CI-5313 Arquitectura y Administración de Bases de Datos
18
Procesamiento intercalado
transacciones – Historia (Schedule)
No Serializable
tiempo
Transacción 1 Transacción 2
read(A)
A:=A+100
write(A)
read(B)
read(A)
A=A*2
write(A)
read(B)
B=B*2
write(B)
B:=B+100
write(B)
Lost Update: Las operaciones están intercaladas de tal
manera que write(B) realizada por T2 se pierde
CI-5313 Arquitectura y Administración de Bases de Datos
19
Procesamiento intercalado
transacciones – Historia (Schedule)
Equivalencia
tiempo
tiempo
Equivalentes?
Dos historias son Equivalentes por
Conflicto si el orden de dos operaciones
conflictivas es el mismo en ambas
historias.
Una Historia es Serializable por Conflicto si
es Equivalente por Conflcto a una Historia
Serial.
El rol del DBMS es asegurar que las
historias sean serializables
CI-5313 Arquitectura y Administración de Bases de Datos
20
Procesamiento intercalado
transacciones – Historia (Schedule)
Chequeo Serializable por Conflicto
Grafo de precedencia de la Historia
Un nodo por cada transacción Ti
Un arco de Ti a Tj si hay una operación
conflictiva de las transacciones, y la
operación de Ti precede a la de Tj
Si el grafo es acíclico, la Historia es
Serializable por Conflicto
CI-5313 Arquitectura y Administración de Bases de Datos
21
Procesamiento intercalado
transacciones – Historia (Schedule)
Chequeo Serializable por Conflicto
Grafo de precedencia de la Historia
Un nodo por cada transacción Ti
Un arco de Ti a Tj si hay una operación
conflictiva de las transacciones, y la
operación de Ti precede a la de Tj
Si el grafo tiene un ciclo, la Historia es
No Serializable por Conflicto
CI-5313 Arquitectura y Administración de Bases de Datos
22
Concurrencia
Otros conceptos por desarrollar
Historias
Recuperable
Cascadeless
Estricta
Control de Concurrencia
Locks
Timestamps
23
Departamento de Computación y Tecnología de la Información
Profesora Edna Ruckhaus

Más contenido relacionado

Destacado

Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamientoguest1db220
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datosJose Musett
 
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
 
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOINTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOjuan
 

Destacado (7)

Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamiento
 
Concurrencia
ConcurrenciaConcurrencia
Concurrencia
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
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
 
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOINTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 

Similar a Concurrencia en Bases de Datos (I)

acrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidadacrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidadHermesRR123
 
Transacciones y seguridad
Transacciones y seguridadTransacciones y seguridad
Transacciones y seguridadLuis Jherry
 
Clase practica de_transacciones_2_c2010
Clase practica de_transacciones_2_c2010Clase practica de_transacciones_2_c2010
Clase practica de_transacciones_2_c2010Luis Kyo
 
Transacciones y seguridad
Transacciones y seguridadTransacciones y seguridad
Transacciones y seguridadLuis Jherry
 

Similar a Concurrencia en Bases de Datos (I) (9)

acrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidadacrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
 
Concurrencias BD
Concurrencias BDConcurrencias BD
Concurrencias BD
 
Transacciones y seguridad
Transacciones y seguridadTransacciones y seguridad
Transacciones y seguridad
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Concurrencia y serialización final 2
Concurrencia y serialización final 2Concurrencia y serialización final 2
Concurrencia y serialización final 2
 
Abd clase 5 y 6
Abd clase 5 y 6Abd clase 5 y 6
Abd clase 5 y 6
 
Clase practica de_transacciones_2_c2010
Clase practica de_transacciones_2_c2010Clase practica de_transacciones_2_c2010
Clase practica de_transacciones_2_c2010
 
Transacciones y seguridad
Transacciones y seguridadTransacciones y seguridad
Transacciones y seguridad
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 

Concurrencia en Bases de Datos (I)

  • 1.
  • 2. CI-5313 Arquitectura y Administración de Bases de Datos 2 Concurrencia Transacción Historia Conflicto Serializable..Serial Operaciones Read Write Commit Rollback
  • 3. CI-5313 Arquitectura y Administración de Bases de Datos 3 Transacciones Transacción 1 Transacción 2 update cuenta set saldo = saldo – 100 where cid=1 Select sum(saldo) from cuenta update cuenta set saldo = saldo + 60 where cid=2 update cuenta set saldo = saldo + 60 where cid=2
  • 4. CI-5313 Arquitectura y Administración de Bases de Datos 4 Transacción Unidad Lógica de procesamiento de bases de datos que incluye una o más operaciones de acceso (Read y Write) Un programa de aplicación puede contener varias transacciones begin end
  • 5. CI-5313 Arquitectura y Administración de Bases de Datos 5 Procesamiento de transacciones Sistema mono-usuario. Sistema multi-usuario: Muchos usuarios pueden acceder de forma concurrente Concurrencia Procesamiento intercalado: Un solo CPU Procesamiento paralelo. Varios CPU tiempo
  • 6. CI-5313 Arquitectura y Administración de Bases de Datos 6 Propiedades deseables de transacciones Atomicidad Todas las actualizaciones se hacen o ninguna Consistencia Satisface como un todo restricciones de integridad Aislamiento (Isolation) Pareciera que las transacciones se ejecutan en serie Durabilidad Si la transacción se compromete (commit), las actualizaciones no se perderán si hay fallas.
  • 7. CI-5313 Arquitectura y Administración de Bases de Datos 7 Operaciones de una transacción Read Se busca el bloque en disco y se transfiere a memoria - si no está ya allí Write Se lleva el bloque de memoria a disco – inmediatamente o posteriormente begin end
  • 8. CI-5313 Arquitectura y Administración de Bases de Datos 8 Operaciones de una transacción Commit Señala terminación exitosa. Las actualizaciones pueden ser comprometidas a la Base de Datos y no serán deshechas Rollback La transacción se aborta, se deshacen las actualizaciones y la Base de Datos retorna a su estado anterior begin end
  • 9. CI-5313 Arquitectura y Administración de Bases de Datos 9 Problemas de procesamiento intercalado ACID no se satisface Unrepeatable Read: T2 lee antes de que T1 añada N dando una suma incorrecta Transacción 1 Transacción 2 sum:=0 read(A) sum:=sum+A read(X) X:=X-N Write(X) read(X) sum:=sum+X read(Y) sum:=sum+Y Read(Y) Y:=Y+N Write(Y) tiempo
  • 10. CI-5313 Arquitectura y Administración de Bases de Datos 10 Problemas de procesamiento intercalado ACID no se satisface Transacción 1 Transacción 2 Read(X) X:=X-N read(X) X:=X+M write(X) read(Y) write(X) y:=y+M write(Y) Lost Update: Las operaciones están intercaladas de tal manera que write(X) realizada por T1 se pierde tiempo
  • 11. CI-5313 Arquitectura y Administración de Bases de Datos 11 Problemas de procesamiento intercalado ACID no se satisface Dirty Read: T1 falla y debe hacer ROLLBACK. T2 ha leido un valor “sucio” de T1 Transacción 1 Transacción 2 Read(X) X:=X-N Write(X) read(X) X:=X+M Write(X) read(Y) falla tiempo
  • 12. CI-5313 Arquitectura y Administración de Bases de Datos 12 Problemas de procesamiento intercalado ACID no se satisface Conflicto write-read Dirty Read. Una transacción lee valor de un dato escrito por otra transacción que no ha hecho COMMIT Conflicto read-write Unrepeatable Read. Una transacción lee valor de un dato varias veces. Entre las lecturas, otra transacción la escribe Conflicto write-write Lost Update. Dos transacciones actualizan el valor de un mismo dato. Una actualziación sobreescribe la otra tiempo
  • 13. CI-5313 Arquitectura y Administración de Bases de Datos 13 Procesamiento intercalado transacciones – Historia (Schedule) El orden de ejecución de las operaciones de varias transacciones conforma una Historia de Ejecución. Una Historia S de T1 …, Tn Es un ordenamiento de las operaciones de las transacciones, en donde para cada transacción Ti se debe mantener el orden de las operaciones de la transacción Ejemplos Sa: r1(X);r2(X);w1(X);r1(Y);w2(X);w1(Y) Sb: r1(X);w1(X);r2(X);w2(X);r1(Y);a1 Transacciones
  • 14. CI-5313 Arquitectura y Administración de Bases de Datos 14 Procesamiento intercalado transacciones – Historia (Schedule) Conflicto Par de operaciones en conflicto • Operaciones de dos transacciones diferentes T1 y T2 • Sobre el mismo elemento de datos • Al menos una operación es write r1(x), w2(x) w1(x), r2(x) w1(x), w2(x) Transacciones
  • 15. CI-5313 Arquitectura y Administración de Bases de Datos 15 Procesamiento intercalado transacciones – Historia (Schedule) Serial…Serializable Historia Serial: Si para cada transacción que participa en la Historia, todas las operaciones son ejecutadas consecutivamente Si no se cumple es no serial. Historia Serializable: Si es equivalente a alguna ejecución serial de las mismas transacciones Transacciones
  • 16. CI-5313 Arquitectura y Administración de Bases de Datos 16 Procesamiento intercalado Transacciones – Historia (Schedule) Serial tiempo Transacción 1 Transacción 2 read(A) A:=A+100 write(A) read(B) B:=B+100 write(B) read(A) A=A*2 write(A) read(B) B=B*2 write(B)
  • 17. CI-5313 Arquitectura y Administración de Bases de Datos 17 Procesamiento intercalado transacciones – Historia (Schedule) Serializable tiempo Transacción 1 Transacción 2 read(A) A:=A+100 write(A) read(A) A=A*2 write(A) read(B) B:=B+100 write(B) read(B) B=B*2 write(B)
  • 18. CI-5313 Arquitectura y Administración de Bases de Datos 18 Procesamiento intercalado transacciones – Historia (Schedule) No Serializable tiempo Transacción 1 Transacción 2 read(A) A:=A+100 write(A) read(B) read(A) A=A*2 write(A) read(B) B=B*2 write(B) B:=B+100 write(B) Lost Update: Las operaciones están intercaladas de tal manera que write(B) realizada por T2 se pierde
  • 19. CI-5313 Arquitectura y Administración de Bases de Datos 19 Procesamiento intercalado transacciones – Historia (Schedule) Equivalencia tiempo tiempo Equivalentes? Dos historias son Equivalentes por Conflicto si el orden de dos operaciones conflictivas es el mismo en ambas historias. Una Historia es Serializable por Conflicto si es Equivalente por Conflcto a una Historia Serial. El rol del DBMS es asegurar que las historias sean serializables
  • 20. CI-5313 Arquitectura y Administración de Bases de Datos 20 Procesamiento intercalado transacciones – Historia (Schedule) Chequeo Serializable por Conflicto Grafo de precedencia de la Historia Un nodo por cada transacción Ti Un arco de Ti a Tj si hay una operación conflictiva de las transacciones, y la operación de Ti precede a la de Tj Si el grafo es acíclico, la Historia es Serializable por Conflicto
  • 21. CI-5313 Arquitectura y Administración de Bases de Datos 21 Procesamiento intercalado transacciones – Historia (Schedule) Chequeo Serializable por Conflicto Grafo de precedencia de la Historia Un nodo por cada transacción Ti Un arco de Ti a Tj si hay una operación conflictiva de las transacciones, y la operación de Ti precede a la de Tj Si el grafo tiene un ciclo, la Historia es No Serializable por Conflicto
  • 22. CI-5313 Arquitectura y Administración de Bases de Datos 22 Concurrencia Otros conceptos por desarrollar Historias Recuperable Cascadeless Estricta Control de Concurrencia Locks Timestamps
  • 23. 23 Departamento de Computación y Tecnología de la Información Profesora Edna Ruckhaus

Notas del editor

  1. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  2. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  3. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  4. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  5. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  6. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  7. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  8. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  9. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  10. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  11. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  12. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  13. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  14. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  15. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  16. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  17. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  18. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  19. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  20. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  21. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  22. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.
  23. En la clase de hoy comenzaremos con la segunda parte del curso que tiene que ver con el control de concurrencia, la recuperación de la base de datos y los mecanismos de seguridad. Para ello necesitaremos conocer el concepto de Transacción.