MySQL est l'un des systèmes de gestion de base de données les plus utilisés au monde dans la réalisation d'applications Web, autant par le grand public que par des professionnels. Fonctionnant sur la plupart des systèmes d'exploitation actuels, les bases de données MySQL sont accessibles par divers langages de programmation dont PHP ou Python. Le couple PHP/MySQL est néanmoins très utilisé par les sites webs et proposé par la majorité des hébergeurs webs. MySQL fait alors partie du trio de développement web xAMP comprenant un serveur web Apache, un système de gestion de bases de données MySQL ainsi qu'un interpréteur pour le langage de script PHP. Le "x" de xAMP est généralement remplacé par le système d'exploitation visé: LAMP pour Linux, WAMP pour Windows et MAMP pour Macintosh. En outre, il existe des versions portables du package xAMP comme EasyPHP.
EasyPHP (sur Windows) et MAMP (sur Macintosh) sont des plateformes de développement Web permettant de faire fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. Il s'agit d'environnements comprenant deux serveurs (un serveur web Apache et un serveur de bases de données MySQL), un interpréteur de script PHP ainsi qu'un logiciel permettant d'administrer des bases de données MySQL: phpMyAdmin. L'un des avantages d'EasyPHP réside dans sa capacité à être utilisé comme une application portable, c'est-à-dire lancé sur une clé USB.
phpMyAdmin est une application Web de gestion pour les systèmes de gestion de base de données MySQL, écrite en PHP. Il s'agit de l'une des plus célèbres interfaces graphiques pour gérer une base de données MySQL sur un serveur PHP. Cette interface permet d'exécuter très facilement et sans grandes connaissances dans le domaine des bases de données, de nombreuses requêtes comme la création de tables, l'insertion, la mise à jour, la suppression de données ou encore la modification structurelle d'une base de données. phpMyAdmin est également très pratique pour sauvegarder une base de données sous forme de fichiers et ainsi facilement transférer ses données. En outre, l'interface accepte la formulation de requêtes directement en langage SQL, permettant ainsi de tester ses requêtes lors de la création d'un site et ainsi de gagner un temps précieux.
Système de gestion de bases de données MySQL
Environnement de développement EasyPHP
Gestionnaire de base de données phpMyAdmin
Le but de cette section est d'implanter les tables de la base de données Entreprise étudiée jusqu'à présent dans un système de gestion de base de donnée MySQL à l'aide de l'interface graphique phpMyAdmin. A ce dessein, il est nécessaire dans un premier temps d'installer les logiciels nécessaires
Si vous travaillez sur Windows, commencez par télécharger l'environnement EasyPHP Devserver sur votre disque ou sur une clé USB. Le logo de EasyPHP apparaîtra alors dans la zone de notifications de votre bureau en bas à droite, à côté de l'horloge. Après avoir cliqué sur l'icône EasyPHP avec le bouton droit de la souris, sélectionnez le lien «Open Dashboard». Votre navigateur va ouvrir la page de gestion des serveurs à l'adresse http://127.0.0.1:1111/index.php ou http://localhost:1111/index.php. D'ici, il vous sera possible d'allumer les serveurs HTTP et MySQL puis d'accéder à «phpMyAdmin» via un simple clic sur les lien proposé.
Si vous travaillez sur Mac OS X, commencez par télécharger l'environnement MAMP et installez-le dans votre dossier d'applications. Cliquez sur l'icône de l'application MAMP puis démarrez les serveurs Apache et MySQL en cliquant sur le bouton start. Une fenêtre s'ouvrira alors dans votre navigateur vous permettant de d'ouvrir l'application «phpMyAdmin» par simple clic du lien correspondant dans le menu tools.
phpMyAdmin vous permettra de gérer les tables de vos différentes bases de données à l'aide d'une interface graphique. Tous vos ordres seront traduits en instruction SQL pour l'exécution. En cas de besoin, phpMyAdmin vous offrira aussi la possibilité de programmer directement en SQL, ce qui s'avérera très utile pour créer des requêtes complexes. Les objets d'une base de données MySQL sont gérés dans les onglets présents à l'ouverture de l'interface phpMyAdmin, comme le montre la figure suivante:
Fenêtre d'accueil de phpMyAdmin
La partie 1 (à gauche) vous permet d'administrer les bases de données existantes sur votre ordinateur. Le nombre entre parenthèses est le nombre de tables présentes dans chaque base. La partie 2 (à droite) permet de créer une nouvelle base de données ou de gérer les tables existantes si elles sont sélectionnées à gauche.
Commençons par créer la base de données Entreprise qui contiendra les tables EMPLOYE, PROJET, DEPARTEMENT et APPARTENANCE. A ce dessein, utilisez le formulaire de droite, entrez-y le nom de la base de données à créer puis cliquez sur le bouton Créer. L'application vous indique si la base de données a pu être créée:
La base de données Entreprise a été créée, vide
En plaçant un 0 entre parenthèses dans la partie gauche de l'écran, phpMyAdmin vous indique qu'aucune table n'a été trouvée dans la base de données créée. Nous allons donc, dans un premier temps, créer les tables de notre base de données. A ce dessein, entrez le nom de la table EMPLOYE ainsi que le nombre de champs, à savoir 5, comme indiqué sur la figure suivante:
Création d'une nouvelle table en précisant le nombre de champs nécessaires
En cliquant sur «Exécuter», vous ne créez pas immédiatement la nouvelle table: il faut, en effet, préciser pour chaque attribut de votre table son nom, son type de données ainsi que différentes informations concernant l'attribut présentées sous la forme de différents champs:
Préciser les propriétés de chaque attribut de la table à créer
Les champs les plus importants sont les suivants:
VARCHAR notamment, afin de limiter le nombre de caractères autorisés.
Latin1_swedish_ci. Afin d'éviter des problèmes d'encodage lors de la lecture de caractères spéciaux d'un système d'exploitation à l'autre, il est vivement recommandé de toujours choisir l'interclasse utf8_general_ci.
Si nous décidons, par exemple, de doter la table EMPLOYE d'un index pour l'attribut Nom, le système créera cette structure d'index de manière invisible pour l'utilisateur. Dès lors, chaque nom de la table EMPLOYE, rangé par ordre alphabétique dans l'index, sera associé soit à la clé d'identification EmployeID, soit à l'adresse interne de l'enregistrement de l'employé nommé. Le système de gestion de la base de données utilise cet index des noms pour traiter rapidement et efficacement les requêtes impliquant la table EMPLOYE.
Notez finalement que l'index PRIMARY est fréquemment utilisé sur les attributs jouant le rôle de clé d'identification.
Une fois les champs complétés, choisissez le moteur de stockage InnoDB puis cliquez sur le bouton «Sauvegarder»: votre table est créée !
Confirmation de la création d'une nouvelle table
Il est vital que chaque table de votre base de données possède sa propre clé primaire afin d'accélérer les performances de recherches du SGBD lors des requêtes faites ultérieurement. Il est donc conseillé de prendre le réflexe de donner l'index PRIMARY à l'attribut jouant le rôle de clé d'identification lors de la création de la table, ce qui aura pour effet d'en créer une clé primaire. Vous en profiterez également pour cocher la case AUTO_INCREMENT afin que cet attribut gère lui-même les nouvelles valeurs automatiquement (1, 2, 3, 4,...).
La déclaration d'un attribut comme clé primaire ou la modification de certaines informations concernant les attributs d'une table peuvent être faites une fois la table créée grâce aux boutons suivants:
permet de déterminer si l'attribut coché est une clé primaire. Dans ce cas, la valeur du champs devra être unique dans la table. Aucun enregistrement n'aura la même valeur dans cet attribut accélérant la vitesse du tri de la table.
permet de définir une indexation pour les valeurs de l'attribut coché, accélérant la vitesse de traitement dans la table. La clé primaire possède son propre index.
permet de spécifier que le contenu d'un attribut doit être unique dans l'ensemble des enregistrements. Contrairement à l'index, cette contrainte n'augmente pas la vitesse de traitement de la table.
permet de modifier une table.
permet de supprimer l'attribut coché dans la table.Cliquez sur le bouton
situé sur la ligne de l'attribut EmployeID afin de le déclarer clé primaire de la table puis indiquez au SGBD que l'attribut est auto-incrémenté. Vous devriez obtenir le résultat suivant dans lequel vous constaterez que EmployeID est maintenant souligné ou suivi de l'icône
:
Déclaration de EmployeID comme clé primaire auto-incrémentée de la table EMPLOYE
En cliquant sur le bouton
, vous pourrez également obtenir une version imprimable de la structure de table créée.
En vous basant sur le schéma relationnel ci-dessous de la base de données Entreprise, créez les tables PROJET, DEPARTEMENT et AFFECTATION à l'aide de phpMyAdmin en attribuant à chaque table ses attributs avec leur type et en déclarant correctement les clés primaires de chaque table.
|