• Aucun résultat trouvé

7. ANNEXES

7.3 O PÉRATIONS D ’ INTÉGRATION

7.3.1 Les opérations d’intégration de classe

[Dupont 95 b] a déterminé 15 opérations d’intégrations qui sont utilisées pour relier les classes à intégrer. Le résultat peut être un ensemble de classes simples ou des classes plus complexes s’appuyant sur les concepts de généralisation - spécialisation, ou de multi-instanciation. Ces 15 opérations vont être présentées maintenant, en commençant par les opérations les plus simples. Pour les illustrer, l'intégration de l’exemple suivant sera réalisée avec chacune des opérations.

Classe Port de Plaisance Classe Port de Pêche

toponyme : chaîne de caractères toponyme : chaîne de caractères nb d’emplacements : entier tonnage : entier

7.3.1.1 La préservation

La préservation n’est pas à proprement parler une opération d’intégration, mais plutôt une technique possible. Elle consiste à ne rien changer. Pour l’exemple, le résultat de cette opération est donc l’exemple.

Port de Plaisance toponyme nb emplacements Port de Pêche toponyme tonnage 7.3.1.2 La fusion

La fusion consiste à créer dans le schéma intégré, une classe ayant pour attributs l’ensemble des attributs des classes à intégrer et pour instances l'union des instances. L’ensemble des phénomènes du monde réel représenté dans l’une des classes à intégrer est donc représenté dans la classe résultante. Les propriétés spécifiques aux classes à intégrer, deviennent facultatives dans la classe intégrée. Cette opération est équivalente à l’opération Combine de Motro.

Pour l’exemple, la fusion crée une classe Port ayant pour instances les ports de plaisance et les ports de pêche, pour attribut obligatoire le toponyme et pour attributs spécifiques nb emplacements et tonnage.

Port toponyme

nb emplacements tonnage

Cette opération est utile si les classes sont très proches, elle permet d’obtenir un schéma intégré simple conservant l’ensemble des informations.

7.3.1.3 L’union

L’union consiste à créer dans le schéma intégré, une classe unique ayant pour attributs les attributs communs et pour instances l’union des instances.

Pour l’exemple, l’union crée une classe Port ayant pour instances les ports de plaisance et les ports de pêche et pour attribut obligatoire l’attribut commun : toponyme

Port toponyme

Cette opération est proche de la fusion, hormis les attributs spécifiques qui ne sont pas conservés. Elle est utile si la base intégrée doit gérer uniquement les descriptions communes.

7.3.1.4 L’intersection

L’intersection consiste à créer dans le schéma intégré, une classe unique ayant pour attributs l’ensemble des attributs des classes à intégrer et pour instances les intersections des instances. Pour l’exemple, l’intersection crée une classe Port

Mixte ayant pour instances les ports qui font à la fois

partie de la classe port de plaisance et de la classe port de pêche. Cette classe a pour attribut obligatoire les trois attributs initiaux.

Port Mixte toponyme nb emplacements tonnage

Cette opération est utile, si la base intégrée ne doit concerner que l’intersection des instances.

7.3.1.5 La partition

La partition consiste à créer une classe pour chaque intersection et pour chaque différence. Les attributs des intersections sont l’union des attributs. Les attributs des différences sont les attributs de la classe d’origine.

Pour l’exemple, 3 classes sont crées dans le schéma intégré :

· la classe des Ports exclusivement de Plaisance avec pour attributs les attributs de la classe

Port de Plaisance,

· la classe des Ports exclusivement de Pêche,

· la classe des Ports Mixtes qui regroupe les instances de l’intersection.

Port exclusivement de Plaisance toponyme nb emplacements Port Mixte toponyme nb emplacements tonnage Port exclusivement de Pêche toponyme tonnage

Cette opération est intéressante, car elle permet de résoudre les problèmes d’intersection entre les classes à intégrer tout en conservant l’ensemble de l’information. Par contre, elle est difficilement utilisable pour plus de deux classes à intégrer, car elle produit un grand nombre de classes.

Les classes intégrées peuvent aussi utiliser les relations de généralisation spécialisation.

7.3.1.6 La sous-classe

L’opération sous-classe consiste à définir une relation d’héritage entre les deux classes. Cette opération peut être uniquement utilisé si l’extension de la classe fille est inclus dans celle de la mère. Cette opération est équivalente à l’opération Connect de Motro.

Pour l’exemple, si tous les ports de pêche sont des ports de plaisance, alors l’opération sous-classe peut être utilisée, le schéma intégré est alors composé d’une classe générique Port de Plaisance et d’une classe spécifique Port de Pêche. Port de Plaisance

a pour attributs ses attributs propres et pour instances les ports de plaisance qui ne sont pas des ports de pêche. Port de Pêche a pour attributs ses attributs spécifiques et pour instances les ports de pêche qui sont aussi des ports de plaisance.

Port de Plaisance toponyme nb emplacements Port de Pêche tonnage 7.3.1.7 La sur-classe

Cette opération est l’opération inverse de sous-classe. Cette opération est équivalente à l’opération Connect de Motro mais avec les paramètres inversés. Port de Pêche toponyme tonnage Port de Plaisance nb emplacements 7.3.1.8 La généralisation

L’opération de généralisation consiste à définir une classe générique, et des liens d’héritages entre les classes à intégrer et cette classe générique. Cette opération permet d’unifier les descriptions mais ne permet pas de gérer les intersections. Elle équivaut à l’opération Meet de Motro.

Pour l’exemple, une classe générique Port est crée et les deux classes à intégrer héritent de cette classe. La classe Port a pour attribut, toponyme qui est commun aux classes initiales. Port toponyme Port de Plaisance nb emplacements Port de Pêche tonnage 7.3.1.9 La spécialisation

