Mysql Définition

Mysql Définition

Mysql Définition

MySQL est un système de gestion de bases de données relationnelles open source. Il est largement utilisé pour stocker, organiser et gérer des données dans de nombreuses applications et sites web. MySQL est connu pour sa fiabilité, sa performance et sa compatibilité avec de nombreux langages de programmation et plates-formes. Il permet de manipuler et d’interroger les données à l’aide du langage de requête structuré (SQL). MySQL est populaire auprès des développeurs et est largement utilisé dans le développement web et d’autres applications nécessitant une gestion de bases de données.

I. Histoire de MySQL

MySQL a été initialement publié en 1995. Après plusieurs changements de propriété et de gestion, elle est devenue Oracle Corporation en 2010. Bien qu’Oracle soit désormais en tête, MySQL reste un logiciel open source. Cela signifie que vous êtes libre de les utiliser et de les modifier.

Le nom vient de l’association entre « My », le nom de la fille du co-fondateur, et SQL, qui signifie Structured Query Language, un langage de programmation qui permet d’accéder et de gérer des données dans des bases de données relationnelles.

Pour comprendre le fonctionnement de MySQL, il est crucial de saisir deux concepts interconnectés :

  • Base de données relationnelle
  • Modèle client-serveur

II. Base de données relationnelle

MySQL utilise une approche appelée base de données relationnelle pour stocker les données. Dans cette approche, les données sont divisées en tables distinctes plutôt que d’être regroupées en une seule entité de stockage. Par exemple, les informations sur les clients (nom, adresse, coordonnées) sont stockées dans une table distincte, tandis que les informations sur les commandes (produits, prix, client associé) sont stockées dans une autre table. Cette approche évite les problèmes tels que des données différentes nécessitant des champs distincts, des duplications de données et une organisation inefficace des informations.

Une solution pour résoudre ces problèmes consiste à utiliser des tables distinctes dans une base de données relationnelle pour les clients et les commandes. Cependant, il est important de pouvoir associer les données entre ces tables, par exemple en affichant toutes les commandes pour un client spécifique comme John Doe. C’est là que la relation intervient.

En utilisant une clé, généralement un identifiant unique tel qu’un numéro d’identification numérique, vous pouvez lier les données entre les tables. Ainsi, vous pouvez manipuler et combiner les données de manière appropriée. Un exemple courant est l’utilisation de tables distinctes dans la base de données de WordPress, où différentes données sont stockées dans des tables séparées. Par défaut, WordPress utilise 12 tables distinctes, mais des plugins peuvent également ajouter leurs propres tables. Par exemple, une base de données WordPress peut contenir 44 tables distinctes.

Dans la base de données de WordPress, les articles de blog sont stockés dans la table « wp_posts » et les utilisateurs sont stockés dans la table « wp_users ». Ces deux tables sont liées par une clé, ce qui permet d’associer chaque compte utilisateur aux articles de blog qu’il a écrits.

Plus précisément, chaque article se voit attribuer un « post_author » qui est un numéro d’identification unique, agissant comme clé de liaison entre les tables. Cela permet d’établir la relation entre les utilisateurs et les articles de blog, en identifiant l’auteur de chaque article.

  • Pour retrouver le compte utilisateur correspondant à un numéro d’identification donné, vous pouvez consulter la table « wp_users » et rechercher l’entrée correspondante à cet ID.
  • La clé, qui est le numéro d’identification unique, est ce qui établit le lien entre les données et les relie entre elles, même si elles sont stockées dans des tables distinctes. C’est ainsi que les données sont « apparentées » les unes aux autres.

III. Modèle client-serveur

MySQL utilise le modèle client-serveur en plus d’être une base de données relationnelle. Le serveur est l’endroit où les données sont stockées, et pour y accéder, une demande doit être faite. C’est là que le client intervient.

Le client, en utilisant le langage de programmation SQL, envoie des requêtes au serveur de base de données pour obtenir les données nécessaires. Par exemple, lorsqu’un visiteur consulte un article de blog sur un site WordPress, plusieurs requêtes SQL sont envoyées au serveur de base de données pour récupérer les informations requises, telles que le contenu de l’article dans la table « wp_posts » et des informations sur l’auteur dans la table « wp_users » en utilisant la clé de liaison.

Si vous souhaitez visualiser les types de requêtes de base de données effectuées par votre site WordPress, vous pouvez utiliser un plugin gratuit appelé Query Monitor. Cela vous permettra de voir précisément les interactions entre votre site WordPress (le client) et le serveur de base de données.

