Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在关系数据库中进行继承建模?_Mysql_Database_Inheritance_Data Modeling_Class Table Inheritance - Fatal编程技术网

Mysql 如何在关系数据库中进行继承建模?

Mysql 如何在关系数据库中进行继承建模?,mysql,database,inheritance,data-modeling,class-table-inheritance,Mysql,Database,Inheritance,Data Modeling,Class Table Inheritance,我的问题是关于关系数据库系统中的继承建模。我有一个规范的数据模型,我有一些与产品定价相关的字段,继承了产品表中的某些属性,我想在MySQL关系数据库中对这种继承进行建模,等等 “我们如何在关系数据库中进行继承建模?” 谢谢 看看这些文章,了解一些想法: 关系数据库不处理对象(因此也不处理继承)——它们处理关系。你真正想问的是如何将你的对象结构映射到你的数据库,答案是“它取决于你的ORM层” 看看这篇文章,了解一些细节。如果您告诉我们您使用的是什么软件堆栈,您可能会得到一个更切题的答案。Mart

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

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


谢谢

看看这些文章,了解一些想法:


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


看看这篇文章,了解一些细节。如果您告诉我们您使用的是什么软件堆栈,您可能会得到一个更切题的答案。

Martin Fowler在其《企业应用程序体系结构模式》一书中对此进行了广泛讨论。拿着这本书,看看:


  • 该网站应该给你一些想法。您可能还想阅读关于的部分。每种不同的方法都有其优缺点,所以要明智地选择。

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

    Generalization Specialization Relational Modeling
    
    gen-spec模式与OOP环境中的继承有很多相同之处

    如果你在谷歌上搜索

    Generalization Specialization Object Modeling
    
    您将看到一批全新的文章,其中大部分都明确提到了继承

    在下面的info标签下面的标签中总结了一种设计技术。这允许您使用子类表来“扩展”类表,如果您允许奇怪地使用单词“extend”。其中涉及到一些工作,但值得一读。

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


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

    这听起来可能有些迂腐,但我认为说关系数据库处理关系并不准确,而是因为它们处理的是此处定义的关系:@Ralph:Wiki是一个脓肿;谈话者没有证书。关系数据库处理实体和关系,而不是对象。如果RDb是真正的关系型的,那么对象可以很容易地映射;如果不是的话,也不会。您可以在没有ORM的情况下拥有表继承。答案包括购买一本书以完全实现。你有没有可能添加类似的网络资源?虽然这并不是一个理想的S.O.意义上的答案,但我发现它非常有用。