到目前为止,我已经遇到了邻接列表、嵌套集和嵌套区间作为在数据库中存储树结构的模型。我对这些很熟悉,并且已经从一种模型迁移到另一种模型。
还有哪些流行的模型?它们的特点是什么?有哪些好的资源(书籍、网站等)可以了解这个话题?
我不仅想了解数据库存储,也想扩展我的树知识。例如,我了解到嵌套集/区间在关系数据库存储中特别有利,并且问自己,在其他情况下它们是否实际上是一个不好的选择?
到目前为止,我已经遇到了邻接列表、嵌套集和嵌套区间作为在数据库中存储树结构的模型。我对这些很熟悉,并且已经从一种模型迁移到另一种模型。
还有哪些流行的模型?它们的特点是什么?有哪些好的资源(书籍、网站等)可以了解这个话题?
我不仅想了解数据库存储,也想扩展我的树知识。例如,我了解到嵌套集/区间在关系数据库存储中特别有利,并且问自己,在其他情况下它们是否实际上是一个不好的选择?
一种变化是使用直接的层次结构表示(即节点中的父链接),同时还存储路径值。
例如,对于以下目录树:
C:\
Temp
Windows
System32
Key Name Parent Path
1 C: *1*
2 Temp 1 *1*2*
3 Windows 1 *1*3*
4 System32 3 *1*3*4*
路径已经建立索引,这将使您能够快速查询选取一个节点及其所有子节点,而无需操作范围。
例如,要查找C:\Temp及其所有子项:
WHERE Path LIKE '*1*2*%'