Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/02/2012, 02:12
caperutxa
 
Fecha de Ingreso: febrero-2012
Mensajes: 75
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Diseño de base de datos para inventario de video juego.

Cita:
Iniciado por AlanChavez Ver Mensaje
Pensé que podría crear otra tabla llamada "inventario" en el cual mantuviera la relación de cual usuario, tiene cual item, y cuantos items tiene.

user_id, item_id, quantity
1, 1, 1 // john1 tiene una espada
1, 3, 2 // john1 tiene 2 pociones rojas.
2, 2, 1 // john2 tiene un escudo
2, 6, 1 // john2 tiene un arco

Sin embargo, de inmediato se daran cuenta que para empezar viola una de las reglas de normalización de las bases de datos, que es la de evitar records repetidos. Ademas de que conforme la tabla vaya creciendo, el desempeño de la tabla no será optimo.
Esta es la buena. No viola ninguna regla porque la relación usuario items es de N:M y necesitas una tabla intermedia para enlazar.

En la tabla intermedia pones user_id y item_id como campos claves (ambos). A la hora de insertar un elemento en el inventario compruebas si los tiene (WHERE user=1 AND item=1) En caso positivo sumas 1 a la cantidad. En caso negativo insertas un item nuevo.
__________________
Si quieres conseguir resultados diferentes no hagas siempre lo mismo.

Mejora tu entorno. MestralCadiz con su comunidad.