-2

我有一个具有以下架构的 MySQL 5.0 数据库:

数据库架构

我在对服务器/单词进行ajax调用的Web应用程序中使用它,在其中我使用PDO查询数据库并返回json。我的目标是得到这样的 json:

[ //array of words
{
"word": "...",
"fonetics": "...",
...
"meanigngs":[] // array of meanings (objects)
"inflections":[] // array of inflections
"examples":[]
},
...
]

实现此目的的一种方法是多次查询数据库,每次查询每个表,然后在 php.ini 中处理 json 结构。我知道这不是很好,但我主要是前端人员,我对 MySQL 了解不多。我还在考虑创建一个由所需表构成的视图。

您能否指导我找到最佳解决方案,或者甚至编写一段 mysql 来创建视图/从数据库中获取所需数据?

4

1 回答 1

0

如果您需要所有数据,并希望它按照您描述的方式在对象层次结构中结构化,那么在应用程序级别这样做可能确实是您的最佳选择。确保对表进行排序,word_id以便您可以从查询结果中的连续行中获取子数组的值。

替代方案包括:

  • 为每个子数组查询一次数据库。这将使构建结构更加容易,并且可能会减少客户端的内存消耗,但会导致更多的查询。如果你这样做,那么一定要准备好声明!
  • 通过连接表格创建一个大视图。这将大量重复数据,特别是当您包含相当不相关的表之间的完整交叉产品时,例如含义和变形之间的每个组合等等。绝对不是这里的路线。
于 2012-12-07T13:57:06.707 回答