Problème de MCD pour produits à mulitples options - SQL/NoSQL - Programmation
Marsh Posté le 19-02-2008 à 09:21:24
Je me permet de faire un ptit up' pour ce sujet
Marsh Posté le 19-02-2008 à 09:41:14
Siege ---------------- O------------------- Caracteristiques
|
|
|
Options
Avec options qui a (FK_siege, FK_carac) pour PK ?
Marsh Posté le 19-02-2008 à 09:46:49
Oui, mais dans ce cas-là, comment puis-je savoir quelles options seront disponibles suivant le siège sélectionné?
Mon dernier MCD me donne à peu près ca:
Pour les relations: 1,1 de "options" à "caracteristiques", 1,n dans l'autre sens, et enfin n,n entre "caractéristiques" et "siège".
Je peux ainsi définir à l'avance les caractéristiques d'un siège, et même utiliser une option plusieurs fois.
Le problème, c'est que si la caractéristique possède 10 options, je devrais toutes les utiliser, quel que soit le siège sélectionné.
Il me faut donc une astuce pour pouvoir choisir les options disponibles dans une caractéristique en fonction du siège choisit...
Marsh Posté le 19-02-2008 à 11:28:07
Une dernière version, mais je craint que ça ne soit pas valide, qu'il n'y ait une redondance de données...
Si quelqu'un pouvait me donner un avis
Marsh Posté le 19-02-2008 à 12:25:02
La dernière, je pense que ca devrait être bon...
Si quelqu'un pouvait me donner un avis, j'ai l'impression de parler seul lol
Dans ce cas présent, je peux:
Je demande toutefois confirmation
PS: la table "ad_siege" est reliée à une table "ad_type_siege", le modèle ci-dessus constitue donc un sous-ensemble du système d'information.
Marsh Posté le 18-02-2008 à 17:55:47
Bonjour,
je travaille actuellement sur un petit projet pour un ami. J'ai un soucis au niveau de la conception de la base de données.
Pour vous expliquer rapidement, il s'agit de pouvoir personnaliser un siège de bureau en sélectionnant plusieurs options.
En gros, je possède une table "sièges", contenant la référence du modèle de base ainsi que diverses informations (nom, description, etc...).
Par contre, suivant les modèles, l'utilisateur peut choisir des options pour personnaliser son siège. Sur certains modèles, il pourra personnaliser le dossier, les accoudoirs, les roulettes, sur d'autres le dossier et le piètement. Ces caractéristiques (au nombre de 10 maximum, présentes ou non suivant le modèle) sont regroupées dans une table "caractéristiques".
Enfin, chaque caractéristiques offre donc une à plusieurs options à sélectionner. Par exemple, pour le siège "150P", le coussin d'assise (qui correspond donc à la table "caractéristiques" ) présente les options suivantes:
Ces options sont sauvegardées dans une table "options".
Dans un 1er temps, je voyais un schéma ressemblant à ça:
Mais je rencontre un problème dans la mesure où une option, par exemple "Tec - Assise renforcée" pourra être utilisée pour un autre siège.
Je pourrais alors lier directement la table "options" à la table "siege", avec une relation de type n,n. Mais je ne pourrais plus définir à l'avance les caractéristiques disponibles pour un certain siège.
En résumé:
Un siège possède plusieurs caractéristiques, qui possèdent elles-même plusieurs options.
Or, une caractéristique est présente sur plusieurs sièges, idem pour une option.
Enfin, les options disponibles pour une caractéristique ne sont pas les mêmes pour tous les sièges (certaines sont disponibles, d'autres non).
Je ne sais donc pas vraiment comment organiser au mieux les relations entre ces trois tables, et je compte sur vous pour me guider dans ma démarche.
Merci d'avance
Message édité par forzayalta le 18-02-2008 à 18:44:25