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.