Chapter 12 Génération d'autres modèles à partir d'un MOO


Définition de la persistance des objets dans le 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".

Migration des attributs

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é

Attributs hérités

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é :


Classe dérivée

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.