Manuale · 3

Chiave esterna (1:n)

Un campo di chiave esterna fa riferimento da esattamente una riga a esattamente un’altra riga – in un’altra tabella oppure anche nella stessa tabella (auto-riferimento, ad es. per un albero di pagine come in questo manuale).

Alla creazione scegli:

  • Nome della colonna
  • Tabella di destinazione
  • Colonna di destinazione (deve essere la chiave primaria della tabella di destinazione)

La tabella di destinazione deve trovarsi nella stessa origine dati. IllusionDB gestisce questa relazione autonomamente (gestita dall’app) – non viene necessariamente creato un vincolo FOREIGN KEY nativo nel database, il che funziona anche su database che non supportano affatto vincoli di chiave esterna aggiunti successivamente (ad es. SQLite). Se invece crei la colonna direttamente via SQL con un vero vincolo REFERENCES e sincronizzi, IllusionDB riconosce anche questa relazione di chiave esterna nativa.

I campi di chiave esterna sono la base per:

  • i campi lookup (mostrare anche un valore dalla riga di destinazione)
  • i campi rollup (direzione inversa: aggregare i valori di tutte le righe figlie)
  • il campo Pagina superiore della vista Wiki (auto-riferimento)

Per relazioni in cui una riga deve fare riferimento contemporaneamente a più altre righe, lo strumento adatto è invece un campo link.