Ce tutoriel a été initialement rédigé sur le Site du Zéro par Taguan sous licence CC BY-NC-SA.
Vous avez de nombreuses données à traiter et vous voulez les organiser correctement, avec un outil adapté ?
Les bases de données ont été créées pour vous !
Ce tutoriel porte sur MySQL, qui est un Système de Gestion de Bases de Données Relationnelles (abrégé SGBDR). C'est-à-dire un logiciel qui permet de gérer des bases de données, et donc de gérer de grosses quantités d'informations. Il utilise pour cela le langage SQL.
Il s'agit d'un des SGBDR les plus connus et les plus utilisés (Wikipédia et Adobe utilisent par exemple MySQL). Et c'est certainement le SGBDR le plus utilisé à ce jour pour réaliser des sites web dynamiques.
MySQL peut donc s'utiliser seul, mais est la plupart du temps combiné à un autre langage de programmation : PHP par exemple pour de nombreux sites web, mais aussi Java, Python, C++, et beaucoup, beaucoup d'autres.
Quelques exemples d'applications
Vous gérez une boîte de location de matériel audiovisuel, et afin de toujours savoir où vous en êtes dans votre stock, vous voudriez un système informatique vous permettant de gérer les entrées et sorties de matériel, mais aussi éventuellement les données de vos clients. MySQL est une des solutions possibles pour gérer tout ça.
Vous voulez créer un site web dynamique en HTML/CSS/PHP avec un espace membre, un forum, un système de news ou même un simple livre d'or. Une base de données vous sera presque indispensable.
Vous créez un super logiciel en Java qui va vous permettre de gérer vos dépenses afin de ne plus jamais être à découvert, ou devoir vous affamer pendant trois semaines pour pouvoir payer le cadeau d'anniversaire du petit frère. Vous pouvez utiliser une base de données pour stocker les dépenses déjà effectuées, les dépenses à venir, les rentrées régulières, …
Votre tantine éleveuse d'animaux voudrait un logiciel simple pour gérer ses bestioles, vous savez programmer en python et lui proposez vos services dans l'espoir d'avoir un top cadeau à Noël. Une base de données vous aidera à retenir que Poupouche le Caniche est né le 13 décembre 2007, que Sami le Persan a des poils blancs et que Igor la tortue est le dernier représentant d'une race super rare !
Points abordés dans ce tutoriel
La conception et l'utilisation de bases de données est un vaste sujet, il a fallu faire des choix sur les thèmes à aborder. Voici les compétences que ce tutoriel vise à vous faire acquérir :
- Création d'une base de données et des tables nécessaires à la gestion des données
- Gestion des relations entre les différentes tables d'une base
- Sélection des données selon de nombreux critères
- Manipulation des données (modification, suppression, calculs divers)
- Utilisation des triggers et des procédures stockées pour automatiser certaines actions
- Utilisation des vues et des tables temporaires
- Gestion des utilisateurs de la base de données
- Et plus encore…
MySQL et les bases du langage SQL
-
Introduction
-
Installation de MySQL
-
Les types de données
-
Création d'une base de données
-
Création de tables
-
Modification d'une table
-
Insertion de données
-
Sélection de données
-
Élargir les possibilités de la clause WHERE
-
Suppression et modification de données
Index, jointures et sous-requêtes
-
Index
-
Clés primaires et étrangères
-
Jointures
-
Sous-requêtes
-
Jointures et sous-requêtes : modification de données
-
Union de plusieurs requêtes
-
Options des clés étrangères
-
Violation de contrainte d'unicité
Fonctions : nombres, chaînes et agrégats
-
Rappels et introduction
-
Fonctions scalaires
-
Fonctions d'agrégation
-
Regroupement
-
Exercices sur les agrégats
Fonctions : manipuler les dates
-
Obtenir la date/l'heure actuelle
-
Formater une donnée temporelle
-
Calculs sur les données temporelles
-
Exercices
Sécuriser et automatiser ses actions
-
Transactions
-
Verrous
-
Requêtes préparées
-
Procédures stockées
-
Structurer ses instructions
-
Gestionnaires d'erreurs, curseurs et utilisation avancée
-
Triggers
Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
Gestion des utilisateurs et configuration du serveur
-
Gestion des utilisateurs
-
Informations sur la base de données et les requêtes
-
Configuration et options
Ce cours est maintenant terminé. J'espère que vous y aurez trouvé les informations dont vous aviez besoin.
Quoiqu'il en soit, la fin de ce cours ne doit surtout pas sonner la fin de votre apprentissage de MySQL, ou de la gestion de bases de données en général.
Aller plus loin
- Certaines parties de ce cours sont volontairement superficielles. En particulier tout ce qui concerne la configuration du serveur et des logiciels clients. Le but était d'être le moins théorique possible, tout en vous donnant un aperçu relativement complet des énormes possibilités de MySQL. Il existe de nombreuses ressources sur internet, ainsi que de nombreux ouvrages d'un niveau plus avancé qui pourront vous en apprendre plus.
- J'ai essayé de vous donner un maximum de pistes et de bonnes pratiques pour concevoir intelligemment vos bases de données, mais la conception d'une base de données est un vaste sujet. Si celui-ci vous intéresse, penchez-vous par exemple sur la théorie relationnelle, les formes normales, les modèles de donnés tels le modèle Entité-Relation, la méthode Merise,…
- Même constat au niveau de l'optimisation des requêtes. Des ouvrages entiers ont été consacrés aux techniques d'optimisation utilisables avec MySQL.
- Et tant et tant d'autres choses vous restent à découvrir.