SlideShare una empresa de Scribd logo
1 de 14
BASE DE
DATOS IIIng. Marco Aurelio Porro Chulli
Ingeniería de Sistemas y
Telemática
INTEGRANTES:
 Sandrita Rafael Estela..
 Rosaliny Rivera Salazar.
TRANSACCIONES
TRANSACCIONES
Una transacción en un Sistema de Gestión de Bases de
Datos es un conjunto de órdenes que se ejecutan
formando una unidad de trabajo, es decir, en forma
indivisible o atómica. Si una transacción tiene éxito, todas
las modificaciones de los datos realizadas durante la
transacción se confirman y se convierten en una parte
permanente de la base de datos. Si una transacción
encuentra errores y debe cancelarse o revertirse, se
borran todas las modificaciones de los datos.
Atomicidad (Atomicity)
Una transacción es una unidad de trabajo en la que se produce
una serie de operaciones entre las instrucciones BEGIN
TRANSACTION y END TRANSACTION de una aplicación. Una
transacción se ejecuta exactamente una vez y tiene carácter
"atómico" (de subdivisión), es decir, el trabajo se realiza en su
totalidad o no se realiza en ningún caso.
Las operaciones asociadas a una transacción comparten
normalmente un objetivo común y son interdependientes. Si el
sistema ejecutase únicamente una parte de las operaciones,
podría poner en peligro el objetivo final de la transacción. La
atomicidad elimina la posibilidad de procesar un subconjunto de
operaciones.
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. Una operación nunca
deberá dejar datos inconsistentes.
Una transacción es una unidad de integridad porque
mantiene la coherencia de los datos, transformando un
estado coherente de datos en otro estado de datos
igualmente coherente.
Aislamiento (Isolation)
Los datos "sucios" deben estar aislados, y evitar que los
usuarios utilicen información que aún no está
confirmada o validada.
El aislamiento requiere que parezca que cada
transacción sea la única que manipula el almacén de
datos, aunque se puedan estar ejecutando otras
transacciones al mismo tiempo. Una transacción nunca
debe ver las fases intermedias de otra transacción.
Las transacciones alcanzan el nivel máximo de
aislamiento cuando se pueden serializar. En este nivel,
los resultados obtenidos de un conjunto de
transacciones concurrentes son idénticos a los
obtenidos mediante la ejecución en serie de las
transacciones.
Permanencia (Durability_DURABILIDAD)
Una vez completada la transacción los datos
actualizados ya serán permanentes y
confirmados.
Si una transacción se realiza satisfactoriamente,
el sistema garantiza que sus actualizaciones se
mantienen, aunque el equipo falle
inmediatamente después de la confirmación. El
registro especializado permite que el
procedimiento de reinicio del sistema complete
las operaciones no finalizadas, garantizando la
permanencia de la transacción.
La permanencia se suele implementar forzando a
los periféricos encargados de almacenar los
cambios a confirmar la completa y definitiva
transmisión de los datos al medio (generalmente,
el disco).
 Configuración automática
El Gestor de Datos inicia una transacción
automáticamente por cada operación que actualice
datos. De este modo mantiene siempre la
consistencia de la base de datos, aunque puede
generar bloqueos.
 Transacciones Implícitas
Cuando el Gestor de Datos comienza una
transacción automáticamente cada vez que se
produce una actualización de datos, pero el que
dicha transacción se confirme o se deshaga, lo
debe indicar el programador.
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.
 Transacciones Explícitas
Son las que iniciamos nosotros "a mano" mediante
instrucciones SQL, los programadores son los que
indican qué operaciones va a abarcar.
Cada transacción se inicia explícitamente con la
instrucción BEGIN TRANSACTION y se termina
explícitamente con una instrucción COMMIT o
ROLLBACK.
 Transacciones De ámbito de lote
