Cita:
Iniciado por AlanChavez 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.