# Notion databases relations et rollup : maîtriser les liaisons entre bases de données

Les relations et rollups dans Notion sont le niveau supérieur de la maîtrise des bases de données. Ce sont les fonctionnalités qui transforment Notion d’un simple outil de notes en véritable système de données relationnelles. Pourtant, elles restent mystérieuses pour beaucoup d’utilisateurs. Ce guide vous explique tout avec des exemples concrets.

Comprendre les relations entre bases de données Notion, c’est comprendre comment des informations de tables différentes peuvent se parler et se calculer mutuellement.

## C’est quoi une Relation dans Notion ?

Une relation est un lien direct entre deux bases de données. Elle vous permet de connecter un item d’une BDD à un ou plusieurs items d’une autre BDD.

**Analogie simple :** Imaginons deux tableaux Excel — un de Projets, un de Clients. Une relation Notion, c’est comme créer un lien entre la ligne « Projet A » et la ligne « Client Martin ». Désormais, depuis la fiche Projet A, vous voyez directement Client Martin. Et depuis la fiche Client Martin, vous voyez tous ses projets.

### Créer une relation

1. Dans votre base de données, cliquez `+` pour ajouter une propriété
2. Sélectionnez **Relation**
3. Choisissez la base de données cible à connecter
4. Décidez si la relation est **bidirectionnelle** (recommandé) : une propriété de relation apparaît des deux côtés
5. Nommez la propriété de relation (ex. « Client » dans Projets, « Projets » dans Clients)

### Types de relations

**Relation 1:1** — Un item d’une BDD est lié à exactement un item de l’autre. Exemple : une commande liée à une seule facture.

**Relation 1:N** — Un item est lié à plusieurs items de l’autre BDD. Exemple : un client avec plusieurs projets.

**Relation N:N** — Plusieurs items de chaque côté. Exemple : des articles liés à plusieurs tags, des tags utilisés dans plusieurs articles.

Notion gère ces trois types nativement — vous liez simplement autant d’items que nécessaire.

## C’est quoi un Rollup ?

Un Rollup est une propriété qui **agrège des données depuis une relation**. En clair : vous avez une relation vers d’autres items, et le Rollup vous permet de calculer quelque chose à partir des données de ces items liés.

**Exemple :** Vous avez une BDD Clients avec une relation vers Missions (plusieurs missions par client). Un Rollup sur Missions vous permet d’afficher le montant total de toutes les missions d’un client directement dans sa fiche.

### Créer un Rollup

1. Ajoutez une propriété **Rollup** dans votre BDD
2. Choisissez la **propriété de relation** à utiliser (ex. la relation vers Missions)
3. Choisissez la **propriété à aggréger** dans la BDD liée (ex. Montant HT)
4. Choisissez le **calcul** : Sum, Count, Average, Min, Max, Percent checked, Show original, etc.

### Calculs disponibles dans les Rollups

**Pour les nombres :**
– **Sum** : Somme de tous les montants
– **Average** : Moyenne
– **Min / Max** : Valeur minimale/maximale
– **Count values** : Nombre d’items liés
– **Count unique values** : Nombre de valeurs uniques

**Pour les cases à cocher :**
– **Percent checked** : Pourcentage de cases cochées (utile pour avancement)
– **Count checked** : Nombre de cases cochées

**Pour tous types :**
– **Show original** : Affiche la valeur des items liés (utile pour les textes)
– **Count** : Compte simplement le nombre d’items liés

## Exemples concrets

### Exemple 1 — CRM Freelance

**BDD Clients → relation vers Missions**

Rollup 1 : Chiffre d’affaires total
– Relation : Missions
– Propriété : Montant HT
– Calcul : Sum
→ Affiche le CA total généré par ce client

Rollup 2 : Nombre de missions
– Relation : Missions
– Propriété : (any)
– Calcul : Count all
→ Affiche combien de missions avez-vous fait pour ce client

