Comment faire la modélisation de L'héritage dans les bases de données relationnelles?

ma question concerne la modélisation de L'héritage dans les systèmes de base de données relationnelles. J'ai modèle de données canonique et en ce que j'ai certains domaines liés à la tarification du produit héritant de certains attributs de la table de produit et je veux modéliser cet héritage dans la base de données relationnelle MySQL et donc,

"Comment pouvons-nous faire de l'Héritage de la Modélisation de Bases de données Relationnelles ?"

Merci.

29
demandé sur Eric Lavoie 2009-10-14 21:52:52

5 réponses

Martin Fowler en parle longuement dans son livre Patterns of Enterprise Application Architecture book. Obtenez ce livre et regardez dans:

  1. Seul L'Héritage De Table
  2. Classe De L'Héritage De Table
  3. Héritage De Table En Béton

le site web devrait vous donner une idée. Vous pouvez également lisez la section sur héritage mappers . Chacune des différentes approches a ses avantages et ses inconvénients, alors choisissez judicieusement.

31
répondu RichardOD 2009-10-14 18:03:28
9
répondu Todd Stout 2015-12-06 14:51:19

les bases de données relationnelles ne traitent pas des objets (et, donc, de l'héritage) - elles traitent des relations. Ce que vous demandez vraiment, c'est comment mapper la structure de votre objet à votre base de données - et la réponse à cette question Est "cela dépend de votre couche ORM".

regardez Mappage des Objets de Bases de données Relationnelles: Mappage O/R Dans le Détail de l'article pour plus de détails. Si vous nous dites quelle pile de logiciels vous utilisez, vous obtiendrez probablement un réponse.

3
répondu ChssPly76 2009-10-14 17:57:41

si vous voulez juste regarder quelques articles web au lieu de lire un livre, vous pouvez trouver de bons articles en Googlant sur:

Generalization Specialization Relational Modeling

le modèle gen-spec couvre une grande partie du même terrain que l'héritage fait dans les environnements OOP.

si vous google sur

Generalization Specialization Object Modeling

vous obtiendrez un lot entier de nouveaux articles, dont la plupart mentionnent explicitement l'héritage.

il y a un dessin technique qui est résumée dans la balise suivante sous la balise info. Cela vous permet d'utiliser des tableaux de sous-classe pour "étendre" un tableau de classe, si vous permettez une utilisation étrange du mot "étendre". Il ya un certain travail, mais ça en vaut la peine.

2
répondu Walter Mitty 2013-07-22 10:44:47

le Chapitre 6 de "Practical Issues in Database Management" est probablement une lecture intéressante pour vous.

comme tous les autres chapitres, probablement, mais ceux-ci ne se rapportent pas directement à votre question.

1
répondu Erwin Smout 2009-10-14 22:37:05