Page 1 sur 1

Modelisation base de donnée

Posté : 23 janv. 2006, 19:14
par jeff
salut
je voudrai savoir si il est recommandé de mettre une clé primaire sur les tables ACTION_has_module et USER_has_groupe

et est ce que la modelisation vous semble correct car je me plante souvent avec les relation 1 à n et m à n :?

Image

merci

Posté : 23 janv. 2006, 22:10
par Hubert Roksor
Je ne suis pas un pro de la modélisation, même si j'aime lire des papiers à ce sujet, mais je pense que la théorie voudrait que oui.

Mais ce n'est pas la théorie qui va faire fonctionner ton application alors je vais aussi te le conseiller d'un point de vue purement technique. Si tu utilises MySQL, étudie les EXPLAIN des requêtes concernant ces tables et tu devrais voir certaines jointures "ref" devenir "eq_ref" et les performances s'améliorer proportionnellement à la taille du résultat généré. Sous PostgreSQL, je pense que des "nested join" deviendront des "hash join" avec une petite amélioration des performances, mais cela reste entièrement à démontrer.

Ce n'est que mon avis, mais si tu n'as pas un très gros ratio INSERT:SELECT ou de gros problèmes de place sur le disque dur de la machin tu n'as aucune raison de ne pas ajouter de clés primaires à tes tables.

HTH

Posté : 23 janv. 2006, 23:50
par albat
Ces tables semblent fort découler d'associations.
En soi, il n'y a aucune obligation de leur attribuer une clé primaire.
(Les index, eux, sont indispensables !)

Cependant, j'ai pris pour habitude de définir un entier auto-incrémenté
comme clé primaire de toutes mes tables.

Personnellement, j'en mettrais.

Posté : 24 janv. 2006, 11:01
par jeff
pour tous dire moi aussi j'ai bien envie de mettre une clé primaire.
j'utilise db designer (je l'ai pas trop en main) et pas possible de mettre une cle primaire sur les table créé par une relation m:n :evil:

autre point : quand faire appel a une procedure stockée??

Posté : 24 janv. 2006, 11:18
par albat
quand faire appel a une procedure stockée??
quand tu utilises très souvent une même requête !

Posté : 24 janv. 2006, 11:22
par jeff
quand tu utilises très souvent une même requête !
je pose la question a tous hazard (mes tables ne sont pas prette sinon j'aurai fais les tests)
connaissez vous des benchs entre prcedure stocké et les requetes compliées de PDO