Une autre solution payante que vous pouvez utiliser est New Relic, qui nécessite une licence. Si votre site WordPress ne parvient pas à se connecter au serveur de base de données, il génère le message d’erreur courant indiquant l’échec de l’établissement d’une connexion à la base de données.

IV. Les avantages de Mysql

MySQL est un SGBDR leader grâce à ses quatre avantages majeurs : 

  • L’open-source
  • La multi-plateforme
  • Les performances 
  • La popularité

4.1. SGBDR Open source

MySQL, bien qu’étant détenu par Oracle, une entreprise privée, est un logiciel open-source. Cela signifie que son code source est accessible gratuitement à tous. Un avantage majeur d’un logiciel open-source réside dans sa communauté active. Les utilisateurs de MySQL peuvent personnaliser le code source selon leurs besoins, et en cas de question ou de problème, il est souvent possible de trouver des réponses sur des forums spécialisés. De plus, les mises à jour sont généralement plus rapides, car elles ne nécessitent pas de processus propriétaire. Ainsi, lorsque des innovations dans le domaine des bases de données relationnelles émergent, MySQL peut être rapidement amélioré grâce à la contribution des membres de la communauté. Cela permet au logiciel de rester à la pointe de la technologie.

Il convient de noter qu’il existe des versions propriétaires payantes de MySQL qui offrent des fonctionnalités supplémentaires. Cependant, la version open-source gratuite est généralement suffisante pour la plupart des cas d’utilisation.

MySQL n’est pas le seul SGBDR open-source disponible sur le marché. Son principal concurrent est PostgreSQL. Chaque système a ses avantages, et le choix entre MySQL et PostgreSQL dépendra des besoins spécifiques du projet de données. Cependant, pour toute entreprise souhaitant adopter une approche axée sur les données, il est essentiel de faire un choix entre MySQL et PostgreSQL.

4.2. Multiplateforme

MySQL est compatible avec les principaux systèmes d’exploitation tels que Mac, Linux et Windows. Cette compatibilité facilite grandement l’utilisation de ce SGBDR par les entreprises, car un utilisateur peut accéder à une base de données MySQL à partir de n’importe quel système d’exploitation. De plus, il est même possible d’accéder à une base MySQL à partir d’applications mobiles sur les plateformes Android et iOS.

4.3. Un SGBDR Performant

MySQL possède une architecture de stockage unique qui le rend considérablement plus performant que ses concurrents. Cela signifie qu’il nécessite moins de puissance de calcul pour effectuer les mêmes tâches. Par exemple, lorsqu’un site web doit gérer un grand volume de requêtes, il n’est pas rare qu’il doive traiter des millions de requêtes par jour. Si la performance est insuffisante, cela peut entraîner un ralentissement du site et une expérience utilisateur désastreuse.

La performance de MySQL en fait un leader incontournable dans la gestion des bases de données de sites web. Il est largement adopté par des entreprises de renom telles que Google, Netflix et Amazon.

4.4. Un SGBDR populaire

MySQL jouit d’une immense popularité au sein de l’écosystème des systèmes de bases de données relationnelles, ce qui en fait un outil incontournable. Sa popularité garantit la disponibilité abondante d’informations, de tutoriels et d’avis sur le logiciel, ce qui facilite grandement son apprentissage. Ainsi, il n’est plus nécessaire de passer des heures à rechercher sur Google pour comprendre comment créer une base de données avec MySQL.

V. Comment créer une base de données MySQL? 

Passons maintenant à la pratique pour créer une base de données pour un site web avec MySQL.

La première étape consiste à installer MySQL sur le serveur. Pour ce faire, il suffit de suivre deux étapes :

  1. Télécharger et installer la dernière version de MySQL depuis le site officiel, en choisissant la version adaptée à ton système d’exploitation (Windows, Mac ou Linux).
  2. Installer PhpMyAdmin, une interface web qui facilite l’administration de la base de données MySQL. Cela permet une gestion visuelle plutôt que de devoir passer par la ligne de commande pour exécuter des requêtes SQL.

En effet, sans l’utilisation de PhpMyAdmin, l’administration de la base de données se fait uniquement via la ligne de commande de MySQL, ce qui signifie qu’il n’y a pas d’interface visuelle, seulement une fenêtre de commande où des lignes de code SQL doivent être saisies. Grâce à PhpMyAdmin, il n’est plus nécessaire d’écrire des lignes de code SQL. PhpMyAdmin fournit une interface conviviale avec des champs de texte et des fonctionnalités qui remplacent l’utilisation directe de requêtes SQL. Le logiciel traduit chaque action effectuée dans l’interface en requêtes SQL, qui sont ensuite transmises à MySQL pour exécution.