Una transacción implícita o explícita de
Transact-SQL que se inicia en una sesión
de MARS (conjuntos de resultados activos
múltiples), que solo es aplicable a MARS,
se convierte en una transacción de ámbito
de lote. Si no se confirma o revierte una
transacción de ámbito de lote cuando se
completa el lote, SQL Server la revierte
automáticamente.
 Puntos de recuperacion (SavePoint).
Los puntos de recuperación (SavePoints) permiten
manejar las transacciones por pasos, pudiendo hacer
rollbacks hasta un punto marcado por el savepoint y no por
toda la transacción.
 Transacciones anidadas.
Podemos anidar varias transacciones. Cuando anidamos
varias transacciones la instrucción COMMIT afectará a la
última transacción abierta, pero ROLLBACK afectará a
todas las transacciones abiertas.
 BEGIN TRANSACTION
Marca el punto de inicio de una transacción explícita.
Representa un punto en el que los datos a los que hace referencia una
conexión son lógica y físicamente coherentes. Si se producen errores, se
pueden revertir todas las modificaciones realizadas en los datos después de
BEGIN TRANSACTION para devolver los datos al estado conocido de
coherencia.
Cada transacción dura hasta que se completa sin errores y se emite COMMIT
TRANSACTION para hacer que las modificaciones sean una parte permanente
de la base de datos, o hasta que se produzcan errores y se borren todas las
modificaciones con la instrucción ROLLBACK TRANSACTION.
SINTAXIS
--Applies to SQL Server and Azure SQL Database BEGIN { TRAN |
TRANSACTION } [ { transaction_name | @tran_name_variable } [ WITH MARK [
'description' ] ] ] [ ; ]
 ROLLBACK TRANSACTION
Revierte una transacción al principio de la misma. No se
confirman cambios para la transacción en la base de datos. La
instrucción ROLLBACK es idéntica a ROLLBACK WORK,
ROLLBACK TRAN y ROLLBACK TRANSACTION.
Una transacción no se puede revertir después de ejecutar una
instrucción COMMIT TRANSACTION, excepto cuando COMMIT
TRANSACTION está asociada a una transacción anidada
incluida en la transacción que se revierte. En esta instancia, la
transacción anidada se revierte, incluso si ha emitido una
instrucción COMMIT TRANSACTION para ella.
SINTAXIS
ROLLBACK { TRAN | TRANSACTION }
[ transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable ]
[ ; ]
 COMMIT TRANSACTION
Marca el final de una transacción explícita o de confirmación automática. Esta
instrucción hace que los cambios en la transacción se confirmen
permanentemente en la base de datos. La instrucción COMMIT es idéntica a
COMMIT WORK, COMMIT TRAN y COMMIT TRANSACTION.
Si la transacción que se ha confirmado era una transacción Transact-SQL
distribuida, COMMIT TRANSACTION hace que MS DTC utilice el protocolo de
confirmación en dos fases para confirmar los servidores involucrados en la
transacción.
Si una transacción local afecta a dos o más bases de datos de la misma instancia
del Motor de base de datos, la instancia utiliza una confirmación interna en dos
fases para confirmar todas las bases de datos involucradas en la transacción.
SINTAXIS
Database COMMIT [ { TRAN | TRANSACTION } [ transaction_name |
@tran_name_variable ] ] [ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ] [ ; ]
USE AdventureWorks2012;
GO
IF OBJECT_ID(N'TestTran',N'U') IS NOT NULL
DROP TABLE TestTran;
GO
CREATE TABLE TestTran (Cola int PRIMARY
KEY, Colb char(3));
GO
-- This statement sets @@TRANCOUNT to 1.
BEGIN TRANSACTION OuterTran;
GO
PRINT N'Transaction count after BEGIN OuterTran
= '
+ CAST(@@TRANCOUNT AS nvarchar(10));
GO
INSERT INTO TestTran VALUES (1, 'aaa');
GO
-- This statement sets @@TRANCOUNT to 2.
BEGIN TRANSACTION Inner1;
GO
PRINT N'Transaction count after BEGIN Inner1 = '
+ CAST(@@TRANCOUNT AS nvarchar(10));
GO
INSERT INTO TestTran VALUES (2, 'bbb');
GO
-- This statement sets @@TRANCOUNT to 3.
BEGIN TRANSACTION Inner2;
GO
PRINT N'Transaction count after BEGIN Inner2 = '
+ CAST(@@TRANCOUNT AS nvarchar(10));
GO
INSERT INTO TestTran VALUES (3, 'ccc');
GO
-- This statement decrements @@TRANCOUNT to 2.
-- Nothing is committed.
COMMIT TRANSACTION Inner2;
GO
PRINT N'Transaction count after COMMIT Inner2 = '
+ CAST(@@TRANCOUNT AS nvarchar(10));
GO
-- This statement decrements @@TRANCOUNT to 1.
-- Nothing is committed.
COMMIT TRANSACTION Inner1;
GO
PRINT N'Transaction count after COMMIT Inner1 = '
+ CAST(@@TRANCOUNT AS nvarchar(10));
GO
-- This statement decrements @@TRANCOUNT to 0
and
-- commits outer transaction OuterTran.
COMMIT TRANSACTION OuterTran;
GO
PRINT N'Transaction count after COMMIT OuterTran =
'
+ CAST(@@TRANCOUNT AS nvarchar(10));
GO
 De lo aprendido se puede concluir que, si en una transacción
