Le modèle relationnel : les mathématiques au cœur des tableaux

En 1970, Edgar Codd a proposé une approche révolutionnaire : stocker les données non pas sous forme de listes enchevêtrées mais sous forme de « relations ». En développement, nous les appelons des tables. La principale force de ce modèle réside dans la prévisibilité et la structure stricte qui protège les données du chaos.

Fichiers vs base de données
Cliquez sur une carte pour plus de détails
Termes de base

Glossaire du modèle relationnel

Ces termes suivent la tradition mathématique : relation, tuple, attribut, domaine. En SQL, ils deviennent CREATE TABLE, des lignes et des colonnes avec des types.
Une relation est une table.
Un tuple est une ligne (un enregistrement).
Un attribut est une colonne (champ).
Un domaine est le type de valeurs autorisé (par exemple, uniquement des nombres ou uniquement des dates).
Atomicité — une cellule contient une valeur indivisible : pas deux téléphones sur une rangée sans un tableau séparé.
Comment fonctionnent les relations ?

Les relations dans le modèle relationnel sont prises en charge via des clés. Une clé primaire (PK) est le « passeport » unique d’une ligne de sa table. Une clé étrangère (FK) référence une PK dans une autre table : l'enfant pointe vers le parent.

Cliquez pour voir comment les tables référencent le parent principal
Étudiants (table des étudiants)
📊Grades
Présence
🪪Profils (données personnelles, 1:1)
Implémentation en SQL
Cliquez sur une ligne avec un marqueur pour une explication
sql
1
-- Parent table
2
CREATE TABLE students (
3
    id SERIAL PRIMARY KEY,
4
    name VARCHAR(100) NOT NULL
5
);
6
-- Child table with a relationship
7
CREATE TABLE grades (
8
    id SERIAL PRIMARY KEY,
9
    student_id INT REFERENCES students(id), -- Foreign key
10
    subject VARCHAR(50),
11
    score INT
12
);

N'oubliez pas les propriétés d'une table relationnelle « appropriée » : il ne doit pas y avoir de lignes entièrement en double, l'ordre des lignes ne modifie pas la signification des données et chaque colonne a un nom unique dans la table.