Ver Mensaje Individual
  #12 (permalink)  
Antiguo 27/07/2003, 14:05
Herminio Heredia San
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 6 meses
Puntos: 6
Cita:
NO atienden al segundo mientras no hayan terminado con el primero...
A eso se referia biblio cuando hizo referencia a los terminos antes mencionados. Es decir que no puede haber dos peticiones iguales en un mismo instante de tiempo. Pero esto como comenta manolo es a nivel de prioridades en la peticion ya que eso no garantiza que dos INSERTS dupliquen valores en una tabla.

Es decir que si una transaccion A inserta el registro de clave primaria digamos 150 cuando termine de llevarse acabo esta peticion seguira otra pero nada me impide que esa otra transaccion tambien intente agregar un registro de llave primaria 150 con lo que se daria la duplicidad. Esto al menos si tomamos solo el concepto de FIFO. A un que se usa mas el termino de atomico (todo o nada ) en la jerga de base de datos.

A hora para evitar esto que es la duda que tenia dominguez, es que la base de datos o mas bien el gestor de base de datos sigue algunas reglas conocidas como restricciones para evitar problemas como el anterior, en este caso una que dice: que no puede haber dos registros diferentes con la misma llave primaria. mejor conocida como propiedad de unicidad. Ojo que esto no restringe que cualquier otra columna fuera de esta no contenga datos duplicados pero eso ya entra en otro tema.

Y esta regla se cumple independientemente del medio que se usa para acceder a la base de datos.

Por otro lado el uso especifico de bloqueo de tablas es un medio para simular transaccion u optimizar operaciones de actualizacion al menos en mysql. Donde una transaccion es una serie de opereaciones que queremos que se ejecuten como una sola (recuerden el concepto de atomico ). Pero esto es solo una parte de un problema mas complejo como lo es la tercia integridad referencial, concurrencia y recuperacion. de una base de datos.

Bueno ya me canse de marearlos, pero espero que esto aclare un poco las cosas y me haya echo entender y si no. Pues espero que alguien lo haga.