Ho un negozio online dove gli utenti possono avere piccoli negozi con i loro prodotti. Ciascuno di questi prodotti può avere domande ad esso associate e il proprietario del negozio ha la capacità di rispondere a tali domande. Questa informazione è memorizzata in 3 tabelle una tabella "Domande" (QuestionID, ProductID, ...), una tabella "Prodotti" (ProductID, ShopID, ...) e un "Negozio" (ShopID, OwnerID, ...) tavolo.È meglio memorizzare informazioni ridondanti o unire tabelle quando necessario in MySQL?
È meglio avere uno ShopID nella tabella "Domande" (per consentire al proprietario di un negozio di visualizzare tutte le sue domande) o unirsi a queste tre tabelle per ottenere domande corrispondenti a un determinato negozio?
Grazie mille a tutti per le vostre utili risposte. Ero quasi convinto che sarebbe stato meglio archiviare informazioni ridondanti, ma oggi ho imparato qualcosa di nuovo. Alcuni hanno sottolineato che sarebbe meglio avere un rapporto M: M tra prodotti e negozi ma ciò non ha senso (int questo caso!) Perché i proprietari dei negozi sono completamente diversi (anche i costi di spedizione ecc. Sono completamente separati). Pertanto non è possibile che diversi negozi possano condividere un prodotto (anche se fosse lo stesso prodotto fisicamente per così dire). –