🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16689

RE: Bases de Datos

#16689
From: Toni Mrtir
Date: Tue, 28 Mar 2000 00:00
84 lines
3733 bytes
Hola Jos� Antonio,

Interbase 6 ser� open source dentro de muy poco... Puedes bajarte la version
Linux de www.interbase.com
Por supuesto dispone de integridad referencial (completa), triggers, stored
procedures, views, soporte multilenguaje... y con muy buena documentacion y
ejemplos.

>                                - Bloqueo automatico de datos (esto es si
> un usuario esta cambiando un dato, no lo pueda leer a la vez otro)

Bueno eso depende de lo que quieras hacer:

1.- Si un usuario ha cambiado un dato, que otro usuario no lo pueda leer.

En interbase se realiza con las opciones read_commited, no_recversion y wait
o no_wait dependiendo de la accion que quieras realizar cuando se produce el
conflicto.

2.- Si un usuario est� cambiando un dato, que otro usuario no lo pueda leer.

En este caso no se puede realizar de forma autom�tica el bloqueo pues el
servidor SQL no sabe lo que pasa en la aplicaci�n cliente hasta que se le
informa:

inicio transacci�n
a) Select el registro y lo muestra a pantalla
b) El usuario esta  2 minutos modificando el registro
c) Update el registro en el servidor
fin transaccion

Como ves en el paso b no se le ha informado al servidor, por lo que el
bloqueo no puede ser autom�tico, como mucho dependiendo del servidor
conseguir�s que lo que leas quede bloqueado contra escritura (SQL Server
repeteable read).
Al tipo de bloqueo de los Servidores SQL se le llama bloqueo optimista, si
lo que deseas es un bloqueo pesimista(antes de empezar la edicion) debes
realizarlo desde la aplicaci�n:

inicio transacci�n
a) Select el registro y lo muestra a pantalla
b) Update tonto en el registro (CODIGO=CODIGO por ejemplo) para bloquearlo
c) El usuario esta  2 minutos modificando el registro
d) Update el registro en el servidor
fin transaccion

Si los dos usuarios ejecutan esta secuencia, y uno ya est� editando el
registro, el otro obtendra error en b pues dos transacciones simultaneas no
pueden actualizar el mismo registro, antes de realizar la edici�n, y le
indicar� que el registro leido est� siendo modificado.

Espero haberte ayudado

Un saludo

Jose Antonio <joseantsaNO_KE@reKEtemail.es> escribi� en el mensaje de
noticias 38DD3B41.E65E32A3@reKEtemail.es...
> Estimados amigos:
>
>     Me gustaria hacer una consulta sobre bases de datos:
>
>                     Quisiera saber si existe alguna base de datos  "open
> source" o mejor aun GPL, que  permita :
>                                - Bloqueo automatico de datos (esto es si
> un usuario esta cambiando un dato, no lo pueda leer a la vez otro)
>                                -  Integridad referencial .
>
>     Hasta lo que yo se, el segundo punto lo esta implementando
> postgresql, pero no aparece informacion sobre el primero.
>         La base de datos DB2 (se escribe asi?) de IBM es libre ?
>
>
> Gracias mil.
>
> jose_antonio
>     (A)
>
> --
> __________________________________________________________________
> joseantsa@wanadoo.es         | Pagina Personal:
>         LIF                  | http://personal4.iddeo.es/joseantsa
>
>
>
Technical Details
Message-ID: <38e09790_3@news.arrakis.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <38DD3B41.E65E32A3@reKEtemail.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,91b0f2d05306f352
X-Google-Attributes: gidf86c8,public
From: "Toni M�rtir" <techni-web#pala.com>
Subject: RE: Bases de Datos
Date: 2000/03/28
Message-ID: <38e09790_3@news.arrakis.es>
X-Deja-AN: 603365726
References: <38DD3B41.E65E32A3@reKEtemail.es>
X-Trace: 28 Mar 2000 13:29:20 +0100, 195.5.70.27
Organization: Arrakis Servicios y Comunicaciones SLU
X-MSMail-Priority: Normal
X-Priority: 3
Newsgroups: es.comp.os.linux.programacion
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200