Création d'une table avec phpMyAdmin
Pour comprendre ce qu'est une base de données, le plus simple est de créer la base que tout le monde utilise au quotidien : le carnet d'adresses.
Création de la base de données essai
Dans phpMyAdmin, créez la base de données nommée essai avec l'encodage utf8_general_ci pour une bonne gestion des accents.
Création de la table carnet
Une table est une partie d’une base de données. Si l'on compare à Excel, une table est une feuille contenant des lignes et des colonnes, et la base est le classeur qui regroupe une ou plusieurs feuilles.
Nous allons créer une table qui se nommera carnet et qui contiendra 6 champs : numero, civilite, prenom, nom, email, date_naissance
Remarque : Les espaces sont interdits dans les noms des champs, utilisez le caractère souligné _ si vous souhaitez signifier un espace. Les accents sont déconseillés également.
Une fois la base essai créée, cliquez sur son nom dans la colonne de gauche, puis entrez le nom de la table carnet avec 6 champs (colonnes) puis Exécutez.
Créez la table carnet comme indiqué ci-dessous, en faisant bien attention aux types de données, tailles et autres paramètres :
Quelques explications sur les types de champs utilisés dans cette table :
- SMALLINT : un champ numérique entier compris entre -32000 et +32000. Cela signifie que l'on pourra saisir jusqu'à 32000 personnes (ou 65000 en non signé) dans notre table carnet.
- ENUM : du texte pour une liste déroulante, vous devez indiquer entre apostrophes les valeurs souhaitées. Dans notre table carnet, pour le champ civilite, saisissez strictement ‘Madame’,’Monsieur’
- VARCHAR : du texte alphanumérique, qui peut contenir des chiffres et des lettres. Veillez à indiquez la quantité de caractères prévue pour chaque champ.
- DATE : une date à saisir à l’américaine : AAAA/MM/JJ, nous la convertirons en français plus tard, dans le code PHP.
Pour un encodage correct des accents et autres caractères spéciaux, choisissez toujours utf8_general_ci pour l'interclassement de la table.
Pourquoi ne pas prendre plus ?
Nous pourrions stocker plus de numéros en choisissant int au lieu de smallint, mais aussi plus de textes en choisissant le type text au lieu de varchar. Ce serait un mauvais choix, car cela alourdirait la base de données. Elle occuperait plus de mémoire et serait plus lente à gérer. Il faut donc rester élégant et éviter les gaspillages.
Clé primaire numérotée
Le champ numero est désigné comme la clé primaire de la table (choisissez primary), ce qui signifie que ce champ représente de manière unique chaque enregistrement (chaque contact en l’occurrence). Il permettra d'identifier clairement un contact du carnet d'adresses même si les noms et prénoms sont identiques. En France, il doit y avoir beaucoup de Pierre Martin, il faut donc désigner un champ pour les différencier. Opter pour une clé primaire numérotée est un choix judicieux, mais on aurait pu désigner le champ email qui ne peut pas avoir de doublons par nature. N'oubliez pas de cocher la case AI pour le champ numero qui signifie que le numéro va s'Auto Incrémenter à chaque nouvel enregistrement.
Cliquez sur Sauvegarder et la table carnet est maintenent créée. Il reste à l’alimenter.
Alimentation de la table avec phpMyAdmin
Cliquez sur Insérer puis alimentez la table comme ci-dessous. Ne mettez rien dans le champ numero, car je rappelle qu'il se numérote tout seul :
Saisissez quelques adresses, puis cliquez sur l'onglet Afficher pour visualiser votre table.
La table est maintenant créée et alimentée. Il nous reste à concevoir une page web permettant d'en afficher le contenu.
Voir le cours : Lire et afficher une table MySQL.