【发布时间】:2010-01-11 21:53:20
【问题描述】:
我的程序中有一堆项目都属于特定类别。我只想返回属于该类别的项目。问题是类别可以有父类别。例如,假设有一个类别“Stuff”,其子类别为“Food”,子类别为“Fruit”。我有这些物品,Apple、Pear、Chocolate 和 Computer。
如果我想显示所有的水果,很容易使用“WHERE item.category = FRUIT_ID”子句进行数据库查询。但是,如果我想把所有食物都包括在内,我也需要一种方法来把水果放进去。
我知道某些数据库,如 Oracle,有递归查询的概念,这可能是正确的解决方案,但我没有很多分层数据方面的经验,我正在寻找一般性建议。假设我对数据库架构有无限的控制权,类别树最多只有 5 个类别,我需要它尽可能快。
【问题讨论】:
-
查询速度快得离谱,更新速度快得离谱?必须选择最多 1(一个)选项。
-
那么让我们开始查询吧。更新将大大减少。
标签: database database-design hierarchical-data