Joe Celko 已经写了一本关于这个主题的书,从一般 SQL 的角度来看,这是一个很好的参考(在上面的嵌套文章链接中提到过)。
而且,Itzik Ben-Gann 在他的书《 Microsoft SQL Server 2005: T-SQL 查询》中对最常见的选项有一个很好的概述。
在选择模式时需要考虑的主要因素是:
1)结构变化的频率-树的实际结构变化的频率。一些模型提供了更好的结构更新特性。但是,将结构更改与其他数据更改分开很重要。例如,您可能希望对公司的组织结构图进行建模。有些人会将其建模为邻接列表,使用员工 ID 将员工与主管联系起来。这通常是次优方法。一种更好的方法是将组织结构与员工本身分开建模,并将员工作为结构的一个属性。这样,当员工离开公司时,组织结构本身不需要改变,只需要与离开的员工建立联系。