Explication types champs mysql

Résolu/Fermé
t671 Messages postés 1471 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 10 mars 2025 - 9 oct. 2011 à 18:33
t671 Messages postés 1471 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 10 mars 2025 - 11 oct. 2011 à 10:02
Bonjour,

Je souhaiterais une petite explication sur les types de champs mysql.
OK pour VARCHAR, TEXT, INT. Mais pour les autres ......

Par exemple, en supposant que j'ai une table dont les champs comportent l'ID + un numéro individu distinct de l'ID (qui sera + utilisé que l'ID, mais que je ne peux incrémenter automatiquement, étant en lettre + chiffre), un numéro individu pour le père, pour la mère, pour le ou les conjoints, (numéros individu pointant sur un champs de la table).

Ces numéros individu, de quel type dois-je les définir, puisque étant un champs de l'enregistrements, ils pointent vers un autre enregistrement de la même table ?

Merci

2 réponses

A quoi vous sert l'ID alors? Autant supprimer une information redondante si vous avez déjà un champ identifiant(et donc unique), surtout que ça ressemble à un identifiant naturel.

Pour les champs essayez Google: type + mysql
Le premier résultat chez moi c'est la doc mysql, on peut pas faire mieux.

Le fait que vous fassiez des jointures(ou liaisons) entre les tables ne changes pas le type. Les identifiants des deux tables doivent être présents et unique, rien à voir avec le type. Remplacez dans votre raisonnement "numéro machin" par identifiant machin et vous aurez tout ce qu'il faut.

Le type d'après ce que je comprends va surtout vous servir pour réserver un emplacement de stockage, c'est la taille? Votre table sera fausse si elle est trop remplie et que vous ne pouvez plus la remplir.

Exemples pour repérer un identifiant et savoir s'il faut rajouter un ID numérique:

La famille "Machin" est enregistrée sur votre base, si il y a possibilité qu'il y ai plusieurs personnes de familles différentes qui s'appellent Machin(homonymie) vous ne pouvez l'utiliser comme identifiant.
Donc on va repérer la famille Machin de Paris en lui attribuant un identifiant numérique: 14.
La famille Machin de Brest va être associée à l'identifiant 228.
On peut donc les différencier qu'avec l'identifiant ou en utilisant plusieurs identifiants. Dans le 2ème cas il faudrait pour identifier une famille son nom et sa ville: mais si deux familles ont le même nom mais ne sont pas la même tout en habitant la même ville? Les tables sont fausses et on comprends tout l'intérêt de l'ajout d'un ID numérique.


Exemple pour repérer faire le tri des données nécessaire(en fait je veut vous prouver que vos tables sont fausses et votre SI pas viable):

Vous utilisez un champ qui contient deux valeurs vous dites: Une lettre et un chiffre.
Il est impossible d'obtenir ni la lettre ni le chiffre puisque vous avez fait de plusieurs données une seule.
Pour que votre table soit juste il faut simplement que vous sépariez ces deux données en deux champs distincts.
Voici selon votre système une lettre et un chiffre: 4L, 8Z, 6P.
Vous ne pourrez tout simplement utiliser ces données puisqu'elle n'ont plus aucun sens, en outre il est impossible de trier tous les L de façon distinctes, ni toutes les personnes répondant au chiffre 4.

JE fvous conseille de jeter un oeil sur ceci:

www.commentcamarche.net/contents/merise/mcd.php3

et de revoir votre conception, des tables fausses induiront un système lent et inadapté, compliqué à utiliser et à développer et des erreurs qui feront que vos données risquent d'être irrémédiablement perdues. Autant vous arrêter là pour reprendre avant d'avoir ce genre de problèmes qui peuvent coûter cher en temps et argent et qui de toute façon ne tiendras pas la route.
0
t671 Messages postés 1471 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 10 mars 2025 11
11 oct. 2011 à 10:02
Merci pour tout ça ......... ;o))
0