40

我的问题是关于关系数据库系统中的继承建模。我有规范的数据模型,并且我有一些与产品定价相关的字段从产品表中继承某些属性,我想在 MySQL 关系数据库中对这种继承进行建模,所以,

“我们如何在关系数据库中进行继承建模?”

谢谢。

4

5 回答 5

41

Martin Fowler 在他的《企业应用程序架构模式》一书中广泛讨论了这一点。获取这本书并查看:

  1. 单表继承

块引用

  1. 类表继承

在此处输入图像描述

  1. 具体表继承

块引用

该网站应该给你一些想法。您可能还想阅读有关继承映射器的部分。每种不同的方法都有其优点和缺点,因此请明智地选择。

于 2009-10-14T18:03:28.887 回答
9

查看这些文章以获取一些想法:

将对象映射到关系数据库

O/R 映射中的继承

于 2009-10-14T17:55:54.713 回答
6

如果你只想看一些网络文章而不是看书,你可以通过谷歌搜索找到一些好的文章:

Generalization Specialization Relational Modeling

gen-spec 模式涵盖了许多与 OOP 环境中的继承相同的基础。

如果你在谷歌上

Generalization Specialization Object Modeling

你会得到一批全新的文章,其中大部分都明确提到了继承。

在 info 标签下的以下标签这允许您使用子类表来“扩展”类表,如果您允许奇怪地使用“扩展”一词。涉及一些工作,但这是值得的。

于 2009-10-14T19:46:33.703 回答
5

关系数据库不处理对象(因此,继承) - 它们处理关系。你真正要问的是如何将你的对象结构映射到你的数据库——答案是“它取决于你的 ORM 层”。

查看Mapping Objects to Relational Databases: O/R Mapping In Detail文章了解一些详细信息。如果您告诉我们您正在使用什么软件堆栈,您可能会得到更中肯的答案。

于 2009-10-14T17:57:41.870 回答
1

“数据库管理中的实际问题”的第 6 章可能对您来说是一本有趣的读物。

可能与所有其他章节一样,但这些章节与您的问题没有直接关系。

于 2009-10-14T22:37:05.797 回答