Héritage avec MySQL

Signaler
Messages postés
138
Date d'inscription
vendredi 28 février 2003
Statut
Membre
Dernière intervention
29 février 2008
-
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonjour,

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 ?

Vous en pensez quoi ?

Merci d'avance.

4 réponses

Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
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..

S.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
21
Hello,

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
Messages postés
138
Date d'inscription
vendredi 28 février 2003
Statut
Membre
Dernière intervention
29 février 2008

Bonjour,

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.....
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
Et si tu pensais à la solution LDAP ? Tu as la main sur ton serveur ??
Et si tu faisais deux bases différentes pour répartir la charge ??

Quelle volumétrie as-tu au niveau de tes données ?? Quelles les sollicitations en terme de requetes pour ces deux tables ??

Ca peut nous permettre d'en savoir un peu plus..

S.