una operación falla, en todo el bloque de instrucciones que
comprende las demás también fallarán.
 Concluimos también que toda transacción debe ajustarse a las
reglas de atomicidad, coherencia, aislamiento y durabilidad.
 Este tipo de transacciones no requieren de nuestra
intervención puesto que el sistema se encarga de todo.
 Sin embargo, si hay que realizar varias operaciones y
queremos que sean tratadas como una unidad tenemos que
crear esas transacciones de manera explícita.
 Aprender el uso de transacciones es importante
para poder asegurar integridad de una operación.
 Las transacciones deben durar lo mínimo posible
para evitar bloqueos que terminen en problemas
de performance.

Más contenido relacionado

La actualidad más candente

Estados de transicion de procesos
Estados de transicion de procesosEstados de transicion de procesos
Estados de transicion de procesosLarry Cepeda
 
Representacion del diagrama de estado..docx
Representacion del diagrama de estado..docxRepresentacion del diagrama de estado..docx
Representacion del diagrama de estado..docxhoneyjimenez
 
Estados y Transiciones
Estados y TransicionesEstados y Transiciones
Estados y TransicionesLuis Guerrero
 
transaction-management
transaction-managementtransaction-management
transaction-managementShami Zama
 
Modelo de estados
Modelo de estadosModelo de estados
Modelo de estadosYNPARDO
 
Sincronización de Procesos
Sincronización de ProcesosSincronización de Procesos
Sincronización de ProcesosLuis Lastra Cid
 
ESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUjorgeleo22
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estadoszombra18
 
Modelos de estados y transiciones
Modelos de estados y transicionesModelos de estados y transiciones
Modelos de estados y transicionesDaniel Vargas
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
Concepto de semáforo, exclusión mutua y sección critica.
Concepto de semáforo, exclusión mutua y sección critica.Concepto de semáforo, exclusión mutua y sección critica.
Concepto de semáforo, exclusión mutua y sección critica.Uriel Martinez Cervantes
 

La actualidad más candente (15)

Estados de transicion de procesos
Estados de transicion de procesosEstados de transicion de procesos
Estados de transicion de procesos
 
Representacion del diagrama de estado..docx
Representacion del diagrama de estado..docxRepresentacion del diagrama de estado..docx
Representacion del diagrama de estado..docx
 
Estados y Transiciones
Estados y TransicionesEstados y Transiciones
Estados y Transiciones
 
transaction-management
transaction-managementtransaction-management
transaction-management
 
Modelos de procesos (1)
Modelos de procesos (1)Modelos de procesos (1)
Modelos de procesos (1)
 
