Bonjour,

Je modelise une application de gestion des annonces dans une localité bien définie.
L'annonce n'est pas categorisée et donc concerne tout type d'annonce que l'utilisateur pourra décider de publier. (Auto, Moto, Immobilier, Bijoux, Informatique, Electronique....).

Voici quelques grandes lignes sur lesquelles je me suis butté.

1. Un Utilisateur peut mettre Une ou Plusieurs Annonce.
2. Une Annonce concerne Un et Un-Seul Produit a la fois.
3. A chaque produit est lié une seule Catégorie(Auto,Moto,Immobilier...)

Ce qui peut se modéliser par:
Utilisateur (0,n) -------------- (1,1) Annonce (1,1) ----------- (1,1) Produit
Produit (1,1) ----------------- (0,n) Categorie.


Alors dans une annonce non categorisée au depart, toute catégorie d'objet peut faire l'objet d'une annonce.
Dans la relation : Produit (1,1) ----------------- (0,n) Categorie, on voit bien qu'il faut différencier les catégories. Par exemple une Auto a pour caracteristique le Type de Carburant (Diesel, Hybride, Essence, Gasoil), le Nombre de Chevaux, le Nombre de Cylindre.... alors que pour un Immobilier on a par exemple : le Type (Maison, Appartement, Chambre, Studio...).

Au regard de tout ceci, on convient donc qu'on ne peut pas a priori se contenter d'une seul entité pour contenir nos différentes catégories. Car il serait fastidieux de devoir gerer toutes les caracteristiques sur un seul tuplet.

Il est donc imperatif, pour chacune des Catégories, de créer une entité qui lui est propre avec ses caracteristiques. Mais la encore il y a un probleme. Si l'application est en production et que l'on décide d'ajouter une catégorie, il va falloir lui créer une entité dans la base de données et également créer son formulaire... ca complique les choses.

Donc pour tenter de résoudre ce probleme de facon plus simple et souple, j'ai pensé a faire de l'héritage mais alors comment représenter l'héritage avec MySQL Workbench ?

Ou alors, si quelqu'un a deja travaillé sur un projet similaire, comment l'a t-il abordé ? et comment a t-il résolu le probleme ?

Merci.