Gestion des jointures (dépréciée)
La gestion des jointures étend le mécanisme de lecture depuis la base de données pour joindre plusieurs tables et les lier à l'aide du mécanisme de jointure de base de données, comme vous le feriez dans une requête SQL. Pour ce faire, vous devez créer une structure de jointure contenant la table sélectionnée et la table jointe. Comme avec SQL, vous pouvez joindre autant de tables que vous le souhaitez en les ajoutant à la structure de jointure. Par convention, les structures de jointure se trouvent dans le dossier Join Structures (Structures de jointure) associé à la base de données.
La création d'une structure de jointure est automatique en utilisant l'assistant New Structure (Nouvelle structure) et en sélectionnant Create a database join structure (Créer une structure de jointure de base de données). Vous serez averti(e) des tables concernées et la structure sera créée automatiquement.
Dans le schéma ci-dessus, chaque employé est joint au service auquel il appartient (jointure plusieurs à un). Cela est possible grâce à la présence d'une structure de jointure héritant d'abord de la structure à sélectionner dans les tables (EMPLOYEES (EMPLOYÉS) dans ce cas), puis grâce à la présence d'un nouvel élément (appelé DEPARTMENTS_JOIN (JOINTURE_SERVICES) héritant de la structure de tables uniques à laquelle les employés sont joints (DEPARTMENTS (SERVICES)). L'expression IO/Database pour ce nouvel élément utilise une fonction DatabaseJoin qui spécifie la connexion entre les colonnes de la structure sélectionnée (EMPLOYEES) et celles de la structure jointe (DEPARTMENTS).
Les restrictions supplémentaires sur la jointure peuvent être spécifiées dans les propriétés de la fonction DatabaseJoin, de la même manière qu'avec la fonction DatabaseSelect. Double-cliquez dessus dans l'onglet des expressions pour récupérer les propriétés.
Dans le schéma ci-dessus, la jointure se fait depuis les services pour trouver les employés de chaque service (jointure un à plusieurs). Cela fonctionne exactement de la même manière, excepté que l'élément de jointure (EMPLOYEES_JOIN (JOINTURE_EMPLOYÉS)) doit être une boucle, c'est-à-dire qu'il doit avoir un nombre maximal d'occurrences de -1.