est donc pas vraiment un forum pour des suggestions autant que les réponses. Aucune réponse ne donne peut être définitivement correcte. Cela dit, je garderais les tables aussi granulaires que possible pour permettre des changements faciles entre les produits.
En ce qui concerne le numéro 5, je placerais les dates de début et de fin sur les produits. Si le prix n'est plus valable, le produit ne devrait plus être disponible.
Cela inclut les relations pour différents prix saisonniers, mais vous devrez soit coder en dur les saisons, soit créer une autre table pour les définir. Pour les prix, s'il s'agit de plus d'une région, vous pouvez avoir besoin d'une table de régions, auquel cas une colonne de devise serait appropriée.
Il s'agit de données opérationnelles, pas de données temporelles. Si vous voulez qu'il soit disponible pour l'analyse historique des prix, vous devrez également créer des tables temporelles.
Tableau de produit
+-------------+-----------+------------------+----------------+
| ProductName | ProductID | ProductStartDate | ProductEndDate |
+-------------+-----------+------------------+----------------+
| Product1 | 1 | 01/01/2017 | 01/01/2018 |
| Product2 | 2 | 01/01/2017 | 01/01/2018 |
+-------------+-----------+------------------+----------------+
Variante Tableau
+-----------+-----------+-------------+---------------+-------------+-------------+
| ProductID | VariantID | VariantName | NormalPriceID | HighPriceID | PeakPriceID |
+-----------+-----------+-------------+---------------+-------------+-------------+
| 1 | 1 | Blue | 1 | 3 | 5 |
| 1 | 2 | Black | 2 | 4 | 5 |
+-----------+-----------+-------------+---------------+-------------+-------------+
Tableau des prix
+---------+-----+-----+-----+-----+-----+-----+-----+
| 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 |
+---------+-----+-----+-----+-----+-----+-----+-----+
Avez-vous besoin de stocker les données historiques? –
Ceci est à la fois entièrement trop large et principalement basée sur l'opinion. Il y a des possibilités de zillion pour concevoir une telle base de données. Si vous êtes si incertain que même commencer, je suggère que vous devriez embaucher un consultant parce que la conception de la base de données sans aucune idée de comment le faire est une recette pour le désastre. –