Relations locales
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 des txpes de données compatibles.
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* * 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. •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 |
Exemple
La base de données BookCatalogNoRelation.sqlite a deux tables : Authors et Books (voir la capture d’écran ci-dessous). À cette étape, aucune relation de clé étrangère n’existe entre les tables.
![MF_BookCatalogNoRelation01](./images/mf_bookcatalognorelation01.png)
Relations BD sans relations
Lorsque nous insérons la base de données dans le mappage, les composants de base de données sont comme suit :
![MF_BookCatalogNoRelation02](./images/mf_bookcatalognorelation02.png)
Définition de relation locale
Dans cet exemple, notre objectif est de référencer la table Authors dans la table Books table. Suivez les instructions ci-dessous :
1.Cliquez avec la touche de droite à l’intérieur du composant et sélectionnez Ajouter/Supprimer/ Éditer Filtre depuis le menu contextuel.
2.Cliquer sur la touche Ajouter/Éditer Relations dans le dialogue Ajouter/Supprimer/Éditer Objets de base de données.
3.Cliquez Ajouter relation dans le dialogue Ajouter/Éditer Relations (capture d’écran ci-dessous)
4.Cliquez sur [select object] dans la colonne Objet de Clé et sélectionnez Authors. Puis, sélectionnez AuthorID dans la liste déroulante [select column].
5.Cliquez sur [select object] dans la colonne Objet de clé étrangère et sélectionnez Books. Puis, sélectionnez AuthorID dans la liste déroulante [select column].
6.Cliquez sur OK pour compléter la définition de relation locale.
![MF_BookCatalogRelation06](./images/mf_bookcatalogrelation06.png)
Composants BD avec relations
Dès que vous avez terminé de définir les relations locales, le composant Base de données devient disponible dans la zone de mappage (capture d’écran ci-dessous). Le composant affiche les deux 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, Authors 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 dans le composant. Pour plus d'informations concernant ces scénarios, voir des relations de base de données.
![MF_BookCatalogRelation07](./images/mf_bookcatalogrelation07.png)