首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在虚拟文件系统的数据库中使用什么结构?

在虚拟文件系统的数据库中使用什么结构?
EN

Stack Overflow用户
提问于 2010-03-04 01:45:47
回答 1查看 2.1K关注 0票数 5

我想做一个c++应用程序,其中将有一些用户与不同的项目(如c项目,c++项目等)。我的问题是,我应该如何建立我的3个表:用户,项目,文件?一个用户可以有多个项目(也会有共享项目),项目可以有文件夹(包)和文件,但在文件系统上,我不想让文件夹层次结构只指向数据库中的特定文件。

也就是说,我是user1,我有project1,里面有3个文件夹: headers,resource,source,每个文件夹或根目录中都有几个文件。问题是,我想从user1获取所有与项目相关的数据,并将其放在树视图中,但在服务器上,所有文件都位于相同的文件夹中,并随机生成名称。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-04 02:00:16

您可以使用如下所示的结构。

或者,您可以将文件存储在数据库中的某种BLOB (MEDIUMBLOB)中。

代码语言:javascript
运行
复制
users
  id
  name
  ...

projects
  id
  name
  ...

user_projects
  user_id
  project_id

folders
  id
  name
  project_id
  parent_folder_id
  ...

files
  id
  filename
  parent_folder_id
  name_in_filesystem
  ...

您有一个users列表和一个projects列表。user_project表格允许您将多个用户指配给一个项目,以及将多个项目指配给一个用户。

每个folder属于一个项目,并且可以有一个允许分层的parent_folder_id。每个文件都有一个parent_folder_id,它是对包含该文件的文件夹的引用。name_in_filesystem是用来存储文件的随机名称。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2373606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档