Altova MapForce 2023 Enterprise Edition

Quand les tables de base de données n’ont pas de relations entre elles, vous pouvez créer des relations de clés primaire et étrangères entre les colonnes des différentes tables directement dans MapForce (par ex., relations locales). Toute colonne de base de données peut être utilisée en tant que clés primaire ou étrangère. De plus, de nouvelles relations peuvent être créées, en plus de celles existant dans la base de données. Les relations définies localement sont enregistrées ensemble avec le mappage.

 

La table suivante recense tous les champs possibles entre lesquels vous pouvez définir des relations locales. Des relations mixtes sont possibles (par exemple, mapper la sortie d'une procédure stockée dans une colonne de base de données). Les champs participant à la relation doivent avoir les mêmes types de données ou un type de données compatible.

 

Clé primaire/unique

Clé étrangère

La colonne d'une table de base de données ou d'un mode

Paramètre de sortie ou valeur de retour d'une procédure stockée, voir aussi Procédures stockées

La colonne d'un recordset retournée par une procédure stockée*

La colonne d'une instruction SELECT définie par l'utilisateur, voir aussi Instructions SELECT SQL en tant que tables virtuelles.

La colonne d'une table de base de données ou d'un mode

Paramètre d'entrée d'une procédure stockée

Paramètre d'entrée d'une instruction SELECT définie par l'utilisateur

 

* Applicable si la procédure stockée est appelée soit en tant que source de données (sans paramètres) ou en tant que fonction (avec paramètres d'entrée et de sortie). Pour que le recordset devienne disponible pour la sélection, vous devez exécuter la procédure stockée une fois, pour extraire le recordset.

 

Exemple

Dans la base de données AltovaNoRelation.sqlite (stockée dans le dossier Tutoriel), il existe une clé primaire dans chaque table, mais les clés étrangères n’ont pas encore été définies (capture d’écran ci-dessous).

mf_db_relationships_11

Dans cet exemple, notre objectif est de réf´rencer la table Altova dans la table Office et la table Office dans la table Department. Suivez les instructions ci-dessous :

 

1.Ajouter la base de données AltovaNoRelation.sqlite à votre mappage et sélectionnez toutes les tables utilisateur.

2.Cliquer sur la touche Ajouter/Éditer Relations dans le dialogue Insérer Objets de base de données.

3.Cliquez Ajouter relation dans le dialogue Ajouter/Éditer Relations (capture d'ecran ci-dessous).

4.Cliquez sur [select object] dans la colonne Objet de Clé et sélectionnez Altova. Puis, sélectionnez PrimaryKey dans la liste déroulante [select column].

5.Cliquez sur [select object] dans la colonne Objet de clé étrangère et sélectionnez Office. Puis, sélectionnez ForeignKey dans la liste déroulante [select column]. Les étapes 4 et 5 créent la relation de clé-primaire-et-étrangère entre les tables Altova et Office.

6.Ajoutez une nouvelle relation, cliquez sur [select object] dans la colonne Objet de Clé Primaire/Unique, et sélectionnez Bureau. Puis, sélectionnez PrimaryKey dans la liste déroulante [select column].

7.Cliquez sur [select object] dans la colonne Objet de clé étrangère et sélectionnez Département. Puis, sélectionnez ForeignKey dans la liste déroulante [select column].

8.Cliquez sur OK pour compléter la définition de relation locale.

mf_db_relationships_16

Dès que vous avez terminé de définir les relations locales, le composant AltovaNoRelation devient disponible dans la zone de mappage (capture d’écran ci-dessous). Le composant affiche les trois structures de base de données possibles. Dans chacune de ces structures, la table racine est différente. Par exemple, dans la structure élargie ci-dessous, Altova est la table racine. Dépendant de vos besoins, vous pouvez mapper les données des structures disponibles dans le composant. Vous pouvez aussi mixer et faire correspondre les tables des différentes structures. Pour plus d'informations concernant les relations de table, voir Gérer des relations de base de données.

mf_db_relationships_17

 

© 2017-2023 Altova GmbH