miércoles, 25 de marzo de 2015

actividad #13 C

Ejercicio de diseño de BDD: Sociedad médica
• Cuenta con una oficina central y 3 centros médicos. Cada centro médico atiende ciertas especialidades. Una especialidad se puede atender en varios centros. Todo centro médico tiene al menos una especialidad.
• Actualmente utilizan la siguiente BD relacional centralizada:



• Diseñar esquemas de fragmentación, replicación y asignación de una BDD que tenga la mayor autonomía local, sabiendo que en los centros se necesita:
– En la oficina central (Centro.Código=0) la información para realizar las nóminas de todos los empleados.
Código
Nombre
Dirección
tfno
*         Código, nombre, centro (centro) 
Código_e
nombre
salario
centro
σ   centro=”0” (empleado)
– En el resto de centros, los horarios de sus consultas y la información de su personal y de sus especialidades.
Centro:
centro
hora
empleado:
código
nombre
dirección
salario
irpd
fecha_inic
Especialida:
codig
nombre
descripcion
Medico:
código
funcion
experiencia

σ centro, hora (Consulta) centro=”1” or centro=”2”

*        código, nombre, dirección, salario, irpd, fecha_inic, centro (empleado)
*        código, nombre, descripción (especialidad)
*        código, función, experiencia (medico)



Ejercicio de diseño de BDD: Servicios informáticos
• Se divide en cuatro edificios, cada uno con su servidor de BD, donde hay una o varias unidades de desarrollo. Cada una se aloja en un solo edificio. Los empleados y proyectos están asignados a una unidad de desarrollo, aunque un empleado puede trabajar en un proyecto que no sea de su unidad.
• Actualmente utilizan la siguiente BD relacional centralizada:


• Diseñar esquemas de fragmentación, replicación y asignación de una BDD sabiendo que:
– Cada unidad gestiona las nóminas de sus empleados y necesita la información de los proyectos que realiza.
Empleado:
codigo
nombre
apellidos
dirección
unidad
Proyecto:
codigo
nombre
presupuesto
empresa
jefe
unidad

*        código, nombre, apellidos, dirección, unidad (empleado)
*         código, nombre, presupuesto, empresa, jefe, unidad (Proyecto)

– La unidad de Recursos humanos (edificio 0) realiza la facturación y usa todos los datos de las empresas. El resto de unidades sólo necesita el código y nombre de las empresas con las que trabaja.
Recursos humanos:
codigo
Nombre
Dirección
apdcorreos
*        Código, nombre, dirección, apdcorreos (empresa)
Código
nombre
*        Código, nombre (empresa) para las demás unidades

– Hay proyectos internos, y por tanto sin factura, que tienen valor nulo en su campo Empresa.
código
nombre
jefe
unidad
empresa

σ código, nombre, presupuesto, jefe, unidad empresa= NULL (Proyecto)


Ejercicio de consultas en BDD: Libros

• Esquema de fragmentación:
– Libro_a: σPrecio<=20€(Libro)
– Libro_b: σPrecio>20€ and Precio<=50€(Libro)
– Libro_c: σPrecio>50€ and Precio<=100€(Libro)
– Libro_d: σPrecio>100€(Libro)
– Almacén_1: σCodPostal<=3500(Almacén)
– Almacén_2: σCodPostal>3500 and CodPostal<=70000(Almacén)
– Almacén_3: σCodPostal>70000(Almacén)
– Existencias_i: Existencias |×Almacén=CódigoAlmacén_i
• Esquema de replicación y asignación:

• Qué subconsultas genera la ejecución de la siguiente consulta en el servidor 1:
select Código, TotalExistencias from Libro where Precio>15 and Precio<55
Código
Total existencias
Servidor1: σ código, total existencias     precio>15 and pecio<55 (libro)
• Qué modificaciones genera la actualización del precio del libro con código 1234 de 45€ a 55€ en el servidor 2
Servidor 2: σ precio>45 and código <55 and código=”1234” (libro)

