我正在尝试创建一个可用于存储大量对象的数据库。我试图用关系数据库做这个,但它似乎有点像野兽。我的意思是拿下面的简单对象
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
}
从这里我可以得到一个5辆车的列表,它有3个门,但有各种其他属性,没关系,我没有指定这些标准。我可以进一步缩小它,寻找所有带有光滑轮胎的3门车......我可能会回来2
{
"Type":"Car"
"Doors":3
"Wheels":{
"Tyres":{
"Tread":"Slick"
}
}
}
所以我在想一个有3个主表的数据库:对象,属性和值。然后有链接表,将对象链接到属性,属性链接到值。但是,如果在示例中我有包含对象的对象,以及我是否计划拥有一个汽车对象,该示例可能是一个扩展名?
我们如何处理这类数据库问题?它可以用关系数据库完成,还是需要一个面向对象的数据库?如果是这样,我是否可以像使用MySQL一样轻松地在网站上实现任何OODB。
如果您可以使用RDB来执行此操作,那么查询肯定会非常耗费资源? OODB怎么样?资源密集型?
如何为网站制作面向对象的数据库?使用RDB或OODB,我不介意,它只是如何
答案 0 :(得分:0)
我会看看hibernate(对于Java)或nhibernate(对于.net)。 http://www.hibernate.org
Hibernate为关系数据库(如MySql)提供ORM(对象关系映射)
另一个解决方案(我个人不喜欢)对于少量数据是xml文件,然后可以使用xpath表达式解析数据。 http://www.w3schools.com/xpath