Handbuch · 3

Fremdschlüssel (1:n)

Ein Fremdschlüsselfeld verweist von genau einer Zeile auf genau eine andere Zeile – in einer anderen Tabelle oder auch in derselben Tabelle (Selbstreferenz, z. B. für einen Seitenbaum wie in diesem Handbuch).

Beim Anlegen wählst du:

  • Spaltenname
  • Zieltabelle
  • Zielspalte (muss der Primärschlüssel der Zieltabelle sein)

Die Zieltabelle muss in derselben Datenquelle liegen. IllusionDB verwaltet diese Beziehung selbst (app-verwaltet) – es wird nicht zwingend ein natives FOREIGN KEY-Constraint in der Datenbank angelegt, was auch auf Datenbanken funktioniert, die nachträgliche Fremdschlüssel-Constraints gar nicht unterstützen (z. B. SQLite). Legst du die Spalte stattdessen direkt per SQL mit einem echten REFERENCES-Constraint an und synchronisierst, erkennt IllusionDB auch diese native Fremdschlüssel-Beziehung.

Fremdschlüsselfelder sind die Grundlage für:

  • Lookup-Felder (einen Wert aus der Zielzeile mitanzeigen)
  • Rollup-Felder (umgekehrte Richtung: Werte aller Kindzeilen aggregieren)
  • das Übergeordnete-Seite-Feld der Wiki-Ansicht (Selbstreferenz)

Für Beziehungen, bei denen eine Zeile auf mehrere andere Zeilen gleichzeitig verweisen soll, ist stattdessen ein Links-Feld das richtige Werkzeug.