Comprendre les schémas

Qu'est-ce qu'un schéma ?

Un schéma (connu parfois sous le nom de "Modèle de données") peut être décrit comme la structure du jeu de données ou plus précisément comme la définition formelle de la structure d'un jeu de données.

Chaque jeu de données a sa propre structure (schéma) qui comporte les types d'entités, les géométries autorisées, les attributs utilisateurs et les autres règles qui définissent ou restreignent son contenu.

Comment FME gère-t-il les schémas ?

Lorsque vous créez un nouveau traitement, FME lit le jeu de données d'entrée et crée une définition du schéma du traitement. En général, il crée également un schéma du rédacteur, c'est-à-dire une définition de la structure du Writer. Les schémas du rédacteur pourraient être appelés schémas "logiques" puisqu'ils n'existent pas physiquement à ce moment-là.

Vous trouverez ci-dessous le schéma d'un Reader et d'un Writer tels qu'ils apparaissent dans FME Workbench. Les données source se trouvent à gauche et les données destination à droite.

Chaque élément est un type d'entité distinct. Ici, il existe un type d'entité source et un type d'entité destination, et chaque type d'entité possède un ensemble d'attributs.

Un nouveau traitement aura généralement des schémas source et destination identiques, mais ce n'est pas toujours possible, notamment lorsque les formats source et destination sont différents. Dans ces circonstances, FME tentera de compenser les différences entre les schémas source et de destination. Le traitement peut alors être édité et le schéma de destination modifié selon les besoins ; par exemple, des attributs peuvent être ajoutés, supprimés ou renommés.

Une des principales fonctionnalités de FME est de pouvoir éditer des schémas destination et transformer des données en cours de traitement.

Visualiser le schéma dans FME Workbench

Un schéma est constitué de nombreux composants. Certains d'entre eux concernent un jeu de données dans son ensemble ; par exemple, les types d'entités appartenant à un jeu de données sont considérés comme faisant partie du schéma global et sont représentés dans la fenêtre de FME Workbench.

Toutefois, certaines parties du schéma se rapportent spécifiquement à un seul type d'entité. Les attributs sont l'un de ces composants. Ces composants sont affichés dans la boîte de dialogue des propriétés d'un type d'entité.

Ci-dessus : La boîte de dialogue Type d'entités comporte un certain nombre d'onglets qui affichent des informations. Cliquez sur l'onglet Paramètres pour afficher le nom du type d'entités, le nom du jeu de données parent pour le type d'entité et les types de géométrie autorisés.

Ci-dessus : L'onglet Attributs de l'utilisateur présente une liste d'attributs présents sur le type d'entité. Chaque attribut est défini par son nom, son type de données, sa largeur et le nombre de décimales.

