Comment désosser un modèle à partir d’une base de données ou d’un script
L’ingénierie inverse est le processus de création d’un modèle de données à partir d’une base de données ou d’un script. L’outil de modélisation crée une représentation graphique des objets de base de données sélectionnés et des relations entre les objets. Cette représentation graphique peut être un modèle logique ou physique.
Remarque : Vous ne pouvez faire de l’ingénierie inverse que dans un modèle vierge. Vous ne pouvez pas effectuer d’ingénierie inverse dans un modèle contenant des objets.
Une base de données peut être rétro-conçue pour les raisons suivantes:
- Pour comprendre comment les objets sont liés les uns aux autres, puis pour s’en inspirer
- Pour démontrer la structure de la base de données
Une fois le processus de rétro-ingénierie terminé, vous pouvez effectuer les tâches suivantes:
- Ajouter de nouveaux objets de base de données
- Créer la documentation système
- Redéfinir la structure de la base de données pour répondre à vos besoins
La plupart des informations que vous effectuez de l’ingénierie inverse sont explicitement définies dans le schéma physique. Cependant, la rétro-ingénierie tire également des informations du schéma et les intègre dans le modèle. Par exemple, si le SGBD cible prend en charge les déclarations de clés étrangères, le processus de rétro-ingénierie dérive des relations d’identification et de non-identification et des noms de rôle par défaut.
Vous pouvez dériver toutes les informations principales du modèle, à l’exception des relations de sous-type, car aucun système de gestion de base de données SQL ne le prend actuellement en charge. Cependant, la quantité d’informations de modèle de données logiques incluses dans le schéma physique varie dans les bases de données cibles. Pour cette raison, les modèles résultants peuvent varier en fonction de la base de données cible sélectionnée. Vous pouvez également déduire certaines informations logiques, y compris les clés primaires, les clés étrangères et les relations de table. Vous pouvez utiliser les définitions d’index de table ou les noms de colonnes pour déduire ces clés et relations.
Vous pouvez inclure ou exclure des déclencheurs RI dans le processus de rétro-ingénierie. Vous pouvez choisir de traiter les déclencheurs RI comme des objets de modèle ou utiliser l’option d’ingénierie avancée pour inclure les déclencheurs RI dans le schéma. Vous pouvez également choisir d’inclure ou d’exclure ces options lors de la rétro-ingénierie.
Lorsque vous procédez à l’ingénierie inverse d’une base de données, vous pouvez définir un fichier de trace pour enregistrer les requêtes exécutées pour récupérer des objets. Vous pouvez examiner les requêtes une fois le processus de rétro-ingénierie terminé.
Le diagramme suivant illustre les étapes de rétro-ingénierie d’un modèle à partir d’une base de données ou d’un script:
Suivez les étapes suivantes pour désosser un modèle:
- ( Facultatif) Enregistrez les requêtes de base de données dans un fichier de trace.
- Sélectionnez les détails du modèle.
- Sélectionnez les options de rétro-ingénierie.
- Connectez-vous à une base de données et procédez à une ingénierie inverse.
Objets spécifiques à la rétro-ingénierie
Cette section comprend des détails sur le fonctionnement du processus de rétro-ingénierie pour différents objets de base de données.
Index
Lorsque vous procédez à l’ingénierie inverse d’une base de données, le nom, la définition et les paramètres de chaque index défini sur le serveur sont importés. Lorsque vous importez les informations d’index à partir d’un serveur, les informations d’emplacement de stockage pour chaque index sont conservées. Par conséquent, vous pouvez recréer la base de données en utilisant les mêmes affectations de stockage. Vous n’avez pas à réaffecter manuellement l’emplacement de stockage de chaque index.
Après avoir importé des index, vous pouvez afficher ou modifier les propriétés de l’index, les définitions et les associations de tables dans la boîte de dialogue Index. Vous pouvez affecter un index à un objet de stockage physique dans la boîte de dialogue Index pour une base de données DB2 z/OS, Informix, Oracle, SQL Server et SAP ASE. Si votre base de données cible est DB2 z/OS, Informix et Oracle, vous pouvez également modifier les paramètres de stockage dans la boîte de dialogue Index.
Si une option de stockage physique est sélectionnée pour une base de données DB2 z/OS, Informix, Oracle ou SAP ASE, le schéma inclut des paramètres de stockage physique d’index.
Objet de stockage physique
Lorsque vous procédez à la rétro-ingénierie d’une base de données, vous pouvez importer les noms et les définitions des objets de stockage physique que vous avez définis sur le serveur cible. L’importation se fait de la même manière que les tables physiques, les index et autres informations de schéma physique sont importés. Après avoir importé des objets de stockage physique, vous pouvez afficher ou modifier les définitions d’objets et les associations de tables à l’aide des éditeurs standard.
Règle de validation
Lors de la rétro-ingénierie à partir d’un fichier de schéma, d’un script ou d’un catalogue système, les règles de validation sont importées et attachées à la table ou à la colonne appropriée dans le modèle résultant. La convention utilisée pour nommer les règles de validation importées est la suivante :
VALID_RULEn
Ici n est un nombre séquentiel commençant à zéro. La première règle de validation rencontrée est nommée VALID_RULE0, la règle suivante VALID_RULE1, et ainsi de suite, jusqu’à ce que le schéma entier soit traité.