Campo de relación
En NocoBase, los campos de relación se utilizan para establecer asociaciones entre distintas tablas de datos. Permiten que un registro haga referencia a un registro de otra tabla o a varios registros, por ejemplo, para asociar un pedido con un cliente, una tarea con su responsable o un estudiante con sus cursos.
Los campos de relación no funcionan exactamente igual que los campos comunes. Normalmente, los campos comunes corresponden a columnas reales de la base de datos y se utilizan para almacenar valores de texto, números, fechas, etc.; los campos de relación almacenan la configuración de conexión entre tablas y las claves utilizadas para localizar los registros relacionados. En la base de datos principal, los campos de relación pueden generar la configuración de relación necesaria al crear el campo; en bases de datos externas, normalmente se establecen a partir de claves primarias, claves foráneas o campos únicos existentes, sin modificar automáticamente la estructura de las tablas externas.
Elegir el tipo de relación
Los tipos de relación más comunes son los siguientes:
Como regla general, primero hay que tener en cuenta el significado del negocio: si el registro actual solo pertenece a un registro de destino, normalmente se utiliza una relación muchos a uno; si el registro actual necesita mostrar varios registros de la tabla de destino, normalmente se utiliza una relación uno a muchos; si ambos lados pueden relacionarse con varios registros, normalmente se utiliza una relación muchos a muchos.
Aspectos clave de la configuración
Al configurar un campo de relación, es importante confirmar lo siguiente:
- Tabla de datos de destino: la tabla con la que se establecerá la relación
- Tipo de relación: uno a uno, uno a muchos, muchos a uno, muchos a muchos o muchos a muchos mediante arrays
- Claves de relación: los campos utilizados para identificar los registros de ambos lados, normalmente una clave primaria, una clave foránea o un campo único
- Campo de título: el campo que se mostrará de forma predeterminada para los registros relacionados en los selectores y bloques
En las bases de datos externas, los campos de relación son principalmente metadatos de relación guardados por NocoBase. Añadir un campo de relación no crea automáticamente claves foráneas, índices ni tablas intermedias reales en la base de datos externa. Si necesitas restricciones de clave foránea a nivel de base de datos, configúralas primero en la base de datos y, después, vuelve a NocoBase para sincronizar y configurar el campo.
Enlaces relacionados
- Uno a uno — Consulta la configuración de los campos de relación uno a uno
- Uno a muchos — Consulta la configuración de los campos de relación uno a muchos
- Muchos a uno — Consulta la configuración de los campos de relación muchos a uno
- Muchos a muchos — Consulta la configuración de los campos de relación muchos a muchos
- Muchos a muchos (array) — Consulta la relación muchos a muchos basada en arrays

