2

AmazonのEC2とDynamoDBを使用してPHPベースのeコマースプラットフォームを構築しています。これはnoSQLデータベースを使用した初めての経験であり、テーブルのモデリングに問題があります。私は例を高低で検索しましたが、何も思いつきませんでした。

私が直面している主な問題は、製品テーブルにある可能性のある属性の在庫番号を保存することです。他にもたくさんの属性がありますが、ここでは簡単にしておきます。

製品表

  • id [455]
  • 名前[ポールストレッチシャツ]
  • inPrice [100.00]
  • outPrice [200.00]
  • カラー[赤、緑、青、白]
  • サイズ[XS、S、M、L、XL]

この問題は、色やサイズなどの複数値の属性の在庫番号を保存する必要がある場合に発生しますが、これを行う方法の例が見つかりません。柔軟性が必要なので、サイズに基づいて在庫を追跡したい場合は可能です。サイズと色の両方の在庫を追跡したい場合は可能です。彼らが在庫を追跡したくないのであれば、それは問題ではないはずです。

すべてを1つのテーブルに保持するために私が見ることができる唯一の簡単な方法は、そのようなセパレータを使用して属性値に数量番号を追加し、アプリケーションロジックを使用してそれを処理することです。

製品表

  • サイズ[XS#1、S#0、M#0、L#1、XL#1]
  • 色[赤#1、緑#1、青#0、白#0]

これを行う別の方法はありますか?おそらく別のテーブルを使用しますが、これはリレーショナル領域に入っているようです。

製品表

  • 色[4、6、7、9]

在庫表

  • id [4]
  • 名前[赤]
  • 数量[1]

どんなヒントも素晴らしいでしょう。お時間をいただきありがとうございます。

4

1 に答える 1

0

なぜ数字を保存するのですか?

Product テーブルに製品を挿入するだけです。

CountDynamoDB からレコード数を取得する必要があるたびに使用します。

于 2012-12-18T19:37:52.837 に答える