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:
- "sans coussins" (référence 204)
- "Tec - Assise renforcée" (référence 229)
- "Tec - Assise et dossier rembourrés" (référence 252)
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