0

我正在尝试创建一个可用于存储大量对象的数据库。我试图用关系数据库来做到这一点,但它似乎有点像野兽。我的意思是拿下面的简单对象

Object = {
   "Type":"Car",
   "Color":"Green",
   "Doors":3,
   Wheels:{
       "Material":"Alloy",
       "Size":17,
       "Color":"Black",
       "Tyres":{
          "Profile":"Low",
          "Material":"Rubber"
          "Tread":"Slick"
       }
   },
   Seats:{
       "Number":2,
       "Seatbelts":true
   }
}

从这些您可以想象出一辆 3 门绿色汽车,配备黑色 17 英寸合金轮毂、低调、光滑的橡胶轮胎、2 个带安全带的座椅。显然,这整个对象不是一成不变的,你可以去然后扩展

(例如。

Seatbelt:{
    "Type":"Harness",
    "Buckles":1,
    "Color":"Blue"
}

)

最终,假设有很多对象,我想返回一个具有这些特征的对象列表

{
"Type":"Car"
"Doors":3
}

从这里我可能会得到一个有 3 扇门但有各种其他属性的 5 辆汽车的列表,没关系,我没有指定这些标准。我可以进一步缩小范围,寻找所有带光面轮胎的 3 门车......我可能会回来 2

{
   "Type":"Car"
   "Doors":3
   "Wheels":{
      "Tyres":{
         "Tread":"Slick"
      }
   }
}

所以我在想一个有 3 个主表的数据库:对象、属性和值。然后有链接表,将对象链接到属性,将属性链接到值。但是,如果像在示例中一样,我有包含对象的对象,并且如果我计划拥有一个 car 对象,该示例可以作为该示例的扩展呢?

我们如何处理这种类型的数据库问题?可以使用关系数据库完成还是需要面向对象的数据库?如果是这样,是否有任何 OODB 可以像 MySQL 一样轻松地通过网站实现。

如果您可以使用 RDB 来执行此操作,那么查询肯定会占用大量资源吗?OODB 怎么样?作为资源密集型?

如何为网站制作面向对象的数据库?使用 RDB 或 OODB,我不介意,就是这样

4

1 回答 1

0

我会看看hibernate(用于Java)或nhibernate(用于.net)。http://www.hibernate.org

Hibernate 为关系数据库(如 MySql)提供 ORM(对象关系映射)

少量数据的另一种解决方案(我个人不喜欢)是 xml 文件,然后您可以使用 xpath 表达式解析数据。http://www.w3schools.com/xpath

于 2011-10-11T12:25:41.647 回答