Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Utilizar una base de datos (o copias) para varios usuarios

Estas en el tema de Utilizar una base de datos (o copias) para varios usuarios en el foro de Mysql en Foros del Web. Hola, Tengo página web que usa una base de datos creada y funciona todo bien. El problema es que esta base de datos tiene que ...
  #1 (permalink)  
Antiguo 28/04/2013, 12:39
 
Fecha de Ingreso: julio-2008
Mensajes: 14
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Utilizar una base de datos (o copias) para varios usuarios

Hola,
Tengo página web que usa una base de datos creada y funciona todo bien.
El problema es que esta base de datos tiene que llenarse y vaciarse cada vez que un usuario la utiliza (mi aplicación consiste en un pequeño juego que guarda datos en una base de datos, los edita y los muestra. Pero en cuanto acaba la partida se borran todos y las tablas vuelven a estar vacías con solamente algunos registros necesarios, para que alguien otro pueda volver a jugar).
Claro, aquí hay el problema de que si dos usuarios desean jugar a la vez va a haber un caos bastante grande. Quería saber cómo hacer que para cada usuario diferente se usara una copia de la tabla original, o que se guardara una copia de la base de datos en local y se usara en local, o alguna solución que sirviera. Ojalá alguien me pueda ayudar!

PD: Está desarrollado con php y mysql.

Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 29/04/2013, 00:24
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Utilizar una base de datos (o copias) para varios usuarios

No sé cómo será la estructura de tus tablas pero una forma podría ser agregar a las tablas un campo llamado sesión, que sea un código único para cada sesión que se inicia. El mismo se mantiene hasta que el jugador se va y si entra otro se genera un nuevo número de sesión. Así si hay 5 personas conectadas, cada una con su número de sesión, no debería ser un problema a nivel de base de datos.
  #3 (permalink)  
Antiguo 29/04/2013, 08:17
 
Fecha de Ingreso: julio-2008
Mensajes: 14
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Utilizar una base de datos (o copias) para varios usuarios

sjj, muchas gracias por tu respuesta!
Si he entendido bien lo que propones, entonces ni que cada usuario tuviera un numero de sesión estarían usando todos la misma base de datos, no? osea, lo que quería yo es que cada usuario que se conectara modificara los datos de una base de datos diferente, porque si todos modifican la misma entonces un usuario cambiará los datos de otro y sería un follón. O el problema es que no te he entendido bien? jajaja

Gracias nuevamente!
  #4 (permalink)  
Antiguo 29/04/2013, 09:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Utilizar una base de datos (o copias) para varios usuarios

¿Una base por usuario?

Muy, pero muy mala idea...

Es una base por sistema, con un diseño que soporte usuarios concurrentes (al mismo tiempo), de modo que cada uno sólo vea los datos que le son propios.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/04/2013, 10:57
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Utilizar una base de datos (o copias) para varios usuarios

Claro, creo que no entendiste bien. Los registros se van agregando uno debajo de otro cada vez que accede un usuario al sistema. En lugar de modificar los datos, lo que se hace es agregarlos y luego se utilizan sólo los que te interesan. No hay necesidad de andar creando y borrando todo el tiempo los registros. Y lo de una base por usuario, creo que es una mala idea. Siempre es mejor tener todo en la misma base, cuando se hace referencia a la misma cosa.
  #6 (permalink)  
Antiguo 29/04/2013, 11:26
 
Fecha de Ingreso: julio-2008
Mensajes: 14
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Utilizar una base de datos (o copias) para varios usuarios

Gracias gnzsoloyo y sjj! ahora veo claramente que lo de crear una base de datos para cada usuario es absurdo..!
Si no es molestia, podríais ser un poco más concretos en la forma de solucionarlo? no me refiero a que me déis el código, sino la estrategia que debería utilizar, explicada de una forma más extensa. Porque con lo que habéis dicho intuyo un poco la solución pero no acabo de ver cómo hacerlo.
  #7 (permalink)  
Antiguo 29/04/2013, 12:20
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Utilizar una base de datos (o copias) para varios usuarios

Como te decía antes, no es lo más fácil intuir cómo hacerlo sin saber qué estructura de tablas tienes. Si es sólo la que comentas en el inicio yo le agregaría un campo llamado sesión al cual se le asigne un número automáticamente cada vez que se inicia una sesión (la primera conexión lleva el número 1). Ese número se mantiene durante toda la sesión del usuario. Cuando se inicia otra sesión se debe incrementar en 1 el valor de la sesión anterior (y entonces para esta otra sesión valdrá 2) y se repite el mecanismo anterior. Es lo que se me ocurre con la información que has proporcionado.

Etiquetas: copias, local, php, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:13.