Modelo de estados
Modelo de estadosModelo de estados
Modelo de estados
 
Sincronización de Procesos
Sincronización de ProcesosSincronización de Procesos
Sincronización de Procesos
 
ESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPU
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estados
 
computacion I
computacion Icomputacion I
computacion I
 
Modelos de estados y transiciones
Modelos de estados y transicionesModelos de estados y transiciones
Modelos de estados y transiciones
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Concepto de semáforo, exclusión mutua y sección critica.
Concepto de semáforo, exclusión mutua y sección critica.Concepto de semáforo, exclusión mutua y sección critica.
Concepto de semáforo, exclusión mutua y sección critica.
 
Procedures funciones
Procedures funcionesProcedures funciones
Procedures funciones
 
PLC: GRAFCET
PLC: GRAFCETPLC: GRAFCET
PLC: GRAFCET
 

Similar a Transacciones (20)

TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sql
 
Transacciones
Transacciones Transacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transaccion
TransaccionTransaccion
Transaccion
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridad
 
Manejo de transaccones
Manejo de transacconesManejo de transaccones
Manejo de transaccones
 
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
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Transaccion
TransaccionTransaccion
Transaccion
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptx
 

Más de Sandrita Rafael Estela (10)

INTELIGENCIA DE NEGOCIOS (BUSINESS INTELLIGENCE)
INTELIGENCIA DE NEGOCIOS  (BUSINESS INTELLIGENCE)INTELIGENCIA DE NEGOCIOS  (BUSINESS INTELLIGENCE)
INTELIGENCIA DE NEGOCIOS (BUSINESS INTELLIGENCE)
 
Transacciones
TransaccionesTransacciones
Transacciones
 
San triggers
San triggersSan triggers
San triggers
 
Procedimientos almacenadoss
Procedimientos almacenadossProcedimientos almacenadoss
Procedimientos almacenadoss
 
Transac sq ll
Transac sq llTransac sq ll
Transac sq ll
 
Ejecutables en netbeans
Ejecutables en netbeans Ejecutables en netbeans
Ejecutables en netbeans
 
Diapositivas proyecto-constructora
Diapositivas proyecto-constructoraDiapositivas proyecto-constructora
Diapositivas proyecto-constructora
 
Reportes
ReportesReportes
Reportes
 
Preparedstatemet
Preparedstatemet Preparedstatemet
Preparedstatemet
 
Java
Java Java
Java
 

Último

hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 

Último (20)

hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 

