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.