Quali sono i fattori importanti per la progettazione di tabelle di database e la progettazione di oggetti?

0

Quando eseguo la progettazione di una tabella di database, mi chiedo spesso se dovrei provare a rendere la tabella il più semplice possibile, o se dovrei rendere l'oggetto il più chiaro possibile.

Il requisito è quello di archiviare tutto il mese delle vendite dell'anno e del profitto lordo.

Disegno dall'oggetto. L'oggetto ha campi anno, mese, vendite e profitto lordo. Per questa situazione quando ho bisogno di salvare i dati nel database, salverà 12 righe (una riga un mese). Questo oggetto ha una relazione con un altro oggetto (cliente). quindi quando lo salvi salverà n (cliente) * 12 righe per una volta. Farà una grande operazione di inserimento. Temo che tih renderà il db lento.

Un altro design è usare solo un oggetto. Un oggetto per salvare l'intero anno - non c'è bisogno di dividere l'oggetto in mesi. Ma nell'oggetto ci saranno i campi di 12 * 2 come (month1_sales_ton, month1_gross_profit, month2_sales_ton, month2_gross_profit .......), questa situazione fa risparmiare meno righe, basandosi su n (cliente) per volta.

Ma poiché la seconda situazione non ha mese, non posso scrivere il metodo comune quando voglio cercare il profitto lordo di un anno di un anno che accetta i parametri di anno, mese. Forse dovrei scrivere il metodo per passare solo l'anno e ottenere un oggetto tutto l'anno? non lo so.

Quindi quale principio dovrei seguire quando disegno il tavolo?

    
posta ericW 08.12.2011 - 03:04
fonte

1 risposta

6

Devi normalizzare correttamente i tuoi dati. Non stai aiutando nessuno con queste tabelle riassuntive. NON acceleri nulla, SEI NON RISPARMIA DI UNO SPAZIO DISK! *

Mi sento come un disco rotto che dice questo, ma:

NON MODIFICARE I TUOI DATI BASATI SU COME DESIDERI IL TUO CODICE DI CONSUMARLO!

* Devi comprendere appieno le regole della normalizzazione prima di sapere quando romperle (e chiaramente non lo fai). Posso garantire, a lungo termine, che la de-normalizzazione rallenta, occupa più spazio e ti inondano di problemi di integrità dei dati.

Oh Sì, La cosa più importante quando si modellano i tuoi dati è l'Entità attuale (e ci sono i punti dati) e come si relazionano ad altre Entità. Questo è il motivo per cui i modelli di dati sono generalmente sinonimi di diagrammi di relazione di entità.

    
risposta data 08.12.2011 - 03:19
fonte

Leggi altre domande sui tag