Il est important de noter que pour que PhpMyAdmin fonctionne correctement, Apache et PHP doivent être installés sur le serveur. Apache est un logiciel de serveur web gratuit et open-source, tandis que PHP est un langage de programmation utilisé pour développer des pages web.

L’installation d’Apache/PHP dépend du système d’exploitation utilisé :

  • Pour Windows : tu peux utiliser le module Wamp Server pour installer Apache, PHP et PhpMyAdmin.
  • Pour Mac : tu peux utiliser Mamp. Une version gratuite est disponible, mais il existe également une version payante, Mamp Pro, qui offre des fonctionnalités supplémentaires.
  • Pour Linux : tu peux installer XAMPP, qui comprend Apache, PHP et PhpMyAdmin.

Une fois l’installation terminée, tu peux vérifier que tout fonctionne correctement en ouvrant ton navigateur et en accédant à l’URL « localhost/phpmyadmin ».

5.1. Créer une base de données grâce à Phpmyadmin

Pour créer une base de données pour une boutique en ligne avec PhpMyAdmin, voici les étapes à suivre :

    1. Accédez à la page d’accueil de PhpMyAdmin.
    2. Sur la page d’accueil, recherchez l’onglet ou le lien intitulé « Bases de données » et cliquez dessus.
    3. Dans l’onglet « Créer une base de données », saisis le nom de ta base de données, par exemple « Boutique ».
    4. Ensuite, clique sur le bouton « Créer » pour finaliser la création de la base de données.

Une fois la base de données créée, elle apparaîtra dans la liste des bases de données sous l’outil de création dans PhpMyAdmin.

Pour ajouter les tables « Commande » et « Client » à la base de données, voici la procédure à suivre :

    1. Sélectionnez la base de données concernée, dans notre cas « Boutique ».
    2. Cliquez sur « Créer une table » pour commencer la création d’une nouvelle table.
    3.  Indiquez le nom de la nouvelle table, par exemple « Commande ».
    4. Indiquez le nombre de colonnes nécessaires pour la table. Dans notre cas, la table « Commande » a 4 attributs, donc 4 colonnes.
    5. Cliquez sur le bouton « Exécuter » pour finaliser la création de la table.

Répète les mêmes étapes pour créer la table « Client » en indiquant les attributs (Nom, Prénom, Adresse, Date de naissance, Id client) et en cliquant sur « Exécuter ». Il te suffit de suivre les mêmes étapes pour créer la table « Commande » dans la base de données. Une fois les tables « Commande » et « Client » créées, il ne te reste plus qu’à remplir les colonnes de ces tables en utilisant l’outil PhpMyAdmin.

5.2. Créer une base de données par des requêtes SQL

En plus de la création visuelle de la base de données, PhpMyAdmin offre également la possibilité de manipuler la base de données en écrivant des requêtes SQL personnalisées. Pour accéder à l’interface de requêtes SQL dans PhpMyAdmin, il suffit de cliquer sur l’icône correspondante dans l’interface. Ensuite, vous aurez accès à une zone de texte dans laquelle vous pourrez saisir votre question. En utilisant le langage SQL, vous pouvez créer des bases de données à l’aide de la requête CREATE DATABASE. Vous pouvez maintenant créer la base de données « boutique ».

    1. Créer un magasin de base de données
    2. Cette requête ajoute une nouvelle base de données « boutique » à la liste des bases de données.
    3. Ajoutons maintenant les tables Customer et Order.

Pour créer la table « Client », vous devez vous rendre dans la base de données « Boutique » et ouvrir une fenêtre de requête. Entrez la requête suivante dans la fenêtre.

    1. Créer le tableau Clients (
    2. ID client INT CLÉ PRIMAIRE,
    3. Nom VARCHAR (15),
    4. Nom VARCHAR(15),
    5. Adresse VARCHAR (15)
    6. Date de naissance, DATE,
    7. 7);

Une table apparaît dans la base de données. Il te suffit de remplir la base de données MySQL avec des enregistrements pour la rendre exploitable.

Conclusion sur la définitions de MySQL

MySQL est un système de gestion de base de données relationnelle open source utilisé par les sites WordPress pour stocker diverses informations telles que les articles de blog, les utilisateurs et les informations de plugin. Ces données sont organisées dans des tables distinctes et liées entre elles à l’aide de clés, ce qui rend le système relationnel. Lorsque le site WordPress souhaite accéder à ces informations, il envoie des requêtes au serveur de base de données MySQL en utilisant le langage SQL, selon le modèle client-serveur.