当前位置:  开发笔记 > 后端 > 正文

将对象存储在数据库中

如何解决《将对象存储在数据库中》经验,为你挑选了2个好方法。

我有很多对象,每个对象都有许多不同的属性.许多属性重叠,例如,许多对象具有属性"name".由于存在许多类型的对象,如果为具有相同属性集的每组对象构造一个表,则将占用大量表.

目前我正在使用mysql,它以这种方式存储.

object_id|attribute_id|data

有这样的几个表,不同的表有不同类型的数据.例如,在Integer表中,它只存储整数

所以我可以在系统中存储所有类型的对象,并且仍然可以根据属性的数据进行过滤和排序.它使查询更复杂,我认为它不是有效的.

这是在mysql或其他关系数据库中执行此操作的唯一方法吗?我应该尝试为此问题找到其他数据库模型吗?

编辑 我做了一些研究,似乎我需要的是一个具有SQL功能的面向文档的数据库.



1> Devin Cearta..:

我想你想要做的是研究称为"对象关系映射"的领域.这是一个有很多解决方案的大区域.一些用在框架中,例如"Rails中使用的ActiveRecord".



2> nawroth..:

如果你想使用类似RDBMS的面向文档的数据库,我认为你应该研究mongoDB:

MongoDB的一个关键目标是弥合键/值存储(快速且高度可扩展)与传统RDBMS系统(功能深入)之间的差距.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有