首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件夹sql编程

文件夹sql编程
EN

Stack Overflow用户
提问于 2010-05-06 00:26:46
回答 2查看 139关注 0票数 2

我正在尝试找出用sql创建文件夹系统的最佳方法。我正在做一个网站,将使用类似的系统作为资源管理器在窗口。

打开c:盘,会看到一些文件夹和文件,打开一个文件夹,会看到更多的文件和文件夹。

所以我想问的是,我是不是应该使用一个表,只指向家长的id号,或者别的什么?

我脑海里有这样的想法..您创建一个主文件夹,它获取u_id=1。然后我在该文件夹中创建一个文件,它获取u_id=2和p_id=1,因此我知道它在那里,对吗?文件夹也是如此。

所有这些都在一个表中,但我不禁认为这其中有一些主要的缺陷。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-06 00:34:09

我会用几种不同的方法来解决这个问题:

添加一个包含以下列和您需要的任何其他内容的Folders表:

代码语言:javascript
复制
FolderId [INT]
ParentFolderId [NULL INT]
Key [VARCHAR(MAX)]

键包含的是当前子对象的每个ParentId,如下所示:

代码语言:javascript
复制
19-144-444-

这让你可以轻松地找到子文件夹,而不需要递归。

添加包含以下列的Files表:

代码语言:javascript
复制
FileId [INT]
FolderId [INT]

在大多数情况下,文件将具有更多与其关联的元数据,因此没有理由过度使用一个表

票数 2
EN

Stack Overflow用户

发布于 2010-05-06 00:31:18

您所描述的是一个树状层次结构。您使用递归键来指示父子关系是正确的。

一个很好的设计示例:

代码语言:javascript
复制
ID int (PK)

Parent int nullable (FK)

Foldername varchar(100)

根据猎人的帖子使用文件

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

https://stackoverflow.com/questions/2775041

复制
相关文章

相似问题

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