mySQL树与复杂实体的关系

时间:2013-07-10 15:13:51

标签: mysql mongodb hierarchical-data

我正忙着组建一个数据库,其结构如下:

表命名文章与名为field_groups的表具有1对多关系。 field_groups与名为fields的表具有1对多的关系,但是,field_groups需要一个树结构,其中每个field_group可以是另一个字段组的父或子。

我知道用于处理层次关系的嵌套集模型,但我不确定这在这种情况下是否可行。我不仅需要维护节点的层次结构,还要检索每个节点的相关数据,我不能在没有循环和查询每个单独节点(理论上无限数量的节点)的情况下看到它。

出于这个原因,我正在考虑使用mongoDB或类似的,因为我相信它会非常优雅地处理这种情况,值得一提的是field_groups只会在其父文章的上下文中被查询。我知道一些对mongoDB的各种批评,所以我不是在这里就此提出建议,在提交另一个数据库解决方案之前我真正想知道的是 - 是否有一种已知的方法来处理这种情况mySQL中的情况?

1 个答案:

答案 0 :(得分:0)

在field_groups表中需要一个field_group_id,这是field_groups表的外键,你需要在field_groups表中使用article_id,它可以作为articles表的外键。此外,您需要field_groups表中的parent_id,它将是field_groups表的外键。如果在数据库表中有此结构,则可以使用带有连接的查询来获取数据。您可以使用MySQL上方的ORM来简化操作。当然,你可以切换到MongoDB,我只想告诉你在MySQL中有一个解决你的问题的方法。