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.
5 réponses
Martin Fowler en parle longuement dans son livre Patterns of Enterprise Application Architecture book. Obtenez ce livre et regardez dans:
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.
regardez ces articles pour quelques idées:
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.
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 class-table-inheritance 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.
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.