Manual · 3

Clave foránea (1:n)

Un campo de clave foránea hace referencia desde exactamente una fila a exactamente otra fila – en otra tabla o también en la misma tabla (autorreferencia, por ejemplo para un árbol de páginas como en este manual).

Al crearlo eliges:

  • Nombre de columna
  • Tabla de destino
  • Columna de destino (debe ser la clave primaria de la tabla de destino)

La tabla de destino debe estar en la misma fuente de datos. IllusionDB gestiona esta relación por sí mismo (gestionada por la aplicación) – no se crea necesariamente una restricción FOREIGN KEY nativa en la base de datos, lo que también funciona en bases de datos que no admiten en absoluto restricciones de clave foránea a posteriori (por ejemplo, SQLite). Si en cambio creas la columna directamente mediante SQL con una restricción REFERENCES real y sincronizas, IllusionDB también reconoce esa relación de clave foránea nativa.

Los campos de clave foránea son la base para:

  • Campos lookup (mostrar también un valor de la fila de destino)
  • Campos rollup (dirección inversa: agregar valores de todas las filas hijas)
  • el campo de página superior de la vista Wiki (autorreferencia)

Para relaciones en las que una fila debe hacer referencia a varias otras filas a la vez, la herramienta adecuada es en cambio un campo de enlace.