0

我正忙着整理一个结构如下的数据库:

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

我知道用于处理层次关系的嵌套集模型,但我不确定这在这种情况下是否能正常工作。我不仅需要维护节点的层次结构,还需要检索每个节点的相关数据,如果不循环并查询每个单独的节点(理论上无限数量的节点),我就无法绕过这个。

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

4

1 回答 1

0

您需要一个 field_group_id 字段作为 field_groups 表的外键,并且您需要 field_groups 表中的 article_id 作为文章表的外键。此外,您需要 field_groups 表中的 parent_id,这将是 field_groups 表的外键。如果您在数据库表中有此结构,则可以使用带有连接的查询来获取数据。您可以通过在 MySQL 之上使用 ORM 使事情变得更容易。当然,您可以切换到 MongoDB,我只是想向您展示 MySQL 中存在解决您问题的方法。

于 2013-07-10T15:28:09.403 回答