Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/05/2011, 20:38
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Aplicación web.... ¿con sesiones?

Hola,

Cita:
Iniciado por potoka Ver Mensaje
... Qué pasa si de los dos lugares quieren cargar un producto al mismo tiempo? A los dos les va a mostrar el mismo id y se pisarán, no? ...
Eso es un tema de concurrencia y así como podría suceder en dos tiendas con una terminal cada una podría suceder en una sola con dos terminales. Por eso tu tabla tiene que tener un campo único de índice primario. Si dos personas intentan guardar la misma información al mismo tiempo en ese campo indexado la base de datos no lo va a permitir por el índice único.

Sin esa llave primaria o índice único entonces se complica un poco porque tendrías que hacerlo transaccional con bloqueos, simplemente buscando si ya existe no es suficiente, por ejemplo, un caso hipotético, una serie operaciones consecutivamente:

1. El usuario A busca si existe el producto 8. (Y no existe).
2. El usuario B busca si existe el producto 8. (Y no existe).
3. El usuario A inserta el producto 8.
4. El usuario B inserta el producto 8.

Problema de concurrencia; pero si hay un indice único la base de datos va a generar un error al usuario B cuando intente insertar el 8. Pero es un caso hipotético, dependiendo del diseño de tu aplicación posiblemente no necesitas preocuparte a ese nivel de detalle.

Saludos,