0

現在、他の Web サイト (Amazon など) を使用して製品を販売している当社のオンライン販売を保持するテーブルを含む SQL データベースがあります。テーブル スキーマは、商品が現在販売されている Web サイト (たとえば、サイト A) によって提供される特定の販売データ/属性を保持するように設定されています。

商品の販売時にサイト A が使用するものとは異なる属性を提供する他の Web サイトに販売を拡大しています (たとえば、サイト A は一意の販売 ID 番号を提供し、サイト B は一意の販売 ID 番号を提供しないが、他の情報も提供する場合があります)。そのサイト A は、まだキャプチャする必要があることを提供していません)。

問題は、スキーマが異なるため、販売する「サイト」ごとに販売用の個別のテーブルを追加するか、プラットフォームに関係なく、すべての販売を 1 つのテーブルに結合して、そうでない場合は一部の列を null のままにするかです。特定のプラットフォームに関連していませんか? それとも、2 つのサイト間で共通ではない属性のみを個別のテーブルに分離し、「マスター」販売テーブルに共有される属性 (sale_price、sale_date など) を保持するハイブリッド アプローチでしょうか?

内部情報 (製品 ID、コストなど) を保持する他のテーブルも使用されており、一意の識別子を介して販売テーブルにリンクされています。どのルートを選択しても、すべてのテーブルで使用できる一意の識別子 (自動インクリメントされた sales_id など) を考え出し、それを参照/結合用のテーブルに格納する必要があります。

どんな提案も大歓迎です!

4

2 に答える 2

2

セールはセールです >> 同じデータは同じテーブルに属します。売上を複数のテーブルに分割することは絶対にお勧めしません。売上統計など、その後に続く可能性のあるすべての作業に多くの困難が生じるからです。すべての売上を 1 つのテーブルに収めるようにしてください。

非常に小規模なプロジェクトの場合は、さまざまなフィールドを 1 つのテーブルに統合するのが最善策かもしれません。それ以外の場合は、販売プラットフォームごとにプロファイルを作成しようとする可能性があります。この場合、Entity-Attribute-Value モデルを使用します。

于 2013-04-02T22:45:29.033 に答える