Table arborescente

Collection: TreeCommunity Edition+

Présentation

Les tables arborescentes conviennent au stockage de données comportant des relations hiérarchiques, comme les structures organisationnelles, les catégories de produits, les niveaux géographiques, les répertoires de services et les répertoires de bases de connaissances. Elles utilisent une structure de table adjacente pour enregistrer les relations parent-enfant, et chaque enregistrement peut pointer vers son propre nœud parent.

Les tables arborescentes peuvent uniquement être créées via la page de la base de données principale. Les bases de données externes, les sources de données d’API REST et les sources de données NocoBase externes ne prennent pas en charge la création de tables arborescentes.

Cas d’utilisation

Les tables arborescentes conviennent notamment aux cas d’utilisation suivants :

  • Structure organisationnelle de l’entreprise et hiérarchie des services
  • Catégories de produits, répertoires de bases de connaissances et répertoires de documents
  • Provinces, villes et districts, zones commerciales et hiérarchie des points de service
  • Catégories de nomenclatures, d’équipements et d’actifs

Configuration de création

Dans la base de données principale, cliquez sur « Create collection », puis sélectionnez « Tree collection » pour créer une table arborescente.

20240324143228

La configuration de création d’une table arborescente est globalement identique à celle d’une table ordinaire.

ConfigurationDescription
Collection display nameNom sous lequel la table de données s’affiche dans l’interface, par exemple « Structure organisationnelle », « Catégories de produits » ou « Niveaux géographiques ».
Collection nameNom d’identification de la table de données, utilisé pour les références internes dans les API, les champs de relation, les autorisations, les workflows, etc.
InheritsSélectionnez la table parente dont hériter. Visible uniquement lorsque la base de données principale est PostgreSQL.
CategoriesCatégories de la table de données. Les catégories influencent uniquement l’organisation de l’interface de gestion des tables de données et ne modifient pas leur structure.
DescriptionDescription de la table de données. Vous pouvez indiquer les données hiérarchiques stockées par cette table arborescente, les personnes qui les gèrent et les pages dans lesquelles elles sont utilisées pour le filtrage.
Preset fieldsChamps prédéfinis. Lors de la création d’une table arborescente, il est recommandé de conserver les champs système et les champs intégrés aux tables arborescentes.

Champs intégrés

Après sa création, une table arborescente contient généralement les champs intégrés suivants. parentId, parent et children servent à enregistrer les relations hiérarchiques.

ChampNom du champDescription
IDidChamp de clé primaire par défaut, utilisé pour identifier de manière unique un enregistrement.
Date de créationcreatedAtEnregistre automatiquement la date et l’heure de création de l’enregistrement.
CréateurcreatedByEnregistre automatiquement l’utilisateur ayant créé l’enregistrement.
Date de mise à jourupdatedAtEnregistre automatiquement la date et l’heure de la dernière mise à jour de l’enregistrement.
ModificateurupdatedByEnregistre automatiquement l’utilisateur ayant effectué la dernière mise à jour de l’enregistrement.
Parent IDparentIdEnregistre l’ID du nœud parent. Il est généralement vide pour les nœuds racine.
ParentparentChamp de relation plusieurs-à-un pointant vers le nœud parent de la table actuelle.
ChildrenchildrenChamp de relation un-à-plusieurs représentant les nœuds enfants du nœud actuel.
EspacespaceDisponible après l’activation du plugin multi-espace, il sert à isoler les données par espace. Il n’apparaît pas lorsque le multi-espace n’est pas activé.

20240324143555

Attention

Évitez de créer des relations circulaires dans les données des tables arborescentes. Par exemple, si le parent de A est B et que le parent de B est A. Les relations circulaires peuvent entraîner des anomalies dans l’affichage de l’arborescence et les résultats de filtrage.

Champ de clé primaire

Comme les tables ordinaires, les tables arborescentes doivent comporter un champ de clé primaire. Les champs de relation arborescente utilisent l’ID du nœud parent pour établir une relation avec l’enregistrement de clé primaire de la même table.

Si une table arborescente ne possède pas de clé primaire, vous devez définir « Record unique key » lors de la modification de la table de données. Sinon, certains blocs de page risquent de ne pas pouvoir afficher ou modifier correctement les enregistrements, et l’affichage arborescent pourrait ne pas localiser les nœuds de manière fiable.

Utilisation dans la configuration des pages

Les tables arborescentes peuvent utiliser la plupart des blocs de données des tables ordinaires pour créer, supprimer, modifier et consulter des données. Elles peuvent également être utilisées avec les fonctionnalités arborescentes :

BlocUtilisation
Bloc tableauAfficher les enregistrements hiérarchiques afin de consulter et de gérer la structure parent-enfant.
Bloc formulaireAjouter ou modifier un seul enregistrement de nœud arborescent.
Bloc de détailsConsulter les détails d’un seul nœud arborescent.
Bloc de filtrage arborescentFiltrer d’autres blocs de données à l’aide d’une structure arborescente, notamment pour les catégories, les organisations et les zones géographiques.

Modification de la configuration

Dans la liste des tables de données, cliquez sur « Edit » à droite de la table arborescente pour modifier son nom d’affichage, ses catégories, sa description, son mode de pagination simplifié et d’autres paramètres tels que « Record unique key ».

Il est généralement déconseillé de supprimer ou de détourner les champs de relation parent-enfant d’une table arborescente. Pour modifier la structure hiérarchique, changez plutôt les relations avec les nœuds parents dans les données des enregistrements.

Suppression d’une table de données

Dans la liste des tables de données, cliquez sur « Delete » à droite de la table arborescente pour la supprimer.

La suppression d’une table arborescente supprime les métadonnées Collection de cette table, la table de données réelle et les données de relations arborescentes. Avant de la supprimer, vérifiez que les blocs de page, les blocs de filtrage arborescent, les champs de relation, les autorisations, les workflows et les API n’en dépendent plus.

Avertissement

Les tables arborescentes sont souvent utilisées comme critères de filtrage pour d’autres blocs. Après la suppression d’une table arborescente, les blocs de filtrage arborescent associés et les configurations de page dépendant de cette hiérarchie de catégories peuvent cesser de fonctionner.

Liens associés

  • Table ordinaire — Consulter la configuration générale et les modes d’utilisation des blocs
  • Bloc tableau — Activer l’affichage arborescent dans un tableau
  • Bloc de filtrage arborescent — Filtrer les données à l’aide d’une structure arborescente
  • Multi-espace — En savoir plus sur les champs d’espace et les fonctionnalités d’isolation par espace