0

Ich bin ein eCommerce Multichannel Listing-Tool für ebay/amazon/sears/rakuten ... und mehrmysql Denormalisierung mehrerer Entitäten in einer Tabelle?

jede Entität hat seine eigenen Eigenschaften. zum Beispiel eBay hat ebayItemId/Titel/Preis während Amazon etwas wie asinNumber/Title/LowestPrice hat

Meine Frage ist, sollte ich jedes in seiner eigenen Tabelle haben. oder sollte ich die Entitäten in einer Tabelle mischen, kann die Spaltenüberschrift verschiedene Daten basierend auf dem Marktplatz speichern. Viele Spalten können Nullwerte haben.

Sie denken, dies ist ein guter Ansatz oder ist es besser, sie auf mehrere Entitäten zu normalisieren?

Antwort

1

Die Art der Denormalisierung, die Sie durchführen sollten, besteht darin, mit den Abfragen zu beginnen, die Sie beantworten müssen, und dann die Daten zu organisieren, um die Abfragen zu unterstützen.

Sie können die beste Tabellenstruktur nicht finden, ohne die Abfragen zu berücksichtigen.

Zum Beispiel Lösungen für Ihren Anwendungsfall, siehe meine Antwort auf https://stackoverflow.com/a/695860/20860

+0

ok, also habe ich eine übergeordnete Entität. Das ist im Grunde ein Gegenstand mit Bildern und einigen grundlegenden Eigenschaften. die Kinder wären diese Marktplätze. Ich schätze, die Abfragen sind schreibintensiv. außerdem denke ich, dass es viel einfacher ist, die Kinder von einem Tisch zu ziehen und durch sie zu führen und die spezifische Ansicht basierend auf der Marktflagge zu zeigen. –

+0

Okay, viel Glück! –

0

ist es am besten ein vollständig normalisiert Schema haben. Alles ist einfacher und konsistenter.

Sie nur denormalise für "Leistung", die andere braucht als die Vorteile, die Normalisierung gibt. Daher ist es am besten, über eine Ansicht oder eine spezielle Tabelle für diesen Zweck oder eine andere NoSQL-Datenbank usw. zu denormalisieren.

Machen Sie Ihre korrekte normalisierte Datenbank zur Quelle der Wahrheit.

Befüllen/leiten Sie Ihre Denormalisierung Daten von der Quelle der Wahrheit und verwenden Sie es für hohe Geschwindigkeit lesen Sie nur Operationen. Wie Sie die beiden verbinden, ist ein Implementierungsdetail - es gibt viele Optionen, die davon abhängen, wie Sie das Design genau umsetzen.

Verwandte Themen