Je voudrais savoir, niveau performances, s'il est préférable d'utiliser de l'héritage ou bien de la duplication d'attributs avec MySQL ?
Je m'explique :
- Avec l'héritage : Un professeur et un élève sont des personnes donc dans les tables "professeurs" et "élèves" on met une clé étrangère vers la table "personne" qui contient les attributs de base ("nom", "prénom").
- Avec la duplication : Dans les tables "professeurs" et "élèves" on met les memes attributs de base ("nom", "prénom") accompagnés des attributs spécifiques a chaque table. Il n'y a plus besoin d'utiliser la table personne.
Au niveau conceptuel, la première solution est la meilleure, mais est-ce qu'au niveau performance elle l'est aussi ?
En toute franchise, la performance tient essentiellement au principe de jointure que tu ne fais pas dans ta deuxième solution.
Ton application ne sera pas fortement sollicité je présume, mais peut
etre seras-tu amené à utiliser cette population comme un annuaire sans
regarder la qualité des personnes, donc la première est meilleure..
De plus si tu as d'autres 'catégories' de personnes tu peux toujours
créer une table de catégorie au lieu de créer autant de table que de
catégorie..
ouais, je suis d'accord. La seconde solution est limitative en plus d'être moins performante.
Je te conseille de jeter un oeil à la méthode Merise, ne serait ce que pour les relations :
http://www.sam-mag.com/P53,53,5,55,,,default.aspx
Merci pour vos réponses.
Je connais bien la méthode Merise ainsi que la méthode UML que j'ai étudiées pendant 3 ans.
Mon application sera fortement sollicité étant donné que ce sera un jeu on-line avec de tres nombreuses requetes. C'est pour cela que je m'interesse fortement a la performance. Jpense qu'avec la premiere solution, il faudra faire un tres grand nombre de jointure et c'est pour cela que je m'inquiete.....