Mysql 创建文件夹/文件结构

Mysql 创建文件夹/文件结构,mysql,tree,rdbms,Mysql,Tree,Rdbms,我正在考虑将一个工作目录(即递归/嵌套文件夹/文件)存储到mysql数据库中 其思想是有一个“projects”表和一个包含所有文件夹/文件及其在树中的相应路径的表(varchar)。 查询项目应该返回文件夹和文件作为字符串路径列表(+一些元数据),我将使用这些路径在客户端构建树 我应该提到,我工作目录中的“文件”记录是元数据,表示mongodb数据存储中的json文件(它们将网页描述为复杂的嵌套json)。文件记录的查询频率将高于文件夹(它们根本不会被查询),并将链接到其他表。文件对我的应用程

我正在考虑将一个工作目录(即递归/嵌套文件夹/文件)存储到mysql数据库中

其思想是有一个“projects”表和一个包含所有文件夹/文件及其在树中的相应路径的表(varchar)。
查询项目应该返回文件夹和文件作为字符串路径列表(+一些元数据),我将使用这些路径在客户端构建树

我应该提到,我工作目录中的“文件”记录是元数据,表示mongodb数据存储中的json文件(它们将网页描述为复杂的嵌套json)。文件记录的查询频率将高于文件夹(它们根本不会被查询),并将链接到其他表。文件对我的应用程序的意义与文件夹不同,文件夹只对我的工作目录很重要

我的问题是什么是最好的选择:

  • 将文件和文件夹存储在单独的表中
  • 将文件和文件夹存储在同一个表中(记录几乎相同),并在包含2条记录“文件”/“文件夹”的联接表上使用FK
    • 简短回答:“经典”关系数据库(包括mysql)在这方面并不擅长。这里有一个很好的链接:

      另一方面,Wordpress是一个应用程序,它可以完成您试图完成的许多事情,而且它都是在mySql(或等效的RDBMS)中完成的

      看,尤其是看这一部分

      另一种方法可能是看一个


      “希望这有帮助……”

      简短的回答:“经典”关系数据库(包括mysql)在这方面并不擅长。这里有一个很好的链接:。两种方法a)将完整路径存储为列。这种“伪折叠”的优点是简单、快速。b) 使用3个表:1)文件夹,2)数据,3)“引用”将数据链接到文件夹(可能存在n:m关系)。@paulsm4感谢您的提示。我尝试了mongodb的一个初始实现,将递归嵌套树存储为json,但由于缺少事务,我发现了一些问题。您建议使用什么存储系统?谢谢您的建议。我的树也将代表网站结构;我认为一个简单的树结构就足够了。