mysql - MySql 中的虚拟文件夹系统,带有 "templates"

标签 mysql sql database

我必须在 MySql 中创建一个“虚拟文件系统”(使用 asp.net 作为 Web 应用程序)。它不会很复杂,可能最多有 2-3 个“深层”子文件夹,每个文件夹中可能最多有 10 个文件。每个用户登录后都会有自己的文件夹和文件。管理员应该能够制作"template",并将模板分配给新用户。模板中将包含一些文件夹和文件。这就是我正在摸索如何制作的东西。我想我至少已经接近设计表格了,但我不确定。这是我迄今为止创建的表格:

Files
 ID
 Name
 ContentType
 FileDataSize
 FileData
 Parent_Folder_ID

Folders
 ID
 Name
 Parent_Folder_ID

Users
 ID
 Name
 Email
 Password

Templates
 ID
 Name

User_Templates
 User_ID
 Template_ID

我走在正确的道路上吗?或者我错过了什么?

最佳答案

这看起来很简单,而且可能正好适合您的目的。 您将遇到的唯一问题是您将需要多个查询来确定叶节点的完整路径。

解决此问题的最简单方法是将完整路径实际存储在单独的列中,例如:

文件夹1/文件夹2/节点

不是那么漂亮,但绝对是最容易处理的。

或者,您可以使用先序树遍历算法,但这可能会更复杂,并且虽然获取子树很快,但更新可能会非常慢。

关于mysql - MySql 中的虚拟文件夹系统,带有 "templates",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10152582/

相关文章:

php - MySQL 或 PHP 将行动态转换为列

python - Ubuntu 17 : Can't install mysqlclient

sql - 有没有人编写过更高级别的查询语言(比 sql),可以在有限的模式上为常见任务生成 sql

database - 可以使用 Unix shell 脚本来操作数据库吗?

mysql - 检查最近更新时间是否大于10分钟

MySQL文件导入

mysql - 意外的外键

MySQL:更新触发器。如果不匹配任何行,获取 UPDATE 的 where 子句中使用的列的值?

sql复杂组查询

database - 如何更改oracle数据库进程的当前trace文件