Chapitre 4 Enrichir un Univers
Déroulement du cours 1 : Le rôle du Designer d Univers 2 : Créer un Univers avec l Assistant 3 : Créer un Univers étape par étape 4 : Enrichir un Univers 5 : Création d objets complexes 6 : Déploiement des univers Sécurité 7 : Approfondir les connaissances 8 : Etude de Cas Annexes 130
Enrichir un univers Toujours respecter les étapes suivantes : Le choix des tables. La création des liens. Le traitement des boucles. La création des Classes, Objets. La création des Hiérarchies. 131
Enrichir un univers TABLES et JOINTURES 132
Application 15 : Evolutions (Tables et Jointures) 1 : On souhaite gérer dans notre univers les prêts accordés aux clients. Insérer les tables PRÊT et PRÊT_LIG. 2 : On souhaite également avoir dans notre univers la notion de Pays de fabrication des produits. Créer manuellement les nouvelles jointures dans la structure de votre univers. 133
Enrichir un univers DETECTER ET RESOUDRE LES BOUCLES 134
Détecter et résoudre les boucles Qu est-ce qu une boucle? 135
Détecter les boucles Les outils du module vous aident à détecter automatiquement les boucles de votre schéma. 136
Cas des tables de Libellés Une table des libellés PAYS est accessible par plusieurs tables maîtres. 137
Solution : créer 2 Alias Solution : "Couper" la boucle par la création d'alias BusinessObjects sur la table des libellés. 138
Qu'est-ce qu'un Alias? Un Alias est simplement un renommage logique d'une table sans aucune redondance physique d'information. Pas d impact sur le schéma relationnel de la base de données. Penser à définir des restrictions (si possible auto-jointures ou restrictions sur les objets). Facile à définir Facile à maintenir Facile à utiliser 139
Détecter et créer les alias Détecter les alias permet de détecter et d indiquer automatiquement les tables qui provoquent des boucles et propose une liste d alias à créer. Le module permet également l insertion d alias manuellement. 140
Lister les alias d un univers Possibilité de lister les alias d un univers. 141
Cas des Boucles Sémantiques Supposons le schéma ci-dessous. Commandes Lignes Commandes Pays Clients Produits Prêts Lignes Prêts 2 chemins sont possibles pour aller des Clients vers les Produits : travail sur les Commandes travail sur les Prêts 142
Solution : Créer 2 Contextes Les Contextes se définissent sur l'ensemble du schéma et non pas sur le sous-ensemble comportant la boucle. Contexte des Commandes Pays Clients Commandes Lignes Commandes Produits Contexte des Prêts Pays Clients Prêts Lignes Prêts Produits 143
Détecter et créer des contextes La commande Détecter les contextes propose les contextes que vous pouvez créer pour résoudre des boucles Le module Designer vous permet de créer manuellement vos contextes 144
Afficher les contextes d un Univers Vous pouvez visualiser les contextes en mode liste. 145
Application 16 : Résolution de boucles Détecter les boucles dans la structure de votre Univers. Créer MANUELLEMENT les alias nécessaires. Créer MANUELLEMENT les contextes nécessaires. 146
Cas particuliers Comment gérer les schémas dénormalisés? Comment gérer les relations réflexives? 147
Dénormalisation du schéma Pays Code Pays... Région Code Région... Code Pays Clients Code Client... Code Région Code Pays Dénormalisation 148
Les Raccourcis jointures S il y a plusieurs chemins entre les tables mises en jeu dans la requête et 1 des chemins a été défini comme un raccourci jointure : Le raccourci jointure est mis en œuvre lors de la génération du SQL de la requête. 149
Application 17 : Raccourci-jointure Créer un raccourci-jointure entre : L alias «Pays de résidence» et la table Client. 150
Les informations hiérarchiques Pour gérer un type de relation hiérarchique du style composant / composé ou Dirigeant/dirigé, il faut créer un Alias de la table sur laquelle porte la relation. L alias SUPERIEUR de la table EMPLOYE permettra de définir par exemple l objet nom du supérieur hiérarchique. 151
Détecter et résoudre les boucles : CONCLUSION Avant de passer à la création des nouveaux objets, il est impératif d avoir résolu les problèmes de boucles par la création : D alias sur les boucles dues aux tables de libellés, De contextes pour le cas de boucles sémantiques, De raccourcis-jointures pour gérer les schémas dénormalisés. 152
Enrichir un univers CREATION DES CLASSES ET DES OBJETS 153
Association des Tables avec un objet Cette requête ne doit ramener que les pays de fabrication de nos produits. Solution : 154
Application 18 Créer les nouveaux objets suivants : Classe Produits : Pays de fabrication (Faire en sorte que l objet Pays de Fabrication ne renvoie que les pays de production des produits) Classe Prêts : Numéro de prêt Date de prêt Année, trimestre et mois de prêt (création manuelle) Classe Indicateurs : Chiffre d affaires sur les prêts Chiffre d affaires sur les prêts en 2003 Chiffre d affaires sur les prêts en 2004 Quantités totales prêtées Créer une Hiérarchie : Année, Trimestre, Mois, Date de prêt. Tester ces nouveaux objets Réaliser en particulier un tableau Client / CA prêts 2003 / CA prêts 2004. 155