创建文件夹/文件结构

时间:2016-07-24 16:58:52

标签: mysql tree rdbms

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

我们的想法是拥有一个'projects'表,以及一个包含树中所有文件夹/文件及其相应路径的表(varchar)。
查询项目应该将文件夹和文件作为String路径列表(+一些元数据)返回,我将用它来在客户端构建树。

我应该提一下,我工作目录中的'文件'记录是代表mongodb数据存储区中json文件的元数据(它们将网页描述为复杂的嵌套json)。文件记录将比文件夹更频繁地查询(它们根本不会被查询),并且将链接到其他表。文件与我的应用程序的含义不同于文件夹,这对我的工作目录非常重要。

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

  • 将文件和文件夹存储在单独的表中
  • 将文件和文件夹存储在同一个表中(记录几乎相同),并在连接表上使用FK,其中包含2条记录“file”/“folder”

1 个答案:

答案 0 :(得分:2)

简短回答:"经典"关系数据库(包括mysql)对此并不是很擅长。这是一个很好的链接:Managing hierarchical data in mySQL

另一方面,Wordpress是一个应用程序,可以执行您尝试执行的许多操作 - 并且它在mySql(或等效的RDBMS)中完成所有操作。

查看here,特别注意"taxonomies"部分。

另一种方法可能是查看graph database,例如neo4J

'希望有所帮助...