Honnêtement, le type "decimal" (ou number/numeric selon le sgbd) est plus approrié. En plus sémantiquement c'est rigoureusement ce que tu cherches
En effet, je suppose que ta "note" aura un nombre de chiffres fixe, et notamment une décimale fixe. Le double (ou float) apporte une précision qui va bien au delà de ton besoin, et amène une série de problèmes tels que 1 = 0,99976 (problèmes inhérents à la représentation des doubles/float). Le numéric à l'aventage de stocker exactement ce que tu veux, dans exactement le nombre de bits nécessaires, avec une précision totale.
En revanche, il est un peu plus lent en ce qui concerne les calculs. Ceci dit, j'ai jamais vu de benchs mettant en évidence les différences de temps de calculs (c'est très certainement négligeable par rapport à la durée d'exécution de la requête elle-même).
donc en gros, pour des notes allant de 0 à 20 avec un incrément de 0,25, tu feras un decimal(4,2) (4 chiffres, donc deux après la virgule)
Message édité par MagicBuzz le 19-11-2007 à 15:25:22