normalement, effectivement, on ne stock pas ce genre d'informations.
et surtout, le trigger devrait plutôt faire un count() plutôt qu'une incrémentation, ceci afin de garantir que le champ est bien à jour avec la bonne valeur à la fin d'une mise à jour (parceque sinon, on peut modifier une valeur déjà faussée, et donc conserver des valeurs fausses).
en MySQL, je ne sais pas si ça existe, mais sous SQL Server par exemple, on peut stocker des champs "calculés".
Ceci permet de résoudre simplement ce genre de problèmes de dénormaliosation : la table stocke non pas la valeur, mais la formule qui permet de la retrouver. une valeur "cache" est alors conservée, ce qui permet de ne pas à avoir à réévaluer à chaque lecture.
http://forum.hardware.fr/hfr/Progr [...] m#t1447241