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éthode : Mé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éthode : Inconvé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ément :
Complément : Penser 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