4 - Nos outils4.2 - Les bases de données

Chapitre 4.2.1
Base de données relationnelle

La star des back-end.
Temps de lecture : 2 minutes


Les systèmes informatiques ont besoin de garder en mémoire tout un tas d'informations. Comptes clients, état d'un abonnement ou encore tout simplement le contenu du site.

Ces informations sont stockées via des logiciels que l'on nomme "Système de Gestion de Bases de Données" ou SGBD. Un site web d'envergure utilise plusieurs technologies de base de données, chacune spécialisée pour une utilisation particulière. Entre autres :

  • Travail sur d'énormes lots de données.
  • Ou au contraire sur une donnée unitaire.
  • Moteur de recherche.
  • Identification des relations.
  • Stockage de documents et de médias.
  • Accès ultra rapide.

Les Systèmes de Gestion de Bases de Données Relationnelles (SGBDR) représentent la famille de SGBD la plus utilisée par les développeurs dans leur vie quotidienne. Les plus connus sont MySQL, Oracle, SQL Server ou PostgreSQL.

L'architecture d'une base de données relationnelle repose sur des principes logiques proches de la façon dont notre cerveau modélise le monde. Il identifie des entités (une voiture, un auteur, un chapitre...) et leurs relations : un auteur écrit plusieurs (0 ou N) chapitres, un chapitre peut être écrit par plusieurs (0 ou N) auteurs.

Visualise une base de données relationnelle comme étant un fichier Excel. Le fichier est composé de plusieurs onglets. Chaque onglet est composé de colonnes et de lignes.
Par analogie :

  • Un onglet représente ce qu'on nomme une "table". Dans notre cas, nous avons une table auteur et une table chapitre. Puisque ces deux entités ont une relation N <-> N, nous la modélisons dans une troisième table dédiée à faire la liaison.
  • Les colonnes sont les "champs" de la table. Quand la table modélise une entité, les champs représentent ses attributs : un auteur a un nom, une photo...
  • Les lignes sont appelées "tuple", "entrée", "ligne" ou "enregistrement". Dans la table chapitre, nous avons une ligne pour le chapitre 1, une ligne pour le chapitre 2, etc.

Visuellement, ça ressemble à :

Table : chapitre

identifiant titre date_publication contenu
frontend Chapitre 2 - Front-end 2023-09-10 Le front-end, c'est tout le code...
backend Chapitre 3 - Back-end 2024-01-05 Nous avons précédemment...


Table : auteur

identifiant nom photo
1 Nicolas GAUTRON nicolas_gautron.jpg
2 John Doe john_doe.jpg


Table : chapitres_auteurs

identifiant_chapitre identifiant_auteur
frontend 1
backend 1
backend 2

Chaque entité se voit attribuer manuellement ou automatiquement un identifiant unique. On le nomme "clé primaire". La troisième table utilise ces clés primaires pour mettre en relation les chapitres et les auteurs entre eux. Pour elle, ce sont des "clés étrangères".

Dans le prochain chapitre, nous verrons que manipuler ces données est à la portée de tous.