• Escribir un ejemplo de consulta que ejecutada en el servidor 3 genere una subconsulta en el servidor 2

σ precio>25 and precio<100 Libro_2,Libro_3 [código, precio ]

actividad 13 parte B

Resumen

• Sistema de computación distribuido: elementos de procesamiento que cooperan en la ejecución de tareas, interconectados por una red de ordenadores.

– No han de ser homogéneos pueden tener diferentes SGBD y diferentes sistemas operativos.
– Dividen un problema en otros más manejables y los resuelven de modo coordinado, esto se hace a partir de una distribución.

• BD distribuida (BDD): son varias BD interrelacionadas lógicamente y situadas en diferentes nodos de una red de ordenadores, las cuales contienen fragmentos de la base de daos o se tiene la misma base de datos en los diferentes servidores.

• SGBD distribuido: el que gestiona BD distribuidas de forma transparente para el usuario (éste ve las BD como si fueran una sola BD centralizada). Este sistema gestor es el que permite la intaraccion de la base de datos con las aplicaciones.

• Ventajas de las BDD:
– Localización transparente de los datos: las instrucciones no dependen de dónde se ejecutan ni de dónde se sitúan los datos
– Transparencia en los nombres: un objeto se accede por su nombre, sin ambigüedad y sin especificar nada más.
– Transparencia de fragmentación: fragmentación horizontal es distribuir una  tabla en varios conjuntos de tuplas (cada uno en un ordenador). La vertical en distribuir la tabla en conjuntos de atributos. La consulta sobre la tabla se transforma de modo automático en varias consultas sobre sus fragmentos.
– Más fiabilidad y disponibilidad: Datos y software están en varios ordenadores. Si un ordenador falla los demás pueden seguir funcionando. Los datos y SW del que ha fallado son inaccesibles.  Con réplicas (copias) automáticas de datos y SW en varios ordenadores se pueden mejorar  estas situaciones.
– Mejora del rendimiento: Situando los datos en el ordenador donde se usan (o uno cercano): BD locales y más pequeñas. Solo si se tiene la base fragmentada, por lo contrario si se distribuye de forma que en todos los servidores tienen la base de datos completa se aria más pesada y más complicada de administrar.
– Expansión más sencilla: añadir más datos, más  procesadores o aumentar la BD, son tareas más sencillas.



Diseño de BDD: fragmentación

• Directorio (catálogo) global: contiene la información de fragmentación. Lo utiliza el SBDD.
• Fragmentar: decidir dónde situar las partes de la BDD
– Se puede plantear top-down (como aquí) o bottom-up
• Idea simple: situar cada tabla en un ordenador distinto
– Podemos generar fragmentos que compartan otros atributos además de la clave (no disjuntos)
• Toda fragmentación debería ser completa:
– Horizontal: todas las tuplas están en algún fragmento
– Vertical: todo atributo está en algún fragmento
• Fragmentación mixta: cuando se aplica fragmentación vertical y horizontal sobre la misma tabla
• Esquema de fragmentación es un conjunto de fragmentos que:
– Fragmentación completa: todos los atributos y tuplas están en algún fragmento
– Permite reconstruir la BD original.se debe crear correctamente para poder lograr la reconstrucción.
– Interesante (no necesario) que los fragmentos sean disjuntos
• La replicación mejora la disponibilidad de los datos
• Caso extremo: tener una réplica de la BD completa en cada sitio (ordenador):
– Ventajas: mejora el rendimiento local y global además de la disponibilidad (con un sitio activo se accede a toda la BD)
– Inconvenientes: actualizaciones más costosas (se deben realizar en todas las réplicas para mantener la coherencia). El control de concurrencia y recuperación es también más costoso. Se pone más complicado, y se debe de tomar en cuenta la actualización en tiempo real de todas las bases.

