Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 03-07-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 24
Mick Va por buen camino
Cita:
Empezado por reevil
Las transacciones son metodo para garantizar la integridad de nuestos datos en caso de ocurrir alguna problema al momento de realizar alguna transformacion de los datos, cuando haces un select no puede decirse que transformas datos pues solamente se crea una vista de las tuplas pero estas quedan intactas, entonces no es necesaria la transaccion.

Si me equivoco por favor de correjirme lo antes posible por que tengo mucho que correjir entonces
En interbase/firebird siempre se necesitan abrir una transaccion para lo que sea, si no hay transaccion no puedes leer datos. Las transacciones tambien afectan a la lectura de informacion, pudiendose leer registros distintos segun el tipo de transaccion que se utilice. Esto es debido a que el sistema de arquitectura multi-generacional de interbase es unico y la forma de guardar los registros y gestionar las transacciones es completamente diferente a cualquier otro sistema de base de datos. Por ejemplo en un cierto momento puede haber muchas versiones diferentes de un mismo registro guardadas en la base de datos.

Tipos de transacciones:

READ COMMITED ( RECORD VERSION )

Solo se ven los datos confirmados por otras transacciones, los datos que esten modificados por otras transacciones en curso no existen y se devuelve la ultima version confirmada de los datos.

READ COMMITED (NO RECORD VERSION)

Como la anterior solo se ven los datos confirmados por otras transacciones, pero si datos que es necesario leer han sido modificado por otras transaccions todavia no confirmadas, antes de leer estos datos, se espera a que esas otras transacciones se confirmen o cancelen, para tener asi los datos mas recientes posibles. Esto puede dar lugar a un interbloqueo y que la lectura falle por timeout en el caso de que otra transaccion que ha modificado datos que queremos leer, no finalice o tarde muchisimo en confirmarse o cancelarse. El tipo de transaccion anterior (RECORD VERSION) nunca tiene este problema ya que siempre devolvera los ultimos datos seguros aunque no necesariamente los mas recientes.

SNAPSHOT

Si leemos los datos con un transaccion tipo snapshot, no veremos ningun dato modificado posteriormente a la apertura de nuestra transaccion de lectura. Esto es como sacar una foto fija de la base de datos, tal cual estaba justo en el momento que se inicio la transacion, esto es util para generar informes y que estos sean coherentes, y no les afecten modificaciones de datos que se esten produciendo en el medio del calculo de los informes.

Como se puede ver segun el tipo de transaccion asociada a la lectura de informacion, los datos leidos pueden ser completamente diferentes.

Saludos

Última edición por Mick fecha: 03-07-2007 a las 10:37:16.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema conuna consulta select...not in (select ...) VRO Firebird e Interbase 2 11-08-2005 08:56:35
5 select de 5 tablas diferentes en un select solo sakuragi SQL 6 15-06-2005 18:57:06
Select con Transacciones Ana Tudela Firebird e Interbase 1 08-04-2005 16:48:00
Select anidado: Select from (select....) Malon SQL 2 14-10-2004 14:01:24
Select anidado ( Select from select ) Malon Firebird e Interbase 1 05-10-2004 04:14:38


La franja horaria es GMT +2. Ahora son las 15:58:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi