Manuel · 3

Clé étrangère (1:n)

Un champ de clé étrangère fait référence, depuis exactement une ligne, à exactement une autre ligne – dans une autre table ou même dans la même table (auto-référence, par exemple pour une arborescence de pages comme dans ce manuel).

Lors de la création, vous choisissez :

  • Nom de colonne
  • Table cible
  • Colonne cible (doit être la clé primaire de la table cible)

La table cible doit se trouver dans la même source de données. IllusionDB gère lui-même cette relation (gérée par l’application) – une contrainte native FOREIGN KEY n’est pas nécessairement créée dans la base de données, ce qui fonctionne aussi sur des bases de données qui ne prennent pas du tout en charge l’ajout ultérieur de contraintes de clé étrangère (par exemple SQLite). Si vous créez plutôt la colonne directement en SQL avec une vraie contrainte REFERENCES puis synchronisez, IllusionDB reconnaît également cette relation de clé étrangère native.

Les champs de clé étrangère sont la base pour :

  • les champs lookup (afficher aussi une valeur de la ligne cible)
  • les champs rollup (direction inverse : agréger les valeurs de toutes les lignes enfants)
  • le champ de page parente de la vue Wiki (auto-référence)

Pour les relations où une ligne doit référencer plusieurs autres lignes simultanément, un champ de liens est l’outil approprié.