Anda di halaman 1dari 15

Base de Datos II

NOCIONES GENERALES
1. Relaciones entre
la base de datos y la
organización física
En el momento de la creación de una
base de datos es necesario precisar,
al menos, dos archivos. El primero
servirá para almacenar los datos y el
segundo será utilizado por el diario
con el objetivo de almacenar las
imágenes antes y después de una
modificación de los datos.
Estos dos archivos son obligatorios y
propios de cada base de datos. En
SQL Server, no es posible compartir
un archivo de datos o el diario entre
varias bases de datos.
2. El concepto de transacción
a) ¿Qué es una transacción?
Es un conjunto indivisible de sentencias Transact SQL. Una transacción se ejecuta de manera completa y no se
admite la ejecución de una sentencia individual de manera aislada. El motor SQL debe ser capaz, mientras la
transacción no ha terminado, de restaurar los datos al estado inicial.

Ejemplo: Retirada de dinero de un cajero automático

b) Las sentencias Transact SQL


1. BEGIN TRAN (comienzo de la transacción)

2. COMMIT TRAN (la finalización con éxito)

3. ROLLBACK TRAN (la finalización con errores)

4. SAVE TRAN (definición de los puntos de parada)


Las Sentencias Transact - SQL
1. BEGIN TRAN[SACTION]

Permite iniciar de manera explícita una transacción. Si este comando no está presente, toda
instrucción SQL es una transacción implícita que se valida (COMMIT) tan pronto como se
efectúa la modificación sobre los datos.

BEGIN { TRAN | TRANSACTION } [nombreTransacción]


[ WITH MARK [ ’descripción’ ] ]
[;]
Las Sentencias Transact - SQL
1. BEGIN
TRAN[SACTION]

En el ejemplo
siguiente, se
inicia una nueva
transacción.
Las Sentencias Transact - SQL
2. SAVE TRAN

Esta instrucción permite definir los puntos de parada y por lo tanto permite anular una parte
de la transacción en curso. Es posible definir varios puntos de parada en una misma
transacción. Para permitir la anulación hasta un punto de parada preciso, generalmente se
identifican por un nombre.

SAVE { TRAN | TRANSACTION } {nombrePuntoParada}[;]


Las Sentencias Transact - SQL
1. SAVE TRAN

En el ejemplo
siguiente, se
define el punto
de parada P1 y
después se
añade un nuevo
cliente.
Las Sentencias Transact - SQL
3. ROLLBACK TRAN[SACTION]

La instrucción ROLLBACK permite anular una parte o la totalidad de la transacción, es decir,


parte de las modificaciones realizadas sobre los datos. La anulación parcial de una
transacción solo es posible si se han definido puntos de parada con la ayuda de la instrucción
SAVE TRAN. No es posible detener la anulación entre dos puntos de parada.

ROLLBACK { TRAN | TRANSACTION }


[nombreTransacción|nombrePuntoParada][;]
Las Sentencias Transact - SQL
3. ROLLBACK TRAN[SACTION]

En el ejemplo siguiente, se
eliminan los clientes sin
pedido y después una consulta
cuenta el número de clientes
definidos en la base de datos.
Por último, la eliminación se
anula por medio de la
instrucción ROLLBACK, que
cancela todas las
modificaciones efectuadas
sobre los datos desde la
definición del punto de parada
P1.
Las Sentencias Transact - SQL
4. COMMIT

Esta instrucción permite poner fin con éxito a una transacción: es decir, conservar el
conjunto de modificaciones efectuadas en la transacción. Para el resto de los usuarios de la
base de datos, las modificaciones son visibles al final de la transacción.

COMMIT { TRAN | TRANSACTION } [nombreTransacción] [;]


Las Sentencias Transact - SQL
4. COMMIT

Se validan las
modificaciones y
finaliza la
transacción.
Las Sentencias Transact - SQL
NOTA:

Si en el curso de una transacción explícita el cliente que ha originado la transacción


interrumpe su conexión con el servidor, la transacción se anula (ROLLBACK)
automáticamente.
3. Los archivos de diario
Lectura en grupos y exposición
4. Los archivos de datos
Lectura en grupos y exposición
Bibliografía
GABILLAUD, J. (2017). SQL Server 2016 Aprender a administrar una base de datos transaccional
con SQL Server Management Studio. España: Ediciones ENI

Anda mungkin juga menyukai