Je suis en train de concevoir une base de données et j'ai des doutes sur mes décisions de conception initiales ...
Les types de produits sont les suivants ... Modèles, pièces, kits de pièces de rechange et options.
Option A (première conception): je prévoyais d'avoir des tableaux séparés pour les types de produits ci-dessus. Je dirais qu'environ 75% des champs seraient les mêmes dans chaque table.
J'ai créé chaque type de produit sous forme de tableaux séparés en raison des associations que je dois créer entre eux. Par exemple, un modèle peut avoir de nombreuses options et une option peut avoir de nombreux modèles. Une option peut également avoir de nombreuses pièces et une pièce peut avoir de nombreuses options ... et ainsi de suite ...
Option B: Au lieu d'avoir des tableaux séparés, je pourrais créer un tableau appelé Produit qui comprend le modèle, la pièce, les kits de pièces de rechange et les options. Je pourrais avoir un champ appelé type pour différencier le modèle, les options, etc. Je suppose qu'un inconvénient est que plusieurs champs ne seraient jamais utilisés (laissés nuls) pour certains types de produits. J'imagine que c'est là que «les meilleures pratiques» entrent en jeu.
L'option B réduirait considérablement la complexité de la conception de la base de données. Je n'aurais pas non plus à me soucier de référencer un tas de tableaux lors de l'extraction de données pour les requêtes ...