在关系数据库中存储文件夹层次结构
我有代表文件夹的对象,我想知道是否应该在数据库中代表它们。
一方面,似乎最简单的方法是不表示文件夹对象,而只存储文件夹中包含的对象的路径值。我看到的问题是,您不能保留其后代不包含任何项目的文件夹,这并不是一件大事。我也不清楚如何在不将所有内容预先加载到内存的情况下加载要显示的文件夹层次结构(例如在TreeView中),这可能是性能问题。
另一种方法是拥有一个“文件夹”表,该表引用其父文件夹。这似乎应该起作用,但是我不确定如何允许具有相同名称的文件夹,只要它们不共享父文件夹。那应该是数据库应该关注的事情,还是我应该在业务逻辑中强制执行的事情?