Chapitre 4.2.1
Base de données relationnelle
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.
