Tabla de árbol

Collection: TreeCommunity Edition+

Introducción

La tabla de árbol es adecuada para guardar datos con relaciones jerárquicas, como estructuras organizativas, categorías de productos, niveles geográficos, directorios departamentales y directorios de bases de conocimiento. La tabla de árbol utiliza una estructura de tabla de adyacencia para guardar las relaciones entre padres e hijos, y cada registro puede apuntar a su propio nodo padre.

Las tablas de árbol solo se pueden crear desde la página de la base de datos principal. Las bases de datos externas, las fuentes de datos de la API REST y las fuentes de datos externas de NocoBase no admiten la creación de tablas de árbol.

Casos de uso

La tabla de árbol es adecuada para estos escenarios empresariales:

  • Estructuras organizativas y jerarquías departamentales de empresas
  • Categorías de productos, directorios de bases de conocimiento y directorios de documentos
  • Provincias, ciudades y distritos, regiones de ventas y jerarquías de puntos de servicio
  • Categorías de BOM, categorías de equipos y categorías de activos

Configuración de creación

En la base de datos principal, haz clic en «Create collection» y selecciona «Tree collection» para crear una tabla de árbol.

20240324143228

La configuración de creación de una tabla de árbol es básicamente igual que la de una tabla normal.

ConfiguraciónDescripción
Collection display nameNombre con el que la tabla de datos se muestra en la interfaz, por ejemplo, «Estructura organizativa», «Categorías de productos» o «Niveles geográficos».
Collection nameNombre identificativo de la tabla de datos, utilizado para referencias internas en API, campos de relación, permisos, flujos de trabajo, etc.
InheritsSelecciona la tabla padre que se heredará. Solo está visible cuando la base de datos principal es PostgreSQL.
CategoriesCategoría de la tabla de datos. La categoría solo afecta a la organización de la interfaz de gestión de tablas de datos y no modifica la estructura de la tabla de datos.
DescriptionDescripción de la tabla de datos. Puedes indicar qué datos jerárquicos guarda esta tabla de árbol, quién la mantiene y en qué páginas se utiliza para filtrar.
Preset fieldsCampos preestablecidos. Al crear una tabla de árbol, se recomienda conservar los campos del sistema y los campos integrados de la tabla de árbol.

Campos integrados

Después de crear una tabla de árbol, normalmente contiene estos campos integrados. parentId, parent y children se utilizan para guardar las relaciones jerárquicas.

CampoNombre del campoDescripción
IDidCampo de clave principal predeterminado, utilizado para identificar de forma única un registro.
Fecha de creacióncreatedAtRegistra automáticamente la fecha y hora de creación del registro.
CreadorcreatedByRegistra automáticamente el usuario que creó el registro.
Fecha de actualizaciónupdatedAtRegistra automáticamente la fecha y hora de la última actualización del registro.
ActualizadorupdatedByRegistra automáticamente el usuario que actualizó el registro por última vez.
Parent IDparentIdGuarda el ID del nodo padre. Normalmente está vacío para los nodos raíz.
ParentparentCampo de relación de varios a uno que apunta al nodo padre de la tabla actual.
ChildrenchildrenCampo de relación de uno a varios que representa los nodos hijos del nodo actual.
EspaciospaceDisponible después de activar el plugin de múltiples espacios, se utiliza para aislar los datos por espacio. No aparece si no se ha activado la función de múltiples espacios.

20240324143555

Atención

Evita que los datos de la tabla de árbol formen relaciones circulares; por ejemplo, que el nodo padre de A sea B y que el nodo padre de B sea A. Las relaciones circulares pueden provocar anomalías en la visualización del árbol y en los resultados de los filtros.

Campos de clave principal

Al igual que las tablas normales, las tablas de árbol necesitan un campo de clave principal. Los campos de relación jerárquica se vinculan mediante el ID del nodo padre con el registro de clave principal de la misma tabla.

Si una tabla de árbol no tiene una clave principal, debes configurar «Record unique key» al editar la tabla de datos. De lo contrario, es posible que los bloques de página no puedan ver ni editar correctamente los registros y que la visualización del árbol no pueda localizar los nodos de forma estable.

Uso en la configuración de páginas

Las tablas de árbol pueden utilizar la mayoría de los bloques de datos de las tablas normales para crear, eliminar, actualizar y consultar datos. Además, pueden utilizarse junto con las funciones de árbol:

BloqueUso
Bloque de tablaMuestra registros jerárquicos para consultar y mantener la estructura entre padres e hijos.
Bloque de formularioAñade o edita un único registro de nodo de árbol.
Bloque de detallesConsulta los detalles de un único nodo de árbol.
Bloque de filtro de árbolFiltra otros bloques de datos mediante una estructura de árbol, normalmente para filtrar jerarquías de categorías, organizaciones, regiones, etc.

Edición de la configuración

En la lista de tablas de datos, haz clic en «Edit» a la derecha de la tabla de árbol para modificar configuraciones como el nombre visible de la tabla de datos, la categoría, la descripción, el modo de paginación simple y «Record unique key».

Por lo general, no se recomienda eliminar ni cambiar arbitrariamente los campos de relación entre padres e hijos de una tabla de árbol para otros usos. Si necesitas ajustar la estructura jerárquica, modifica primero la relación con el nodo padre en los datos de los registros.

Eliminación de la tabla de datos

En la lista de tablas de datos, haz clic en «Delete» a la derecha de la tabla de árbol para eliminarla.

Eliminar una tabla de árbol elimina los metadatos de Collection, la tabla de datos real y los datos de las relaciones jerárquicas. Antes de eliminarla, confirma si los bloques de página, los bloques de filtro de árbol, los campos de relación, los permisos, los flujos de trabajo y las API siguen dependiendo de ella.

Advertencia

Las tablas de árbol suelen utilizarse como condiciones de filtro para otros bloques. Después de eliminar una tabla de árbol, es posible que dejen de funcionar los bloques de filtro de árbol relacionados y las configuraciones de página que dependen de esa jerarquía de categorías.

Enlaces relacionados