Easy-Micro

ESPACEMEMBRE phpMyAdmin
Table

Créer une table avec phpMyAdmin

Formation phpMyAdmin par Easy-Micro Créer une table avec phpMyAdmin

phpMyAdmin
Vous devez renseigner
  • Le nom de la table (idéalement avec un prefixe)
  • Le nombre de colonne (mais peut-être modifié plus tard)

Formation phpMyAdmin par Easy-Micro Partition

Cela permet la distribution de portions de tables sur différents supports de stockage

On distingue le partitionnement vertical, qui permet de découper une table en plusieurs tables, chacune ne possédant qu'une partie des attributs de la table initiale, du partitionnement horizontal, qui permet de découper une table en plusieurs tables, chacune ne possédant qu'une partie des enregistrements de la table initiale. Voir plus d'infos

La commande SHOW VARIABLES permet de déterminer si votre serveur MySQL supporte le partitionnement :
mysql> SHOW VARIABLES LIKE '%partition%';

Le partitionnement s'applique à toutes les données et tous les indexes d'une table, il n'est pas possible de partitionner les données et pas les indexes, et vice-versa.

Types de partitions

RANGE (partitionnement par intervalles), LIST (partitionnement par liste), HASH (partitionnement par hachage), KEY (partitionnement par clé ) -> plus d'infos

Formation phpMyAdmin par Easy-Micro Remplir la structure de table

phpMyAdmin
Vous devez renseigner
  • Les noms des champs avec, comme premier champ, une clé primaire de type numérique avec une auto-incrémentation qui permet d'identifier chaque ligne
  • Le type du champ - Voir les différents types de données SQL
  • La taille du type
  • Une valeur par défaut : Aucune, Tel que défini, NULL ou CURRENT_TIMESTAMP
  • L'interclassement ou collations (voir ci-dessous)
  • Un attribut (facultatif) : Binary (pour des données binaires comme des images), Unsigned (pour les champs numérique : pas de valeur négative), Unsigned zerofill (en plus d'interdire les nombres négatifs, ça remplit la taille du champ avec des zéros, par ex. 0004), on update Current_Timestamp
  • Acceptation ou non de la valeur nulle (si coché, le champ est facultatif)
  • Index : Permet d'indexé un champ. Voir ci dessous.
  • Auto Incrémentation : champ dont la valeur s'incrémente automatiquement (A_I)
  • Commentaires (pour rappeler, par exemple, les principales règles d'écriture)
  • Moteur de stockage : plus d'infos

Formation phpMyAdmin par Easy-Micro Interclassement

Pour rappel, un interclassement (ou collation en Anglais) est un ensemble de règles permettant la comparaison de caractères. Il a pour rôle de déterminer comment les comparaisons seront effectuées entre deux chaînes ainsi que dans quel ordre les données doivent apparaître lorsqu'on demande un affichage en ordre alphabétique. Par exemple, le é doit-il apparaître avant ou après le e ? Les majuscules doivent-elles être traitées différemment des minuscules ?

Dans phpMyAdmin, le fait de choisir l'interclassement modifie également le jeu de caractères. Ainsi, si vous choisissez l'interclassement utf8_unicode_ci, votre Base de Données sera automatiquement encodée avec le jeu de caractère UTF8.

Trois options pour le Français
  1. utf8_bin
    Cet interclassement compare les codes des caractères. Il est donc très rapide, mais pas forcément très précis. Comme les codes des majuscules sont plus petits que ceux des minuscules (A = 65, a = 97), lors d'un tri, les enregistrements comportant du texte en majuscules se retrouveront placés avant les textes écrit en minuscules, ce qui ne correspondra pas forcément au tri que voulait l'utilisateur.
  2. utf8_general_ci
    Cet interclassement fonctionne de façon très simple. Il fait un tri en enlevant les accents et en convertissant le texte en minuscule (et ensuite, il remet tout comme avant). Il est donc assez rapide.
  3. utf8_unicode_ci
    est plus précis car il supporte les caractères multiples comme le e dans l'o. En contrepartie, il peut s'avérer un peu plus lent.

Si vous n'êtes pas sûr de la casse des caractères, il faut utiliser utf8_general_ci. Si vous avez besoin de précision, utilisez utf8_unicode_ci. Si vous avez besoin de performance, utilisez utf8_general_ci.

Les collations se terminant par _ci sont insensibles à la casse (case insensitive), ceux se terminant par _cs sont sensibles à la casse (case sensitive), ceux se terminant par _bin signifient classement binaire (autrement dit, pas d'interclassement) et enfin, ceux se terminant par _uca sont des collations spécifique à Unicode.

Formation phpMyAdmin par Easy-Micro Index

Permet d'indexé un champ. Ca ralenti un peu le fonctionnement mais en contrepartie cela accélère la recherche de texte sur ce champ. A utiliser intelligemment. Il faut donc prendre soin d'indexer les champs où l'on prévoit des recherches fréquentes.

L'intérêt des index est d'accélérer les requêtes qui utilisent des colonnes indexées comme critères de recherche. Par conséquent, si vous savez que, dans votre application, vous ferez énormément de recherches sur la colonne X, ajoutez donc un index sur cette colonne, vous ne vous en porterez que mieux.

Les index sont obligatoires dans certains contextes :
  • Pour les clés primaires (pour contrôler l'unicité de leurs valeurs dans une table),
  • Pour les champs servant de clés externes (pour s'assurer qu'un enregistrement dans une table liée a bien une correspondance dans la table principale),
  • Pour les champs à valeurs uniques (pour contrôler l'unicité de leurs valeurs),
  • Pour les champs où l'on souhaite faire de la recherche plein texte.
phpMyAdmin

Index PRIMARY

Le premier index nommé PRIMARY est celui de la clé primaire de la table. Il est créé automatiquement lorsque l'on définit la clé primaire d'une table.

Index UNIQUE

Cet index interdit l'insertion d'un nouvel enregistrement si ce champ existe déjà dans un autre enregistrement de la table. Il doit être unique. Idéalement utilisé sur la colonne pseudo d'une table Membre afin d'éviter que deux membres utilisent le même pseudo.

Index INDEX

C'est l'index de base sans caractéristique particulière (entre autres pour les clés externes).

Index FULLTEXT

Un index FULLTEXT est utilisé pour faire des recherches de manière puissante et rapide sur un texte. On n'utilise donc ce type d'index que sur les colonnes de type CHAR, VARCHAR ou TEXT.

Index SPATIAL

Type d'index conçu pour optimiser les calculs impliquant des positionnements ou des distances.

A noter que les index sont généralement représentés sous forme de table. En réalité, MySQL stocke les index dans une structure de type "arbre" (l'index est alors de type BTREE). Le principe est cependant le même.

Voir comment ajouter des index


< Page précédente PHPMYADMIN Page suivante >