Dav*_*vy8 5 sql directory relational hierarchy sql-server-ce
我有代表文件夹的对象,我想知道它们是否应该在数据库中表示.
一方面,似乎最简单的方法是不表示文件夹对象,只存储文件夹中包含的对象的路径值.我看到的问题是你不能保留一个后代不包含任何项目的文件夹,这不是什么大不了的事.此外,我还没有清楚地知道如何加载文件夹层次结构以显示(例如在TreeView中)而不将所有内容加载到内存中,这可能是性能问题.
另一种方法是使用一个"文件夹"表,其中包含对其父文件夹的引用.这似乎应该可行,但我不确定如何允许具有相同名称的文件夹,只要它们不共享父级.这甚至应该是DB应该关注的事情,还是我应该在业务逻辑中执行的事情?
这个想法是这样的(自我引用):
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
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3468 次 |
| 最近记录: |