Transacciones

  • 1. BASE DE DATOS IIIng. Marco Aurelio Porro Chulli Ingeniería de Sistemas y Telemática INTEGRANTES:  Sandrita Rafael Estela..  Rosaliny Rivera Salazar. TRANSACCIONES
  • 2. TRANSACCIONES Una transacción en un Sistema de Gestión de Bases de Datos es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica. Si una transacción tiene éxito, todas las modificaciones de los datos realizadas durante la transacción se confirman y se convierten en una parte permanente de la base de datos. Si una transacción encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos.
  • 3. Atomicidad (Atomicity) Una transacción es una unidad de trabajo en la que se produce una serie de operaciones entre las instrucciones BEGIN TRANSACTION y END TRANSACTION de una aplicación. Una transacción se ejecuta exactamente una vez y tiene carácter "atómico" (de subdivisión), es decir, el trabajo se realiza en su totalidad o no se realiza en ningún caso. Las operaciones asociadas a una transacción comparten normalmente un objetivo común y son interdependientes. Si el sistema ejecutase únicamente una parte de las operaciones, podría poner en peligro el objetivo final de la transacción. La atomicidad elimina la posibilidad de procesar un subconjunto de operaciones.
  • 4. 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. Una operación nunca deberá dejar datos inconsistentes. Una transacción es una unidad de integridad porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente.
  • 5. Aislamiento (Isolation) Los datos "sucios" deben estar aislados, y evitar que los usuarios utilicen información que aún no está confirmada o validada. El aislamiento requiere que parezca que cada transacción sea la única que manipula el almacén de datos, aunque se puedan estar ejecutando otras transacciones al mismo tiempo. Una transacción nunca debe ver las fases intermedias de otra transacción. Las transacciones alcanzan el nivel máximo de aislamiento cuando se pueden serializar. En este nivel, los resultados obtenidos de un conjunto de transacciones concurrentes son idénticos a los obtenidos mediante la ejecución en serie de las transacciones.
  • 6. Permanencia (Durability_DURABILIDAD) Una vez completada la transacción los datos actualizados ya serán permanentes y confirmados. Si una transacción se realiza satisfactoriamente, el sistema garantiza que sus actualizaciones se mantienen, aunque el equipo falle inmediatamente después de la confirmación. El registro especializado permite que el procedimiento de reinicio del sistema complete las operaciones no finalizadas, garantizando la permanencia de la transacción. La permanencia se suele implementar forzando a los periféricos encargados de almacenar los cambios a confirmar la completa y definitiva transmisión de los datos al medio (generalmente, el disco).
  • 7.  Configuración automática El Gestor de Datos inicia una transacción automáticamente por cada operación que actualice datos. De este modo mantiene siempre la consistencia de la base de datos, aunque puede generar bloqueos.  Transacciones Implícitas Cuando el Gestor de Datos comienza una transacción automáticamente cada vez que se produce una actualización de datos, pero el que dicha transacción se confirme o se deshaga, lo debe indicar el programador. 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.  Transacciones Explícitas Son las que iniciamos nosotros "a mano" mediante instrucciones SQL, los programadores son los que indican qué operaciones va a abarcar. Cada transacción se inicia explícitamente con la instrucción BEGIN TRANSACTION y se termina explícitamente con una instrucción COMMIT o ROLLBACK.
  • 8.  Transacciones De ámbito de lote Una transacción implícita o explícita de Transact-SQL que se inicia en una sesión de MARS (conjuntos de resultados activos múltiples), que solo es aplicable a MARS, se convierte en una transacción de ámbito de lote. Si no se confirma o revierte una transacción de ámbito de lote cuando se completa el lote, SQL Server la revierte automáticamente.  Puntos de recuperacion (SavePoint). Los puntos de recuperación (SavePoints) permiten manejar las transacciones por pasos, pudiendo hacer rollbacks hasta un punto marcado por el savepoint y no por toda la transacción.  Transacciones anidadas. Podemos anidar varias transacciones. Cuando anidamos varias transacciones la instrucción COMMIT afectará a la última transacción abierta, pero ROLLBACK afectará a todas las transacciones abiertas.
  • 9.  BEGIN TRANSACTION Marca el punto de inicio de una transacción explícita. Representa un punto en el que los datos a los que hace referencia una conexión son lógica y físicamente coherentes. Si se producen errores, se pueden revertir todas las modificaciones realizadas en los datos después de BEGIN TRANSACTION para devolver los datos al estado conocido de coherencia. Cada transacción dura hasta que se completa sin errores y se emite COMMIT TRANSACTION para hacer que las modificaciones sean una parte permanente de la base de datos, o hasta que se produzcan errores y se borren todas las modificaciones con la instrucción ROLLBACK TRANSACTION. SINTAXIS --Applies to SQL Server and Azure SQL Database BEGIN { TRAN | TRANSACTION } [ { transaction_name | @tran_name_variable } [ WITH MARK [ 'description' ] ] ] [ ; ]
  • 10.  ROLLBACK TRANSACTION Revierte una transacción al principio de la misma. No se confirman cambios para la transacción en la base de datos. La instrucción ROLLBACK es idéntica a ROLLBACK WORK, ROLLBACK TRAN y ROLLBACK TRANSACTION. Una transacción no se puede revertir después de ejecutar una instrucción COMMIT TRANSACTION, excepto cuando COMMIT TRANSACTION está asociada a una transacción anidada incluida en la transacción que se revierte. En esta instancia, la transacción anidada se revierte, incluso si ha emitido una instrucción COMMIT TRANSACTION para ella. SINTAXIS ROLLBACK { TRAN | TRANSACTION } [ transaction_name | @tran_name_variable | savepoint_name | @savepoint_variable ] [ ; ]
  • 11.  COMMIT TRANSACTION Marca el final de una transacción explícita o de confirmación automática. Esta instrucción hace que los cambios en la transacción se confirmen permanentemente en la base de datos. La instrucción COMMIT es idéntica a COMMIT WORK, COMMIT TRAN y COMMIT TRANSACTION. Si la transacción que se ha confirmado era una transacción Transact-SQL distribuida, COMMIT TRANSACTION hace que MS DTC utilice el protocolo de confirmación en dos fases para confirmar los servidores involucrados en la transacción. Si una transacción local afecta a dos o más bases de datos de la misma instancia del Motor de base de datos, la instancia utiliza una confirmación interna en dos fases para confirmar todas las bases de datos involucradas en la transacción. SINTAXIS Database COMMIT [ { TRAN | TRANSACTION } [ transaction_name | @tran_name_variable ] ] [ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ] [ ; ]
  • 12. USE AdventureWorks2012; GO IF OBJECT_ID(N'TestTran',N'U') IS NOT NULL DROP TABLE TestTran; GO CREATE TABLE TestTran (Cola int PRIMARY KEY, Colb char(3)); GO -- This statement sets @@TRANCOUNT to 1. BEGIN TRANSACTION OuterTran; GO PRINT N'Transaction count after BEGIN OuterTran = ' + CAST(@@TRANCOUNT AS nvarchar(10)); GO INSERT INTO TestTran VALUES (1, 'aaa'); GO -- This statement sets @@TRANCOUNT to 2. BEGIN TRANSACTION Inner1; GO PRINT N'Transaction count after BEGIN Inner1 = ' + CAST(@@TRANCOUNT AS nvarchar(10)); GO INSERT INTO TestTran VALUES (2, 'bbb'); GO -- This statement sets @@TRANCOUNT to 3. BEGIN TRANSACTION Inner2; GO PRINT N'Transaction count after BEGIN Inner2 = ' + CAST(@@TRANCOUNT AS nvarchar(10)); GO INSERT INTO TestTran VALUES (3, 'ccc'); GO -- This statement decrements @@TRANCOUNT to 2. -- Nothing is committed. COMMIT TRANSACTION Inner2; GO PRINT N'Transaction count after COMMIT Inner2 = ' + CAST(@@TRANCOUNT AS nvarchar(10)); GO -- This statement decrements @@TRANCOUNT to 1. -- Nothing is committed. COMMIT TRANSACTION Inner1; GO PRINT N'Transaction count after COMMIT Inner1 = ' + CAST(@@TRANCOUNT AS nvarchar(10)); GO -- This statement decrements @@TRANCOUNT to 0 and -- commits outer transaction OuterTran. COMMIT TRANSACTION OuterTran; GO PRINT N'Transaction count after COMMIT OuterTran = ' + CAST(@@TRANCOUNT AS nvarchar(10)); GO
  • 13.  De lo aprendido se puede concluir que, si en una transacción una operación falla, en todo el bloque de instrucciones que comprende las demás también fallarán.  Concluimos también que toda transacción debe ajustarse a las reglas de atomicidad, coherencia, aislamiento y durabilidad.  Este tipo de transacciones no requieren de nuestra intervención puesto que el sistema se encarga de todo.  Sin embargo, si hay que realizar varias operaciones y queremos que sean tratadas como una unidad tenemos que crear esas transacciones de manera explícita.
  • 14.  Aprender el uso de transacciones es importante para poder asegurar integridad de una operación.  Las transacciones deben durar lo mínimo posible para evitar bloqueos que terminen en problemas de performance.