• El otro extremo es no tener ninguna replicación (salvo las claves primarias en fragmentos verticales).
• Entre ambos extremos: replicación parcial. Hay muchas posibilidades.
• Esquema de replicación: describe qué se replica
• Asignación: dónde se sitúan los fragmentos y réplicas
– La elección del lugar y el grado de replicación depende de los objetivos de rendimiento y disponibilidad. También del tipo de transacciones y su frecuencia.
– Encontrar una solución óptima o incluso una buena es un problema complejo




Descomposición de actualizaciones y consultas
• SGBD sin transparencia de distribución: hay que indicar el sitio y la tabla sobre la que se realiza la consulta.
• SGBD sin transparencia de replicación: hay que mantener a mano la consistencia de los datos
• SGBD con transparencia de distribución, replicación y fragmentación:
– La consulta o actualización se expresan como si se tratase de un SGBD centralizado
– El SGBD se encarga de descomponer y dirigir a los fragmentos adecuados




BDD y cliente-servidor:arquitectura de 2 niveles
• Los SGBD totalmente distribuidos (transparentes) aun no son viables comercialmente.  En su lugar se han creado sistemas basados en cliente-servidor.  La forma habitual de dividir la funcionalidad del SGBD entre cliente y servidor ha sido la arquitectura de 2 niveles:
– Servidor (o servidor SQL): donde se sitúa el SGBD. Una BDD se situaría en varios servidores.
– Clientes:
• Envían consultas/actualizaciones a servidores
• Tienen interfaces SQL, de usuario y funciones de interfaz del lenguaje de programación
• Consultan en el diccionario de datos la información sobre la distribución de la BD entre los servidores.


• Interacción cliente-servidor (arquitectura de 2 niveles):
– El cliente analiza la consulta del usuario. La descompone en varias subconsultas y envía cada una a un servidor.
– Cada servidor ejecuta su subconsulta y devuelve el resultado al cliente
– El cliente combina los resultados recibidos y muestra al usuario el resultado de su consulta.
• En este enfoque al servidor se le llama máquina back-end (o subyacente) y al cliente máquina front-end (de la parte visible).
• Al servidor también se le llama servidor de transacciones y procesador de BD y al cliente procesador de aplicaciones



BDD y cliente-servidor: arquitectura de 3 niveles
• Actualmente es más común utilizar una arquitectura en 3 niveles, sobre todo para aplicaciones web.
• Las 3 capas son:
– Cliente (Presentación):
• Es la interfaz (interfaces web, formularios, …)
• Suelen usar navegadores web y lenguajes como HTML, JavaScript, PERL, …
• Gestiona las entradas, salidas y la navegación con páginas web estáticas o, cuando accede a BD, con páginas dinámicas (ASP, JSP, …)
– Servidor de aplicaciones (SA) (lógica de negocio):
• Incluye, por ejemplo, consultas basadas en datos introducidos por el usuario, o resultados de consultas a los que da formato y envía para su presentación
• Puede incluir otro tipo de funcionalidad como comprobaciones de seguridad o de la identidad
• Puede acceder a varias BD conectándose mediante
ODBC, JDBC u otras técnicas
– Servidor de BD (SBD):
• Procesa consultas y actualizaciones solicitadas por la capa de aplicación
• Puede devolver los resultados en formato XML
• La división de funcionalidad entre las 3 capas puede variar.© A. Jaime 2005 DBD Tema 9 17
BDD y cliente-servidor: arquitectura de 3 niveles  (2)
• El servidor de aplicaciones (SA) también:
– Tiene acceso a diccionarios de datos para consultar cómo se distribuyen las BDD entre los servidores de BD
(SBD)
– Puede incluir módulos para descomponer una consulta en varias subconsultas locales a cada SBD
• La interacción entre SA y SBD puede ser así:
– El SA construye una consulta utilizando datos tomados por el cliente. Descompone la consulta en varias subconsultas, cada una de ellas local a un SBD, y las envía a sus correspondientes SBD.
– Cada SBD procesa sus consultas y envía los resultados al SA que las solicitó. Cada vez es más frecuente utilizar el formato XML para devolver los resultados.
– El SA combina los resultados para obtener el resultado de la consulta original. Dota al resultado de un formato, como HTML y lo envía al cliente para su presentación.
• El SA es responsable de (en arquitectura de 2 niveles lo es el cliente):
– Generar un plan de ejecución distribuido y supervisar su ejecución.
– Garantizar la consistencia de las réplicas de datos.
– Asegurar la atomicidad de las transacciones globales.


