gpt4 book ai didi

sql - 在关系数据库中存储文件夹层次结构

转载 作者:行者123 更新时间:2023-12-04 17:59:56 29 4
gpt4 key购买 nike

我有表示文件夹的对象,我想知道它们是否应该在数据库中表示。

一方面,似乎最简单的方法是不表示文件夹对象,而只存储文件夹中包含的对象的路径值。我看到的问题是,您无法保留其后代不包含任何项目的文件夹,这没什么大不了的。另外,我不清楚如何加载要显示的文件夹层次结构(例如在 TreeView 中)而不预先将所有内容加载到内存中,这可能是性能问题。

另一种方法是拥有一个“文件夹”表,其中包含对其父文件夹的引用。这似乎应该可行,但我不确定如何允许具有相同名称的文件夹,只要它们不共享父文件夹。这甚至应该是数据库应该关注的事情还是我应该在业务逻辑中强制执行的事情?

最佳答案

这个想法是这样的(自我引用):

CREATE TABLE FileSystemObject ( 
ID int not null primary key identity,
Name varchar(100) not null,
ParentID int null references FileSystemObject(ID),
constraint uk_Path UNIQUE (Name, ParentID),
IsFolder bit not null
)

关于sql - 在关系数据库中存储文件夹层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/719278/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com