我想做一个c++应用程序,其中将有一些用户与不同的项目(如c项目,c++项目等)。我的问题是,我应该如何建立我的3个表:用户,项目,文件?一个用户可以有多个项目(也会有共享项目),项目可以有文件夹(包)和文件,但在文件系统上,我不想让文件夹层次结构只指向数据库中的特定文件。
也就是说,我是user1,我有project1,里面有3个文件夹: headers,resource,source,每个文件夹或根目录中都有几个文件。问题是,我想从user1获取所有与项目相关的数据,并将其放在树视图中,但在服务器上,所有文件都位于相同的文件夹中,并随机生成名称。
发布于 2010-03-03 18:00:16
您可以使用如下所示的结构。
或者,您可以将文件存储在数据库中的某种BLOB
(MEDIUMBLOB
)中。
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
是用来存储文件的随机名称。
https://stackoverflow.com/questions/2373606
复制相似问题