Choix de la transformation

Les trois solutions de transformation fonctionnent dans tous les cas, mais avec plus ou moins de simplicité (en particulier du point de vue de l'implémentation en SQL). La difficulté consiste pour chaque relation d'héritage à choisir le bon mode de transformation, sachant que chaque solution possède ses avantages et ses inconvénients.

Fondamental

L'objectif est de choisir la transformation qui conduit au modèle relationnel le plus simple à implémenter.

MéthodeMéthode générale

La méthode générale consiste à réaliser les trois transformations pour choisir la plus simple. Avec l'expérience on peut écarter rapidement certaines solutions typiques, mais dès que l'on sort de ces cas, il est conseillé de procéder de façon systématique.

MéthodeInconvénients typiques de chaque méthode

  • Par référence

    • Lourdeur liée à la nécessité de représenter les données des classes filles sur deux relations.

    • Contrainte complexe systématique (dans le cas de l'héritage exclusif)

    • Contrainte complexe lorsque la classe mère est abstraite

  • Par les classes filles

    • Contraintes complexes lorsque la classe mère n'est pas abstraite ou qu'elle possède des attributs uniques

    • Contraintes complexes dans le cas de certaines associations avec la classe mère

  • Par la classe mère

    • Présence de valeurs nulles systématiques dans la cas de l'héritage non complet

    • Contraintes simples lorsque l'héritage est presque complet (réalisables avec des CHECK en SQL)

    • Contraintes complexes lorsque l'héritage n'est pas complet

ComplémentPenser aux vues !

Il est important de bien penser à ajouter les vues permettant de retrouver le schéma initialement recherché.

Héritage par une référence et vues

Héritage par les classes filles et vues

Héritage par la classe mère et vues