Rollup 3 : Avancement moyen
– Relation : Missions
– Propriété : Terminée (checkbox)
– Calcul : Percent checked
→ Affiche le pourcentage de missions terminées

Rollup 4 : Date dernière mission
– Relation : Missions
– Propriété : Date livraison réelle
– Calcul : Latest date
→ Affiche quand vous avez livré la dernière mission pour ce client

### Exemple 2 — Gestion de cours

**BDD Cours → relation vers Modules → relation vers Leçons**

Rollup dans Cours :
– Count de Modules liés → nombre de modules du cours

Rollup dans Modules :
– Count de Leçons liées → nombre de leçons par module
– Sum sur Durée (min) des Leçons → durée totale du module

Rollup dans Cours via le rollup de Modules (Rollup de Rollup) :
Ceci nécessite une astuce : créer d’abord un rollup dans Modules (durée totale), puis créer un rollup dans Cours sur cette propriété. Notion le supporte depuis 2024.

### Exemple 3 — Base de lecture

**BDD Livres → relation vers Auteurs**

Rollup dans Auteurs :
– Count de Livres liés → nombre de livres lus de cet auteur
– Average sur Note (1-5) des Livres → note moyenne de l’auteur
– Latest date sur Date lecture → dernier livre lu de cet auteur

### Exemple 4 — Suivi de recettes (budget alimentaire)

**BDD Repas → relation vers Ingrédients**

Rollup dans Repas :
– Sum sur Coût unitaire des Ingrédients → coût total du repas
– Sum sur Calories des Ingrédients → total calorique du repas

Rollup dans Ingrédients :
– Count Repas liés → dans combien de recettes cet ingrédient est utilisé

## Rollups dans les formules

La puissance réelle vient quand vous combinez Rollups et Formules.

**Exemple — Taux de rentabilité d’un projet :**
– Rollup `temps_facturé` : Sum des heures facturées (via relation Suivi de temps)
– Rollup `revenus_total` : Sum des montants (via relation Missions)
– Formule : `prop(« revenus_total ») / prop(« temps_facturé »)` → taux horaire effectif du projet

**Exemple — Progression d’un projet :**
– Rollup `taches_total` : Count all des tâches liées
– Rollup `taches_done` : Count checked des tâches (checkbox « Terminée »)
– Formule : `prop(« taches_done ») / prop(« taches_total ») * 100` → pourcentage d’avancement

## Erreurs courantes

**1. Oublier d’activer la bidirectionnalité :** Si votre relation est unidirectionnelle, vous liez depuis un seul côté. Dans 90% des cas, la relation bidirectionnelle est préférable — vous voyez les liens des deux côtés.

**2. Rollup sur propriété vide :** Si certains items liés n’ont pas la propriété que vous rollupez, ils sont comptés comme 0 ou ignorés selon le calcul. Vérifiez que vos données sont complètes.

**3. Confondre Count et Count values :** Count compte les items liés (peu importe si la propriété est remplie). Count values ne compte que ceux où la propriété choisie est non vide.

**4. Les rollups de rollup :** Notion ne supporte pas les rollups de rollup directs (rollup sur une propriété qui est elle-même un rollup). Contournement : créer une formule qui reproduit le calcul du rollup intermédiaire.

## Conseils de performance

Avec beaucoup de relations et rollups, votre workspace peut ralentir. Bonnes pratiques :
– Limitez les relations bidirectionnelles aux cas vraiment nécessaires
– Évitez les rollups sur des BDD avec des milliers d’items
– Préférez les vues filtrées aux rollups complexes quand c’est possible
– Archivez régulièrement les items anciens pour réduire la taille des BDD

TR

admin_af

Expert logiciels emailing

J'ai lancé 3 startups et géré des listes email de 10 000 à 250 000 abonnés. Je teste chaque outil pendant au moins 3 mois avant de donner mon avis. Pas de partenariat caché.

48 articles · 12 outils testés · 3 ans d'expérience