Documento 2:

Ø  RESUMEN: Los sistemas de información actuales se están enfocando cada vez más hacia arquitecturas descentralizadas y autónomas. Han surgido así los sistemas de datos distribuidas y más concretamente las bases de datos distribuidas para dar respuesta a estas necesidades. Los sistemas gestores de bases de datos distribuidas deben ofrecer al usuario un entorno que parezca centralizado, apareciendo así el concepto de transparencia a varios niveles: fragmentación, replicación y de consulta. En el presente trabajo, se ha diseñado un sistema gestor de base de datos distribuida que ofrece estas características de transparencia, utilizando la base de datos Oracle9i.


Ø  Estado actual de los SGBDD
Existen varios productos comerciales con bases de datos distribuidas, como:
• INGRES/STAR de Relational Technology, Inc.
• SQL*STAR, de Oracle Corp.
• DB2 versión 2 Edición 2, de IBM.
Desde el punto de vista académico los dos tipos de software conocidos son:
• Microsoft Access, con un SGBD muy sencillo porque da soporte a una base de datos de oficina muy poco sofisticada. No proporciona funcionalidad de BDD, pero se pueden implementar módulos que simulen la fragmentación, replicación y consultas distribuidas. Sin embargo, no se garantiza la fiabilidad del SGBDD desarrollado.
• MySQL, no proporciona actualmente soporte alguno para los BDD verdaderos.
• Oracle9i, (KOCH, G., 2003); no ofrece utilidades para fragmentar, replicar y realizar consultas optimizadas, pero se la ha elegido como plataforma para desarrollar la transparencia debido a sus prestaciones como SGBD.



Ø  Planteamiento del problema
Dado que el núcleo fundamental es desarrollar de manera automática las principales características de los SGBDD, se procede a la definición de los requisitos:

1.       Fragmentación de la base de datos original: La fragmentación debe poder ser mixta y derivada con asignación de los fragmentos a distintos nodos.
2.       Replicación de fragmentos de la base de datos: Se debe poder indicar los fragmentos que se replican y donde se replican.

3.       Consultas optimizadas, en la cual se puedan realizar tanto consultas locales como consulta globales a varios nodos, y que por tanto, involucran a tablas de varios nodos. Esto se puede realizar después de la fragmentación y replicación cualquier número de veces por un usuario corriente.

lunes, 23 de marzo de 2015

actividad 13 parte A


SGBD distribuido o SGBDD). Tipo de SGBD en donde la base de datos y el software SGBD pueden estar distribuidos en varios sitios, conectados por una red de computadoras. Se puede clasificar en:  SGBDD homogéneos: si emplean el mismo software SGBD en los múltiples sitios. *SGBDD heterogéneos: si emplean diferentes software SGBD en los múltiples sitios. En contraste al SGBD distribuido existe el SGBD centralizado, en donde la base de datos y el software residen en una única computadora.

FUNCIONES DE UN SGBDD
  • ·         Servicios Avanzados de Telecomunicaciones
  • ·         Catalogo Ampliado del sistema
  • ·         Procesamiento avanzado de consultas.
  • ·         Control avanzado de seguridad.
  • ·         Mecanismos avanzados de control de Concurrencia.
  • ·         Servicios avanzados de recuperaciones.

ARQITECTURA DE REFERENCIA PARA UN SGBDD
  • ·         Esquema conceptual global: Es una descripción lógica total de BD, como si no estuviera distribuida.
  • ·         Esquemas de fragmentación: Es una descripción del modo que hay que particionar lógicamente los datos
  • ·         Esquema de Asignación : Es una descripción de donde hay que ubicar los datos , teniendo en cuenta los mecanismos de replicación utilizados.
  • ·         Esquemas Locales: Cada SGBD local tiene su propio conjunto de esquema. El esquema de correspondencia local establece la correspondencia entre los fragmentos del esquema de asignación y los objetos externos de la base de datos local.


