0

我正在寻找一种将 JavaScript 对象存储在 MySQL 样式数据库中的方法。

我想让数据库设置来处理对象、它们的属性,甚至对象引用。

给我以下语法:

<object> := list of atributes

<attribute> := integer
            | string
            | boolean
            | object-reference
            | list of attributes

这样做有没有标准的方法或最佳实践?

我想使用数据库布局来启用基于属性值的过滤。

4

2 回答 2

1

您发现难以存储对象的原因是因为对象关系阻抗不匹配

面向对象范式基于经过验证的软件工程原理。然而,关系范式是基于经过验证的数学原理。由于底层范式不同,这两种技术不能无缝地协同工作。

当您查看首选的访问方法时,阻抗不匹配变得很明显:使用对象范例,您可以通过它们的关系遍历对象,而使用关系范例,您可以连接表的数据行。

如果您被关系数据库困住,那么您将不得不在对象模型和关系模型之间执行映射。如果您确定以您描述的方式存储对象,那么您可能必须更改为对象数据库

我已经阅读了涵盖这个主题的敏捷数据库技术,但我相信还有很多其他的。网上也有很多信息。

于 2012-10-18T20:02:18.567 回答
0

据我所知mysql是一个关系数据库。它不支持以您需要的方式存储对象。您只需序列化对象并存储它。不可能进行诸如访问属性之类的操作。然而,除了 mysql,我记得在谷歌上打过其他处理对象的数据库引擎。 维基百科上的对象数据库

于 2012-10-18T18:42:02.140 回答