Durante la pianificazione del nostro database, abbiamo finito con una configurazione come questa:
Abbiamo Company , Product e Person .
Esiste una relazione molti-a-molti tra Company e Product , attraverso una tabella di giunzione Company_Product , perché una determinata azienda può produrre più di un prodotto (come "auto" e "bicicletta") ma anche un determinato prodotto, come "car", può essere prodotto da più aziende. Nella tabella di giunzione Company_Product esiste un campo "prezzo" in più, che è il prezzo in cui la data società vende il prodotto dato.
Esiste un'altra relazione molti-a-molti tra Company_Product e Person , attraverso una tabella di giunzione Company_Product_Person . Sì, è una relazione molti-a-molti che coinvolge una entità che è già una tabella di giunzione. Ciò è dovuto al fatto che una Persona può possedere più prodotti, come un'auto dalla società1 e una bicicletta dalla società2, e a sua volta lo stesso company_product può essere posseduto da più di una persona, poiché ad esempio sia la persona1 che la persona2 avrebbero potuto acquistare una macchina da company1. Nella tabella di giunzione Company_Product_Person è presente un campo extra "pensieri" che contiene i pensieri della persona al momento dell'acquisto di company_product.
Questo è comunemente accettabile o è un segno che qualcosa non va? Se è strano, quale sarebbe una soluzione migliore?
Ho riscontrato alcuni problemi con questo ( come questo ), quindi mi chiedevo, forse la mia configurazione del database è sbagliata per cominciare.