COMPONENTES DE UN SGBDD
  • ·         SGBD Local: Es un SGBD estándar, responsable de controlar los datos locales en cada nodo que tenga una base de datos.
  • ·         Componentes de comunicación de Datos: Es el software que permite que todos los nodos se comuniquen entre sí, y contiene información acerca de nodos y enlaces.
  • ·         Catalogo global de los sistemas: Tiene la misma funcionalidad que uno centralizado. Mantiene información específica de la naturaleza distribuida del sistema
  • ·         SGBD distribuido: Es la unidad de control del sistema completo.


Las bases de datos distribuidas se pueden crear con cualquier sgdb que soporte la replicación o la distribución. Ejemplo:

MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. Se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso.

Oracle Database es un sistema de gestión de base de datos objeto-relacional (u ORDBMS por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle Database como uno de los sistemas de bases de datos más completos, destacando:
·         Soporte de transacciones.
·         Estabilidad.
·         Escalabilidad.
·         soporte multiplataforma.

Informix
Es un gestor de base de datos creado por informix sofware Inc. Incluye un RDBMS (sistema Administrador de Base de datos relacionales/ Relational Data Base Manager System) basado en SQL,un lenguaje de cuarta generación y juegos de herramientas para la inclusión de SQL en programas de aplicación.


DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de gestión de base de datos
DB2 versión 9 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos xml para realizar operaciones y búsquedas de manera jerárquica dentro de éste, e integrarlo con búsquedas relacionales.

PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

viernes, 13 de marzo de 2015

actividad #12

Tipos de 
fragmentacion



Fragmentación Horizontal

Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de selección y su reconstrucción se realizará con una operación de unión de los fragmentos componentes.

Cada fragmento se sitúa en un nodo.Pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.


Tabla de alumnos fragmentada






Fragmentación Vertical

Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de proyección. Cada fragmento debe incluir la clave primaria de la tabla. Su reconstrucción se realizará con una operación de join de los fragmentos componentes, pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.







-Fragmentación Mixta

Como el mismo nombre indica es una combinación de las dos anteriores vistas he aquí un ejemplo a partir de una tabla fragmentada horizontalmente.

Enlace de la informacion



miércoles, 11 de marzo de 2015

actividad 11


1.       Transacciones
Es una unidad de trabajo que comprende por lo regular varias operaciones de bases de datos . el usuario debe de ser capaz de informar al sistema cuando haya operaciones distintas que forman parte de kla misma transacción. Para este fin se proporcionan las operaciones BEGIN TRANSACTION, COMMIT Y ROLLBACK (iniciar transacción, confirmar, deshacer). En esencia una transacción comienza cuando se ejecuta una operación BEGIN TRANSACTION y termina cuando se ejecuta una operación COMMIT o ROLLBACK correspondiente.
2.       ACID:
Se denomina ACID a un conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como una transacción. Así pues, si un sistema de gestión de bases de datos es ACID compliant quiere decir que el mismo cuenta con las funcionalidades necesarias para que sus transacciones tengan las características ACID.
En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español.

·         Atomicidad: 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. Se dice que una operación es atómica cuando es imposible para otra parte de un sistema encontrar pasos intermedios. Si esta operación consiste en una serie de pasos, todos ellos ocurren o ninguno. Por ejemplo, en el caso de una transacción bancaria o se ejecuta tanto el depósito como la deducción o ninguna acción es realizada.

·         Consistencia: Integridad. 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 las reglas y directrices de integridad de la base de datos. La propiedad de consistencia sostiene que cualquier transacción llevará a la base de datos desde un estado válido a otro también válido. "La Integridad de la Base de Datos nos permite asegurar que los datos son exactos y consistentes, es decir que estén siempre intactos, sean siempre los esperados y que de ninguna manera cambien ni se deformen. De esta manera podemos garantizar que la información que se presenta al usuario será siempre la misma."


·         Aislamiento: 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 sean independientes y no generen ningún tipo de error.  Esta propiedad define cómo y cuándo los cambios producidos por una operación se hacen visibles para las demás operaciones concurrentes.

·         Durabilidad: Persistencia. Es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema y que de esta forma los datos sobrevivan de alguna manera.
Cumpliendo estos 4 requisitos un sistema gestor de bases de datos puede ser considerado ACID Compliant.


3.       ¿Qué significa Tx?
Tx significa Transmisión o Transmisor (en este caso Transacción).

4.       ¿Para qué nos sirve el 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. Esta función finaliza la transacción actual y deshace los cambios realizados.

5.       Defina Integridad de datos.
 El término integridad se refiere a la exactitud o corrección de los datos en la base de datos. Una base de datos determinada podría estar sujeta a cualquier cantidad de restricciones de integridad (en general) de una complejidad arbitraria. Por ejemplo,  en el caso de la base de datos de proveedores y partes, es probable que los números de proveedor tuvieran que ser de la forma Vnnnn (nnnn - hasta cuatro dígitos decimales) y ser únicos; que los valores de status tuvieran que estar en el rango de 1 a 100; que los proveedores de Londres tuvieran un status de 20; que las cantidades de envío tuvieran que ser múltiplos de 50; que las partes rojas tuvieran que estar almacenadas en Londres; y así sucesivamente. Por lo tanto, comúnmente el DBMS necesita estar informado de dichas restricciones y por supuesto, necesita hacerlas cumplir de alguna manera (básicamente rechazando cualquier actualización que de otro modo las violaría).
Integridad de datos en general: hace referencia a que todas las características de los datos (reglas, definiciones, fechas, etc) deben ser correctos para que los datos estén completos.
Integridad de datos en bases de datos: Integridad de datos se refiere al estado de corrección y completitud de los datos ingresados en una base de datos.



6.       Defina concurrencia.
La concurrencia es la propiedad de los sistemas que permiten que múltiples procesos sean ejecutados al mismo tiempo, y que potencialmente puedan interactuar entre sí.

7.       Defina Grado de consistencia.
 Podría definirse como la coherencia entre todos los datos de la base de datos.

8.       Mencione aspectos relacionados al procesamiento de transacciones.
Los siguientes son los aspectos más importantes relacionados con el procesamiento de transacciones:
·         Modelo de estructura de transacciones: Es importante considerar si las transacciones son planas o pueden estar anidadas.
·         Consistencia de la base de datos interna: Los algoritmos de control de datos semántico tienen que satisfacer siempre las restricciones de integridad cuando una transacción pretende hacer un commit.
·         Protocolos de confiabilidad: En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad y durabilidad de las transacciones. Así también, se requieren protocolos para la recuperación local y para efectuar los compromisos (commit) globales.
·         Algoritmos de control de concurrencia: Los algoritmos de control de concurrencia deben sincronizar la ejecución de transacciones concurrentes bajo el criterio de correctitud. La consistencia entre transacciones se garantiza mediante el aislamiento de las mismas.
·         Protocolos de control de réplicas: El control de réplicas se refiere a cómo garantizar la consistencia mutua de datos replicados. Por ejemplo se puede seguir la estrategia read-one-write-all (ROWA).

9.       Defina los estados de una transacción:
·         Activa (Active): El estado inicial; la transacción permanece en este estado durante su ejecución.

·         Parcialmente comprometida (Uncommited): Después de ejecutarse la ultima transacción.

·         Fallida (Failed): Tras descubrir que no se puede continuar la ejecución normal.

·         Abortada (RollBack): Después de haber retrocedido la transacción y restablecido la base de datos a su estado anterior al comienzo de la transacción.

·         Comprometida (Commited): Tras completarse con éxito.