Modello di database per inventario per utente

-3

Abbiamo bisogno di progettare un modello di database per un sistema di inventario (interno) con i seguenti criteri:

  • Lo spazio pubblicitario può contenere solo 1 oggetto ( Item ) oggetto.
  • Potrebbe esserci più di un milione di% di co_de per utente.
  • Non c'è assolutamente alcun caso d'uso per interrogare gli articoli per più utenti contemporaneamente.
  • Dovremmo essere in grado di eseguire una query in base alle proprietà (anche in questo caso l'utente è costante).

Abbiamo pensato di creare una tabella per utente, ma alla fine abbiamo deciso di andare con Item . È questo l'approccio giusto? C'è una tecnologia migliore per questo particolare caso d'uso?

Nota: utilizziamo Solr per il back-end e Java come database se è importante.

    
posta s.alem 26.05.2017 - 12:57
fonte

2 risposte

1

Non ho mai sentito parlare di Solr, ma non vedo perché una tabella di database relazionale non funzioni perfettamente. Crea una sola tabella item con una colonna "utente" e una colonna per ogni proprietà dell'oggetto.

Se vuoi poter eseguire una query in base a una determinata proprietà, aggiungi un indice le cui colonne sono la colonna utente e quella colonna delle proprietà, in tale ordine.

    
risposta data 26.05.2017 - 15:11
fonte
0

La colonna InventoryAmount nella tabella degli oggetti indica la quantità di oggetti che hai. Quindi ItemAmount (forse un nome migliore per quello) nella tabella User Item indica quante unità dell'elemento l'utente ha. Puoi dire al tuo inventario sottraendo InventoryAmount da ItemAmount.

    
risposta data 26.05.2017 - 20:04
fonte

Leggi altre domande sui tag