Cet exemple présente un type de données source. (L'édition des types de données source est une fonction avancée de FME, qui convient principalement à des fins de test).

Vous pouvez éditer les attributs du jeu de données destination.

La colonne Type d'un attribut affiche uniquement les valeurs qui correspondent aux types autorisés pour ce format de données. Cliquez sur la ligne pour afficher les types autorisés pour un attribut :

Dans la fenêtre Prévisualisation de schéma, vous pouvez voir les attributs (exposés) et les géométries de vos données n'important quand dans votre traitement.

Modifier le schéma

Le schéma par défaut que FME crée est celui qui convient à une traduction rapide. Lorsqu'il est nécessaire de personnaliser le schéma de sortie, les modifications peuvent être effectuées à l'aide de FME Workbench.

Qu'est-ce qu'éditer un schéma ?

L'édition du schéma consiste à modifier le schéma de destination pour personnaliser la structure des données de sortie. Un bon exemple est le renommage d'un champ d'attribut dans la sortie.

Que peut-on éditer ?

Vous pouvez éditer de nombreux éléments tels que :

  • Renommer un attribut : Tout attribut du schéma de destination peut être renommé. Pour renommer un attribut, ouvrez la boîte de dialogue Type d'entité et cliquez sur l'onglet Attributs utilisateur. Cliquez sur l'attribut à renommer et saisissez le nouveau nom.
  • Changement de type d'un attribut : Tout attribut du schéma de destination peut faire l'objet d'un changement de type, par exemple le changement d'ID d'un nombre entier à un nombre flottant. Pour modifier le type d'un attribut, ouvrez la boîte de dialogue Type d'entité et cliquez sur l'onglet Attributs utilisateur. Utilisez le champ Type de données pour modifier le type d'un attribut.
  • Renommer une entité : Pour renommer un type d'entité de destination (par exemple, renommer roads en updated_roads), ouvrez la boîte de dialogue Feature Type. Cliquez sur l'onglet Paramètres. Cliquez dans le champ Nom de l'entité et modifiez le nom selon vos besoins.
  • Modifier un type de géométrie : Pour modifier la géométrie autorisée pour un type d'entité (par exemple, changer les géométries autorisées de lignes en points), ouvrez la boîte de dialogue Type d'entité. Cliquez sur l'onglet Paramètres. Faites votre choix dans la liste des géométries autorisées. Ce champ est grisé lorsque le format autorise n'importe quel type de géométrie.
  • Changer un jeu de données (Déplacer un type d'entités) : quand plus d'une destination est définie, vous pouvez changer les types d'entités d'un jeu de données destination à un autre en utilisant la liste déroulante sous l'onglet Paramètres.

Connexion de schémas (Schema Mapping)

La correspondance des schémas est le moyen par lequel vous pouvez modifier la structure des données.

Qu'est-ce que la correspondance des schémas ?

Dans FME Workbench, un côté du traitement présente le schéma source (ce que nous avons) et l'autre côté présente le schéma de destination (ce que nous voulons). Le mappage de schéma est le processus qui consiste à connecter le schéma source au schéma de destination de manière à ce que les bonnes entités sources soient envoyées aux bons types d'entités de destination et que les bons attributs sources soient envoyés aux bons attributs de destination.

Correspondance des entités (Feature Mapping)

La correspondance d'entités est le processus de connexion entre les types d'entités source et les types d'entités destination.

Correspondance (Mappage) des attributs

La correspondance des attributs est le processus de connexion entre les attributs source et les attributs destination.

Dans FME Workbench, les connexions (ou liens) sont affichés avec une flèche noire épaisse.

Dans FME Workbench, le mappage des attributs est parfois implicite plutôt que visualisé, et aucune flèche de connexion n'est montrée. La couleur du port indique l'état de la connexion. Le vert indique un attribut connecté. Le jaune indique un attribut source non connecté à une destination, et le rouge indique un attribut de destination qui n'est pas connecté à une source.

Les attributs du même nom dans la source et dans la destination sont automatiquement connectés (connexion implicite).

Note  Le nom est sensible à la casse, PathId n'est donc pas identique à pathid ou PATHID.

Mappage de schéma dans FME Workbench

Dans la plupart des cas, FME remplit automatiquement le mappage de schéma de base dans un nouveau traitement. Le mappage des schémas peut ensuite être modifié si nécessaire.

Dans l'interface intuitive de FME Workbench, les connexions entre les types d'entités et les attributs sont réalisées en faisant glisser les lignes de connexion entre ces parties du schéma.

Mappage d'entités dans FME Workbench

La connexion des types d'entités s'effectue en cliquant sur le port de sortie d'un type d'entités source, puis en déplaçant le curseur sur le port d'entrée du type d'entités destination et en cliquant une dernière fois.

Ici, une ligne de connexion est en cours d'être créée en glissant et déposant la flèche de la source vers la destination.

Mappage d'attributs dans FME Workbench

La connexion des attributs s'effectue en cliquant sur le port de sortie d'un attribut source, en faisant glisser la flèche à l'entrée du port de destination d'un attribut, et en libérant le bouton de la souris.

Ici, une ligne de connexion de la source à la destination est créée en faisant glisser la flèche de la source à la destination.

Une nouvelle connexion de PathType à ParthCatego est établie. Les autres attributs ayant des destinations correspondantes, ils sont connectés automatiquement (connexion implicite). Notez les codes de couleur vert, jaune et rouge qui indiquent quels attributs ont été connectés.

Voir aussi