SQL对象库 - 最佳实践

时间:2012-10-18 14:33:46

标签: sql database-design

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

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

给我以下语法:

<object> := list of atributes

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

这样做是否有一种标准的方式或最好的实践?

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

2 个答案:

答案 0 :(得分:1)

您发现难以存储对象的原因是Object Relational Impedance Mismatch

  

面向对象的范例基于成熟的软件工程   原则。然而,关系范式是基于证明的   数学原理。因为两者的基本范式不同   技术无法无缝协同工作。

     

阻抗不匹配变得明显   当您查看首选访问方法时:使用该对象   范式你通过他们的关系遍历对象,而与   关联范例,你加入表的数据行。

如果您遇到关系数据库,则必须在对象模型和关系模型之间执行映射。如果您决定以您描述的方式存储对象,则可能需要更改为Object Database

我已阅读Agile Database Techniques,其中涵盖了此主题,但我确信还有很多其他内容。网上也有很多信息。

答案 1 :(得分:0)

据我所知,mysql是一个关系数据库。它不支持以您需要的方式存储对象。您只需序列化对象并存储它。无法访问属性等操作。但是除了mysql之外,我还记得在Google上点击处理对象的其他数据库引擎。 Object Databases on Wikipedia