Chapter 12 Génération d'autres modèles à partir d'un MOO
Les codes persistants sont des codes définis pour les classes et les attributs de MOO. Ils sont utilisés lors de la génération d'un MOO dans un MPD afin de définir avec précision le stockage des données dans une base de données relationnelle. L'utilisation de tels codes facilite également l'ingénierie par va-et-vient en permettant de récupérer des codes d'objet depuis la base de données.
Vous pouvez définir le type de persistance que vous souhaitez mettre en oeuvre dans la zone de groupe Persistant, située sur l'onglet Détails de la feuille de propriétés de classe :
Les attributs et associations des classes persistantes dont le mode de génération de persistant est défini à "Migrer les colonnes" sont migrés vers les tables parent ou enfant.
Vous pouvez également définir des types de données persistants pour les attributs de classe et les domaines. La gestion de la persistance des types de données impose de prendre en compte les paramètres suivants :
Pour plus d'informations sur la génération de types de données abstraits complexes, reportez-vous à la section "Gestion de la persistance des types de données complexes".
Si vous générez le MOO suivant dans un MPD :
La migration des attributs du MPD généré dépend des options de persistance des classes dans le MOO source :
Persistance | Résultat |
---|---|
Parent et enfant / Générer une table | Deux tables sont créées pour chaque classe |
Parent / Migrer les colonnes Enfant / Générer une table |
La table enfant est générée avec les attributs parent |
Parent / Générer une table Enfant / Migrer les colonnes |
La table parent est générée avec les attributs enfant |
Parent et enfant / Migrer les colonnes | Rien n'est généré |
Dans le MOO suivant, la classe Client hérite de Personne via un lien de généralisation. Personne n'est pas persistante, mais Client persistante.
Client hérite des attributs de la classe parent dans le MPD généré :
Une classe dérivée est créée pour des motifs d'ordre conceptuel afin d'améliorer la lisibilité d'un modèle, sans pour autant ajouter d'information sémantique. Il n'est pas nécessaire de générer une classe dérivée dans un MPD, et les attributs de cette classe doivent être migrés vers le parent.
Dans l'exemple suivant, la classe Femme est créée pour permettre une analyse plus complète de la classe Employé et mettre en exergue l'attribut spécifique "Congé maternité". Cette classe est dérivée, et donc pas générée mais elle est persistante :
Dans le MPD généré, Employé hérite de la classe parent ainsi que de la classe dérivée :
Copyright (C) 2005. Sybase Inc. All rights reserved. |