在我们正在构建的应用程序中,一个文件夹具有需要与其相关联的数据,称为'文件夹角色'。根据文件夹角色,我将显示与网页中特定角色关联的所有文件。我强烈怀疑,进一步的开发将导致我所说的与整个文件系统相关的元数据的其他要求。
这个问题不是关于如何漫步目录和获取信息的重要性,而是关于哪种数据结构是一个不错的选择。大多数文件夹结构都将为以下(模板)表单,但最终可能是任何数量的子文件夹。
work
---projects
---assets
------clips
------music
------3d
deliver
---review
---approve
---master
finalize
---VFX
---GFX
我最初将工作,交付并最终确定到3个数据库表中,但随后客户告知这些主文件夹也需要动态。因此,现在我真的认为我将仅将每个文件夹和文件存储在目录中,路径是主要键,并在数据库表中。我不确定如何在文件系统中的文件中移动时将元数据保持在同步中。我怀疑更新,而不是在整个桌子上删除,然后再次插入会失去元数据,但怀疑这是可以实现的。
那么什么表结构会很好?谢谢,任何帮助都将不胜感激。
因此,从阅读问题和评论中我了解的是,您需要在数据库中保留一个与OS文件夹相似的文件夹和子文件夹列表,除非您需要将每个文件夹添加到folder role
的属性。
除非我缺少某些东西,否则简单的自引用表应该足够:
CREATE TABLE tblFolders
(
FolderId int identity(1, 1),
FolderName varchar(100), -- or whatever length that suits your needs
FolderRole int, -- a foreign key to folder roles table
FolderParentId int NULL-- a foreign key to reference the current table
--- what ever else data you might need
)