Temps de lecture : 10 à 15 minutes environ (il ne faut pas hésiter à passer plus de temps et à relire si vous ne comprenez pas tout de suite)
Difficulté : Facile/Intermédiaire
Prérequis :
Bonjour, Bonsoir, à tous,
aujourd'hui on se retrouve pour une initiation aux bases de données. En effet, que vous soyez simplement un bidouilleur, un administrateur ou développeur, vous n'avez pas pu passer à côté de cette solution de stockage puissant ! Les bases de données sont massivement utilisé, notamment dans l'univers du web, nous allons voir pourquoi et comment nous aussi en tirer avantage !
Présentation – Les bases de données
Les bases de données (BDD) sont une puissante solution de stockage de données. Cette solution possède de nombreux avantages par rapport à un stockage en fichier, notamment dû au fait qu'elle fonctionne avec un serveur ; vous pouvez donc l'installer sur une machine et interagir facilement avec elle depuis l'extérieur grâce à un système de requêtes. Un autre avantage de cette solution est son endurance : en effet, une base de données est capable de stocker des quantités gigantesques de données (certaines font plusieurs dizaines de Giga!). Un dernièr avantage considérable des bases de données est dû à leur structure : elles sont triés et rangés selon des schémas puis des tables, qui sont elles-mêmes découper en colonnes. Tout ceci permet une rapidité de recherche et de sélection (là où vous auriez besoin de vérifier chaque ligne d'un fichier json).
Pour dialoguer avec notre base de données, nous aurons besoin d'un serveur ; ce dernier sera nommé Système de Gestion de Base de Données (SGBD). C'est lui qui va s'assurer d’interpréter nos requêtes et de nous répondre en conséquence. Il faut savoir qu'il n'existe pas qu'un seul SGBD mais plusieurs dizaines, l'historique étant Mysql mais on peut également mentionner MongoDB, MariaDB, PostgreSQL ou encore Microsoft SQL Server. Chaque SGBD va embarquer ses avantages et inconvénients, mais, en définitive, ils font tous le même travail : nous permettre de communiquer avec notre base de données. Il faut savoir que les requêtes peuvent varier en fonction de votre SGBD mais ici cela ne nous posera aucun souci car celles utilisées dans ce tutoriel seront extrêmement simples !
Pour ce tutoriel, j'ai décidé d'utiliser le SGBD Mysql principalement car c'est le plus simple à prendre en main pour un débutant. Cependant, il faudra bien garder en tête que Mysql est assez ancien et n'est certainement pas adapté à un usage plus intense que des tests ou une petite quantité de données. Si vous souhaitez un SGBD proche de Mysql mais plus utilisable, je vous conseille de regarder du côté de MariaDB.
Les requêtes sont des petits bouts de code qui vont vous permettre de dialoguer avec votre SGBD. Dans le cas de bases de données, elles sont écrits en langage SQL (a).
Ces requêtes sont universelles (ne dépendent pas de votre langue) et sont donc en anglais. Rassurez-vous, nulle nécessité d'avoir un niveau incroyable en anglais, des connaissances de base sont largement suffisantes car nous utiliserons des mots courts et simples ; c'est là le but d'une requêtes. Si vous ne comprenez rien à l'anglais et que vous ne souhaitez pas apprendre les requête, pas d'inquiétude, un super outil existe pour vous, j'en parle dans la suite du tutoriel !
Avant de continuer, il est important que vous ayez bien compris l'organisation et la logique d'une base de données, voici donc un schéma pour que tout soit bien clair !
Pour ce tutoriel, j'ai donc installé Mysql sur un petit Serveur Privé Virtuel (VPS) sous Linux. Maintenant, nous allons devoir nous y connecter.
Pour ce faire, je me connecte d'abord à ma machine puis je m'assure que le service mysql est bien démarré (normalement, pas de problème!). Ensuite, je tape la commande :
Ceci va se connecter avec l'utilisateur root (utilisateur par défaut) et en me demandant mon mot de passe. Lorsque j'ai entré mon mot de passe (défini à l'installation de mysql), je suis connecté.
Nous sommes en SSH, l'interface n'est donc pas des plus « user friendly » si vous n'êtes pas habitué mais ça fera très bien l'affaire ! Je vais donc maintenant créer un nouveau schéma (on peut également dire « base de données ») avec la commande suivante :
Si vous obtenez la même réponse que moi, c'est que tout s'est bien passé. Pour en être sûr, vous pouvez exécuter cette commande et vous assurez de bien voir votre base de données dans la liste :
Vous vous apercevez sûrement que certaines bases de données existent déjà alors que vous ne les avez pas créé, c'est normal, elles existent par défaut et son utilisé par Mysql, vous n'avez pas à y toucher !
Maintenant, nous allons rentrer dans notre base de données. Pour ce faire, c'est relativement simple et ça se fait avec use :
Pour voir toutes les tables présentes dans cette base de données, il faut utiliser SHOW :
Note : Vous vous rendez compte que les commandes sont quand même assez intuitives si vous maîtrisez l'anglais, ce qui est plutôt pratique.
Nous n'allons pas créer de table dans ce tutoriel pour éviter de trop vous embrouiller avec les commandes, et, en plus, ce n'est pas le but. Cependant, il nous reste une dernière chose à voir, c'est interagir avec notre SGBD depuis un panel ; pour ceux qui ne veulent pas se compliquer avec les requêtes ou qui n'aiment pas le SSH. Cependant, nous allons d'abord nous déconnecter de Mysql, ce qui se fait avec la commande quit :
Une liste de vos bases de données s'affiche à gauche, plus besoin de faire de commandes ! (youpiii diront certains)
Grâce à phpMyAdmin, vous pouvez facilement créer des bases de données, ou même lire les contenus des tables. Voici par exemple ma table utilisateurs (dans la base de données test créé auparavant). Comme vous pouvez le voir, cette table contient deux utilisateurs.
Nous en avons assez vu pour une première initiation aux bases de données, en espérant vous avoir éclairées et donner envie d'utiliser ces bases de données ! Je vous mets tous les liens que j'ai cités juste en dessous ! Surtout, si vous avez encore des zones d'ombre ou des questions, n’hésitez pas à demander juste en dessous ou donner vos retours !
À bientôt dans un prochain tutoriel !
Mathéo C.
Les sites évoqués :
Notes :
(a) Il existe également des bases de données « no-sql » qui ont un fonctionnement proche mais n'utilise pas le langage sql. Ces dernières ne sont pas traitées dans ce tutoriel, j'ai préféré me concentrer sur les bases de données sql.
Difficulté : Facile/Intermédiaire
Prérequis :
- Compréhension minimale de l'informatique ;
- Connaissances minimales en anglais ;
- Savoir cliquer sur le bouton « J'aime » si le tutoriel vous a plu (après la lecture) ;
Bonjour, Bonsoir, à tous,
aujourd'hui on se retrouve pour une initiation aux bases de données. En effet, que vous soyez simplement un bidouilleur, un administrateur ou développeur, vous n'avez pas pu passer à côté de cette solution de stockage puissant ! Les bases de données sont massivement utilisé, notamment dans l'univers du web, nous allons voir pourquoi et comment nous aussi en tirer avantage !
Présentation – Les bases de données
Les bases de données (BDD) sont une puissante solution de stockage de données. Cette solution possède de nombreux avantages par rapport à un stockage en fichier, notamment dû au fait qu'elle fonctionne avec un serveur ; vous pouvez donc l'installer sur une machine et interagir facilement avec elle depuis l'extérieur grâce à un système de requêtes. Un autre avantage de cette solution est son endurance : en effet, une base de données est capable de stocker des quantités gigantesques de données (certaines font plusieurs dizaines de Giga!). Un dernièr avantage considérable des bases de données est dû à leur structure : elles sont triés et rangés selon des schémas puis des tables, qui sont elles-mêmes découper en colonnes. Tout ceci permet une rapidité de recherche et de sélection (là où vous auriez besoin de vérifier chaque ligne d'un fichier json).
Pour dialoguer avec notre base de données, nous aurons besoin d'un serveur ; ce dernier sera nommé Système de Gestion de Base de Données (SGBD). C'est lui qui va s'assurer d’interpréter nos requêtes et de nous répondre en conséquence. Il faut savoir qu'il n'existe pas qu'un seul SGBD mais plusieurs dizaines, l'historique étant Mysql mais on peut également mentionner MongoDB, MariaDB, PostgreSQL ou encore Microsoft SQL Server. Chaque SGBD va embarquer ses avantages et inconvénients, mais, en définitive, ils font tous le même travail : nous permettre de communiquer avec notre base de données. Il faut savoir que les requêtes peuvent varier en fonction de votre SGBD mais ici cela ne nous posera aucun souci car celles utilisées dans ce tutoriel seront extrêmement simples !
Pour ce tutoriel, j'ai décidé d'utiliser le SGBD Mysql principalement car c'est le plus simple à prendre en main pour un débutant. Cependant, il faudra bien garder en tête que Mysql est assez ancien et n'est certainement pas adapté à un usage plus intense que des tests ou une petite quantité de données. Si vous souhaitez un SGBD proche de Mysql mais plus utilisable, je vous conseille de regarder du côté de MariaDB.
Les requêtes sont des petits bouts de code qui vont vous permettre de dialoguer avec votre SGBD. Dans le cas de bases de données, elles sont écrits en langage SQL (a).
Ces requêtes sont universelles (ne dépendent pas de votre langue) et sont donc en anglais. Rassurez-vous, nulle nécessité d'avoir un niveau incroyable en anglais, des connaissances de base sont largement suffisantes car nous utiliserons des mots courts et simples ; c'est là le but d'une requêtes. Si vous ne comprenez rien à l'anglais et que vous ne souhaitez pas apprendre les requête, pas d'inquiétude, un super outil existe pour vous, j'en parle dans la suite du tutoriel !
Avant de continuer, il est important que vous ayez bien compris l'organisation et la logique d'une base de données, voici donc un schéma pour que tout soit bien clair !
![img1.png](https://www.discowzombie.fr/images/tutoriels/bdd/img1.png)
Utilisation des bases de données : Un exemple concret avec Mysql
Pour ce tutoriel, j'ai donc installé Mysql sur un petit Serveur Privé Virtuel (VPS) sous Linux. Maintenant, nous allons devoir nous y connecter.
Pour ce faire, je me connecte d'abord à ma machine puis je m'assure que le service mysql est bien démarré (normalement, pas de problème!). Ensuite, je tape la commande :
Code:
mysql -p
Ceci va se connecter avec l'utilisateur root (utilisateur par défaut) et en me demandant mon mot de passe. Lorsque j'ai entré mon mot de passe (défini à l'installation de mysql), je suis connecté.
![1505928609-mysql1.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql1.png)
Nous sommes en SSH, l'interface n'est donc pas des plus « user friendly » si vous n'êtes pas habitué mais ça fera très bien l'affaire ! Je vais donc maintenant créer un nouveau schéma (on peut également dire « base de données ») avec la commande suivante :
Code:
CREATE DATABASE test;
![1505928609-mysql2.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql2.png)
Si vous obtenez la même réponse que moi, c'est que tout s'est bien passé. Pour en être sûr, vous pouvez exécuter cette commande et vous assurez de bien voir votre base de données dans la liste :
Code:
SHOW DATABASES;
![1505928609-mysql3.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql3.png)
Vous vous apercevez sûrement que certaines bases de données existent déjà alors que vous ne les avez pas créé, c'est normal, elles existent par défaut et son utilisé par Mysql, vous n'avez pas à y toucher !
Maintenant, nous allons rentrer dans notre base de données. Pour ce faire, c'est relativement simple et ça se fait avec use :
Code:
use test;
![1505928609-mysql4.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql4.png)
Pour voir toutes les tables présentes dans cette base de données, il faut utiliser SHOW :
Code:
SHOW TABLES;
![1505928609-mysql5.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql5.png)
Note : Vous vous rendez compte que les commandes sont quand même assez intuitives si vous maîtrisez l'anglais, ce qui est plutôt pratique.
Nous n'allons pas créer de table dans ce tutoriel pour éviter de trop vous embrouiller avec les commandes, et, en plus, ce n'est pas le but. Cependant, il nous reste une dernière chose à voir, c'est interagir avec notre SGBD depuis un panel ; pour ceux qui ne veulent pas se compliquer avec les requêtes ou qui n'aiment pas le SSH. Cependant, nous allons d'abord nous déconnecter de Mysql, ce qui se fait avec la commande quit :
Code:
quit;
Interagir avec notre base de données grâce à Phpmyadmin
phpMyAdmin est un panel web qui permet de communiquer avec Mysql. Grâce à lui, vous pourrez avoir un retour visuel plus propre qu'en SSH et faire des requêtes simplement, en quelques cliques et sans rien connaître ! Lorsque vous avez installé phpMyAdmin, vous pouvez y accéder depuis un navigateur web : http://ip_de_la_machine/phpmyadmin par défaut. Ensuite, il faut se connecter, comme en SSH. Une fois connecter, vous arrivez sur la fameuse interface de phpMyAdmin. Vous avez donc fait un saut dans le temps, vous êtes maintenant en 1980 !
Une liste de vos bases de données s'affiche à gauche, plus besoin de faire de commandes ! (youpiii diront certains)
![1505928609-mysql6.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql6.png)
Grâce à phpMyAdmin, vous pouvez facilement créer des bases de données, ou même lire les contenus des tables. Voici par exemple ma table utilisateurs (dans la base de données test créé auparavant). Comme vous pouvez le voir, cette table contient deux utilisateurs.
![1505928609-mysql7.png](https://image.noelshack.com/fichiers/2017/38/3/1505928609-mysql7.png)
Nous en avons assez vu pour une première initiation aux bases de données, en espérant vous avoir éclairées et donner envie d'utiliser ces bases de données ! Je vous mets tous les liens que j'ai cités juste en dessous ! Surtout, si vous avez encore des zones d'ombre ou des questions, n’hésitez pas à demander juste en dessous ou donner vos retours !
À bientôt dans un prochain tutoriel !
Mathéo C.
Les sites évoqués :
- MySQL : https://www.mysql.com/fr/,
- MongoDB : https://www.mongodb.com/fr,
- MariaDB : https://mariadb.org/,
- PostgreSQL : https://www.postgresql.org/,
- Microsoft SQL Server : https://www.microsoft.com/fr-fr/sql-server/sql-server-2016,
Notes :
(a) Il existe également des bases de données « no-sql » qui ont un fonctionnement proche mais n'utilise pas le langage sql. Ces dernières ne sont pas traitées dans ce tutoriel, j'ai préféré me concentrer sur les bases de données sql.
Dernière édition: