En parcourant le code de l'action
install j'ai constaté pas mal d'incohérence dans les types de données MySQL. Dans certains cas la seul conséquence était une utilisation pas optimum de de MySQL, dans d'autres les conséquences pouvait être plus grave.
Je réunit ici une brève documentation de certains type. Cette documentation ne ce veux pas exhaustive et n'a pas vocation de
tutoriel mais permeterais de s'accorder sur les types que nous utilisions, dans casiwi et sur la manière de les utiliser; On optimisera ainsi la place prise par les données et la rapidité de traitement et surtout on évitera certains bugs du à des types incohérent.
Pour ceux que ça intéresse un petit rappel sur la mesure de l'espace de stockage peut aider à mieux saisir la suite.
Le nombre d'octets définit la place occupé par un champ et par conséquence la tailles des valeurs qui peuvent y être stocker. 1 octet (ou 1 byte en Anglais) représente 8 bits (l'unitée de stockage minimum).
1 bits peut contenir 2 valeurs possible 0 ou 1. Délors un octet peut en contenir, 2 sur chacun de c'est bits c'est à dire 2*2*2*2*2*2*2*2 = 2^8 = 256 .
1 octect = 2^8 = 256 .
2 octect = 2^(2*8) = 2^16 = 256 * 256 = 65 536
3 octect = 2^(3*8) = 2^24 = 16 277 216
4 octect = 2^(4*8) = 2^32 = 4 294 967 296
Les numériques
Ils peuvent être entier ou à virgule flottante, signé ou non signé. L'option UNSIGNED est fréquemment utilisé car en ne stockant pas le bit de signe on économise de la place pour stocker des nombres positifs plus grands. L'attribut [M] définit le nombre de caractères maximum que le champ pourra contenir. Voici les différents types de données :