2012-07-30 63 views
0

我正在为我的问题寻找概念性解决方案,并建议使用最合适的技术。数据库结构中的零,一个或多个相同类型的条目

我有一个由一个表(id,name,...)组成的数据库在项目的功能中需要添加注释。预览对象时,会为所有评论提供空间。 我应该创建另一个ID作为主键和另一列称为评论表? 如果是这样,有两个或两个以上的评论说明相同的产品(和共享相同的ID)是计划错误 我应该更好地使用一些XML文件,并尝试建立类似:通过xml

<allobjects> 
     <object id=1> 
      <comment>blaah blah </comment> 
      <comment>something</comment> 
     <object id=2> 
     </object> 
    </allobjects> 

,然后循环结构和检索评论?

+0

也许你的意思' ... ...',而不是' ... ...'?比较id = 2的位置。 – Wug 2012-07-30 20:39:37

+0

你也可以连接评论... – 2012-07-30 20:40:55

回答

2

我不会把它放在一个XML字符串中,然后解析它。如果产品只有一条评论,那么向产品表添加另一列可能是是一个好方法。如果您曾计划支持对产品进行多重评论,则将其存储在单独的表格中更有意义。同样,如果不是所有产品都有评论,最好添加另一个表。最灵活的解决方案是创建新表。将它存储在一个XML文档中看起来并不太实际,特别是因为您必须解析xml,这会比从表格中直接检索xml慢得多(er)。

+0

好,主键在“评论”表中应该如何显示? – 2012-07-30 20:56:15

+0

评论表:'product_id(foreign_key),comment_id(pk),评论' – Icarus 2012-07-30 20:58:26

0

使用您提供的XML与使用不同的表来存储注释(一对多关系)是一回事,而在数据库方法中看不到任何错误。

根据您的使用语言(C#,JAVA,PHP)使用XML文件将变得更容易/更困难,并且需要更多的经验。另一方面,使用关系数据库和SQL进行工作对于您所说的需求来说是“小菜一碟”。

相关问题