Chapter 13 Création de correspondances
Les développeurs utilisent de plus en plus des langages de programmation orientés objet tels que Java pour développer des objets de gestion et des composants. Ces objets peuvent être stockés dans une base de données. Un problème peut survenir lorsque l'utilisateur tente de stocker des objets dans une base de données relationnelle car la modélisation d'objets décrit un système via des objets dotés d'une entité, d'un comportement et d'un état encapsulé alors que la modélisation relationnelle décrit un système par le biais de ses données.
En outre, les codes d'objet dans un MOO pour un langage donné sont souvent différents de ceux utilisés dans une base de données relationnelle, ce qui requiert de modifier les codes d'objet après avoir généré le contenu d'un MOO dans un MPD ou le contenu d'un MPD dans un MOO afin de se conformer à la syntaxe du langage objet.
Vous pouvez utiliser la mise en correspondance des objets afin de contourner ce problème.
Le schéma suivant illustre le lien entre les classes et tables pour stocker les objets dans une base de données relationnelles :
La persistance des objets implique de stocker et d'extraire les objets dans une base de données relationnelles.
Si une classe hérité d'une classe non générée via un lien de généralisation, les attributs de la classe s'affichent dans la boîte de dialogue Sélection afin de vous permettre de créer une correspondance avec ces attributs hérités. Les attributs d'une classe dérivée non générée s'affichent également dans la boîte de dialogue Sélection.
La correspondance O/R d'une association permet de définir la navigabilité du rôle d'une association dans la base de données. Si un rôle d'association n'est pas navigable, il n'est alors pas nécessaire de définir une correspondance pour cette association puisqu'aucune information n'est transmise entre les classes. En revanche, lorsqu'un rôle d'association est navigable, vous devez configurer la structure pour la transmission des données au sein de la base de données. Dans les bases de données relationnelles, la transmission des données est mise en oeuvre via l'utilisation de clés étrangères conçues pour lier un enregistrement contenu dans une table à un enregistrement contenu dans une autre table.
Le type de correspondance pour une association dépend de la multiplicité de l'association :
Lorsque les rôles d'association sont navigables, les requêtes suivantes sont automatiquement calculées :
Requête | Action |
---|---|
Select (Rôle A) | Extrait les instances de la classe A pour le rôle A défini sur la classe B |
Insert (Rôle A) | Associe une instance de la classe A à la classe B. Le traitement n'est effectué que si l'association source est une table associative |
Delete (Rôle A) | Supprime de la classe B l'association à la classe A. Cette requête n'est calculée que si l'association source est une table associative |
Select (Rôle B) | Extrait les instances de la classe B pour le rôle B défini sur la classe A |
Insert (Rôle B) | Associe une instance de la classe B à la classe A. Cette requête n'est calculée que si l'association source est une table associative |
Delete (Rôle B) | Supprime de la classe A l'association à la classe B. Cette requête n'est calculée que si l'association source est une table associative |
Copyright (C) 2007. Sybase Inc. All rights reserved. |
![]() |