Schema del database di confronto prezzi

1

Ho un sacco di dati da più rivenditori. Ogni prodotto venduto da ogni rivenditore può o non può essere venduto da un altro rivenditore nel database. Se più rivenditori vendono lo stesso prodotto, il prodotto può essere identificato da uno SKU. Al momento ho 1 database per ogni rivenditore. Sto riscontrando un problema nel tentativo di concettualizzare uno schema di database appropriato per identificare quanti rivenditori stanno vendendo lo stesso prodotto.

Devo avere 1 tavolo con tutti i rivenditori?

    
posta Ryan 12.08.2011 - 08:29
fonte

2 risposte

5

Sì, vorrei creare 1 tabella con righe per ogni rivenditore e una tabella separata con una riga per ogni prodotto. Quindi farei un altro tavolo con righe che hanno 2 chiavi esterne: 1 per il rivenditore e 1 per il prodotto (molti-a-molti). Per scoprire quanti rivenditori stanno vendendo un prodotto, conta il numero di righe che hanno la chiave esterna per un prodotto specifico nella tabella da molti a molti.

    
risposta data 12.08.2011 - 09:23
fonte
2

In risposta alla tua domanda, l'ultima cosa che vuoi fare è separare i dati dal rivenditore se hai bisogno di confrontare i rivenditori. Ci dovrebbe essere comunanza di dati per le cose più importanti. Se i file di ogni rivenditore sono diversi, è solo questione di trasformare i dati nel tuo formato. È meglio chiedere loro di fornire un formato comune. Se un rivenditore ha alcune informazioni aggiuntive che gli altri non è possibile aggiungere come un campo nvarchar (max) che è retailerdescription o aggiungere una tabella correlata per quel rivenditore che viene utilizzato solo quando richiama i dettagli su quel prodotto (non per i confronti). Oppure puoi aggiungere campi extra che consentono ai null di gestire i dati che alcuni reattori forniscono che altri non lo facciano.

    
risposta data 12.08.2011 - 15:31
fonte

Leggi altre domande sui tag