L’opération de spécialisation consiste à définir une classe spécifique aux classes à intégrer. Cette technique permet de gérer proprement l’intersection. Cette opération est équivalente à l’opération Join de Motro.

Pour l'exemple, une classe spécifique Port

Mixte est créée, elle hérite des classes Port de plaisance et Port de pêche, elle n’a pas

d’attribut. Les instances de Port Mixte sont les instances de l’intersection de Port de

Plaisance et Port de Pêche. Les classes

mères ont donc pour instance la différence.

Port de Plaisance toponyme nb emplacements Port de Pêche toponyme tonnage Port Mixte

7.3.1.10 La généralisation - spécialisation

L’opération de généralisation - spécialisation est une combinaison des opérations de généralisation et de spécialisation. Elle permet de gérer proprement l’intersection et l’union des extensions, et de réduire les redondances au niveau des structures. Par contre, elle génère un grand nombre de classes et une hiérarchie multiple.

Pour l’exemple, 4 classes sont créées :

· la classe générique Port qui a pour attribut propre toponyme et pas d’instances propre, · la classe Port de Plaisance qui hérite de Port, a pour attribut propre nb emplacement, et

pour instances propre, les instances qui sont uniquement des ports de plaisance,

· la classe Port de Pêche qui hérite de Port, a pour instances propres les ports qui sont uniquement des ports de pêche, pour attribut propre tonnage,

· la classe Port Mixte qui hérite de Port de Plaisance et Port de Pêche, qui n’a pas d’attribut propre et pour instance les ports qui sont à la fois des ports de pêche et des ports de plaisance. Port de Plaisance nb emplacements Port de Pêche tonnage Port Mixte Port toponyme 7.3.1.11 Union - Intersection

L’opération d’union - intersection est une combinaison des opérations d’union et d’intersection. Elle permet de gérer à la fois l’union des instances et leurs intersections. Par contre, pour les instances sans correspondance, elle ne conserve pas l’information détenue par les attributs spécifiques.

Pour l’exemple, cette opération définie deux classes : · La classe Port qui a pour attribut toponyme et pour

instances les ports étant exclusivement de plaisance ou exclusivement de pêche.

· La classe Port Mixte qui à pour instances les ports mixtes et pour attribut nb emplacement et tonnage

Port toponyme Port Mixte nb emplacements tonnage 7.3.1.12 L’union - partition

L’opération d’union - partition est une combinaison des opérations d’union et partition. Elle permet de disposer d’une classe générique (l’union) et de classe spécifique issue de la partition. Elle conserve l’ensemble des instances sans perte d’information.

Pour l’exemple, cette opération définie quatre classes ;

· la classe des ports exclusivement de plaisance avec pour attributs, l’attribut spécifique de la classe port de plaisance : nb emplacements et pour instances les ports qui sont uniquement de plaisance.

· la classe des port exclusivement de pêche, avec pour attributs, l’attribut spécifique de la classe port de pêche : tonnage, et pour instances les ports qui sont uniquement de pêche. · la classe des ports mixtes qui regroupe les instances de l’intersection des deux classes à

intégrer et qui a pour attributs l’ensemble des attributs spécifiques à ces deux classes : nb

emplacement et tonnage. Port toponyme Port exclusivement de Plaisance nb emplacements Port Mixte nb emplacements tonnage Port exclusivement de Pêche tonnage 7.3.1.13 la spécialisation - partition

L’opération de spécialisation - partition est une combinaison des opérations de spécialisation et de partition. Elle permet de gérer les différences et l’intersection tout en conservant les classes d’origine.

Pour l'exemple, cinq classes sont engendrées par cette opération :

· la classe Port de Plaisance ayant pour attributs toponyme et nb emplacement, · la classe Port de Pêche ayant pour attributs toponyme et tonnage,

· la classe Port exclusivement de Plaisance ayant pour instances les ports exclusivement de plaisance,

· la classe Port exclusivement de Pêche ayant pour instances les ports exclusivement de pêche,

· la classe Port Mixte ayant pour instances les ports mixtes.

Port exclusivement de Plaisance

Port Mixte Port exclusivement

de Pêche Port de Plaisance toponyme nb emplacements Port de Pêche toponyme tonnage 7.3.1.14 La généralisation - partition

L’opération de généralisation - partition est une combinaison des opérations de généralisation et de partition. Elle permet de gérer l’union, l’intersection, les différences et les classes d’origine au prix d’une hiérarchie complexe.

Pour l'exemple, six classes sont engendrées par cette opération : · la classe port ayant pour attribut toponyme,

· la classe port de plaisance ayant pour attribut nb emplacement, · la classe port de pêche ayant pour attribut tonnage,

· la classe port exclusivement de plaisance ayant pour instances les ports exclusivement de plaisance,

· la classe port de pêche ayant pour instances les ports exclusivement de pêche, · la classe port mixte ayant pour instances les ports mixtes.

Port exclusivement de Plaisance

Port Mixte Port exclusivement

de Pêche Port toponyme Port de Plaisance nb emplacements Port de Pêche tonnage 7.3.1.15 La muti-instanciation

L’opération de muti-instanciation s’appuie sur le concept d’instanciation multiple. Dans les BD classiques un objet est l’instance d’une seule classe. Avec ce nouveau concept, un objet peut être l’instance de plusieurs classes non reliées par des liens d’héritage.

Pour l’exemple, la technique de muti-instanciation va permettre pour les ports mixtes, d’être des instances des classes port de plaisance et port de pêche.

Port de Plaisance toponyme nb emplacements Port de Pêche toponyme tonnage