Bonjour,
Je suis en train de concevoir un MCD, dans lequel une entité doit pouvoir pointer sur différentes autres entités.
Dans mon cas, par exemple, il s'agit de commentaires dans une application web. On doit pouvoir poster des commentaires sur des utilisateurs, des annonces, des articles, des variétés (botaniques !), et ainsi de suite.
Mon entité ressemblerait grosso modo à ceci :
Le schéma général d'une liaison générique ressemble donc à ceci :
Quels sont les avantages et inconvénients de ce schéma / usage ?
Voici ce que j'imagine :
Avantages
- Ça réduit le nombre d'entités si le concept est le même (des commentaires, par exemple) ;
- On peut plus facilement manipuler des objets hétérogènes ;
- On peut agréger ces objets plus facilement également (ex : montrer dans un même fil les derniers commentaires de cet utilisateur, peu importe où ils ont été postés);
Inconvénients
- Il n'y a pas de contrôle dans le SGBD, donc celui-ci doit être fait dans le code ;
- Cela permet de faire des branchements arbitraires sur des enregistrements. Réalisé de manière outrageuse, cela peut être très malpropre ;
- Quels seraient les impacts en termes de performances ?
Conclusion
Est-ce qu'on peut utiliser ce type de schéma de conception sur une base de données relationnelles ?
Sinon, que faut-il faire ?
Merci d'avance.
Partager