🛢️Parcours Fioul GroupéMySQL · Chapitre 01
Accueil › MySQL › Chapitre 01
Chapitre 01 / 16

Introduction à MySQL

Comprendre ce qu'est une base de données relationnelle, la place de MySQL, comment l'installer et exécuter sa première requête. On y pose aussi le schéma relationnel du projet Fioul Groupé qui servira de fil rouge à tout le parcours.

1 Notion

Base de données, SGBD, SGBDR

Une base de données est un ensemble structuré d'informations. Le logiciel qui la gère est un SGBD. Quand les données sont organisées en tables reliées entre elles, on parle de SGBDR (relationnel) : MySQL, MariaDB, PostgreSQL, Oracle. Le langage pour dialoguer avec elles est le SQL.

Terme relationnelConcrètement
Tableun type d'entité, ex. participant
Colonneune propriété, ex. email, avec un type
Ligneune occurrence, ex. un participant précis
Clé primaireidentifie chaque ligne de façon unique
Clé étrangèreréférence la clé d'une autre table (le lien)
2 Notion

Pourquoi MySQL ?

MySQL est le SGBDR open source le plus répandu (le « M » de LAMP). Il fonctionne en client-serveur : un serveur mysqld détient les données et écoute sur le port 3306 ; des clients (Workbench, ligne de commande, une API Spring…) s'y connectent pour envoyer du SQL.

MariaDB — un fork communautaire de MySQL, très compatible, souvent installé par défaut sous Linux. Presque tout ce cours s'y applique aussi.
3 Pratique

Installer MySQL + Workbench

Le plus simple : l'installeur officiel MySQL Community (serveur + Workbench). Notez bien le mot de passe root défini à l'installation.

# Ubuntu / Debian
sudo apt install mysql-server
sudo systemctl enable --now mysql
sudo mysql_secure_installation

# macOS avec Homebrew
brew install mysql && brew services start mysql

Deux clients au quotidien : la ligne de commande mysql -u root -p (universelle, scriptable) et MySQL Workbench (éditeur SQL, explorateur de schéma, modeleur EER). Chaque instruction se termine par ; ; les mots-clés s'écrivent par convention en MAJUSCULES.

4 Pratique

Première base de données

Le cycle complet : créer une base, la sélectionner, créer une table, insérer, lire.

CREATE DATABASE fioul CHARACTER SET utf8mb4;
USE fioul;

CREATE TABLE participant (
  id    INT AUTO_INCREMENT PRIMARY KEY,
  nom   VARCHAR(80) NOT NULL,
  email VARCHAR(120) UNIQUE
);

INSERT INTO participant (nom, email)
VALUES ('Ada Lovelace', 'ada@exemple.fr');
SELECT * FROM participant;

Quelques commandes d'exploration : SHOW DATABASES;, USE fioul;, SHOW TABLES;, DESCRIBE participant;, SELECT VERSION();.

🛢️ Sur le projet Fioul Groupé

Le projet Fioul Groupé stocke ses données principales en MongoDB, mais le même domaine se modélise très bien en relationnel — et c'est exactement ce que ferait l'API Spring avec une base SQL via JPA. Notre fil rouge SQL :

TableRôle dans le domaine fioul
participantun foyer qui rejoint une commande groupée
fournisseurle distributeur de fioul
campagneune commande groupée pour une commune, avec un prix au litre
commandel'inscription d'un participant à une campagne (litres)

Le script complet de cette base est fourni au chapitre 6 et dans le sommaire.

À retenir
← Sommaire