SO本当に答えな限りの提案のためのフォーラムではありません。誰も答えることは絶対に正しいとは言えません。これにより、製品間で簡単に変更できるように、テーブルを可能な限り細かく維持します。
#5に関しては、商品の開始日と終了日を指定します。価格が有効でなくなった場合、製品は使用できなくなります。
これにはさまざまな季節価格の関係が含まれますが、季節をハードコードするか、それらを定義する別のテーブルを作成する必要があります。
価格が1つ以上の地域である場合、通貨列が適切な地域テーブルが必要な場合があります。
これは一時データではなく、運用データです。価格の履歴分析に使用するには、一時テーブルを作成する必要があります。
製品表
+-------------+-----------+------------------+----------------+
| ProductName | ProductID | ProductStartDate | ProductEndDate |
+-------------+-----------+------------------+----------------+
| Product1 | 1 | 01/01/2017 | 01/01/2018 |
| Product2 | 2 | 01/01/2017 | 01/01/2018 |
+-------------+-----------+------------------+----------------+
バリアント表
+-----------+-----------+-------------+---------------+-------------+-------------+
| ProductID | VariantID | VariantName | NormalPriceID | HighPriceID | PeakPriceID |
+-----------+-----------+-------------+---------------+-------------+-------------+
| 1 | 1 | Blue | 1 | 3 | 5 |
| 1 | 2 | Black | 2 | 4 | 5 |
+-----------+-----------+-------------+---------------+-------------+-------------+
価格表
+---------+-----+-----+-----+-----+-----+-----+-----+
| PriceID | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
+---------+-----+-----+-----+-----+-----+-----+-----+
| 1 | 30 | 30 | 30 | 30 | 35 | 35 | 35 |
| 2 | 35 | 35 | 35 | 35 | 40 | 40 | 40 |
| 3 | 33 | 33 | 33 | 33 | 39 | 39 | 39 |
| 4 | 38 | 38 | 38 | 38 | 44 | 44 | 44 |
| 5 | 40 | 40 | 40 | 40 | 50 | 50 | 50 |
+---------+-----+-----+-----+-----+-----+-----+-----+
あなたは歴史的にデータを保存する必要がありますか? –
これは完全に広すぎ、主に意見に基づいています。このようなデータベースの設計方法には膨大な可能性があります。もしあなたが始めることさえ不確かな場合は、それを行う方法を手がかりにデータベースを設計することは災害のためのレシピであるため、コンサルタントを雇うべきであると提案します。 –