数据库设计存储方案征集..
需求是这样的,需要存储的对象的元数据信息是动态的,例如
"书本"这样一个对象相关的元数据可能有:
A: Name(名字)、 Number(号码) 、ISBN(序号)
也可能是:
B: Author(作者)、Pages(页码)、Publisher(出版商)
那么该用什么方式存储?目前想到的法子是在数据库中设计一个表.表有两个字段
1、ID 2、XML
那么存储一个对象的例子如下
ID=1
XML=
<Name>Thinking In Java</Name>
<Number>1223</Number>
<ISBN>121212-23232</ISBN>
当元数据更改了(例如从A改为B了)..那么先前已经存储的对象依然有效,只需要在数据库中继续添加对象,例如
ID=2
XML=
<Author>Song Liang Yun</Author>
<Pages>789</Pages>
<Publisher>Spring</Publisher>
但是上述设计存在一个问题..例如我要查找作者为Song Liang Yun的对象,则需要从数据库中先提取XML字段,再一个一个的查找...
这样貌似不太好,大家有什么更好的方案?例如用已有的XML数据库之类???? 具体有什么推荐?分数不够再加。。