【发布时间】:2011-10-31 21:17:15
【问题描述】:
我认为问题的典型形式是你有员工,员工有经理,所以经理有经理,除非他是 CEO。
那么如何存储数据呢?解决方案 1:似乎员工表可以有 manager_id 或者您可以有一个employee_manager 表(这样您可以有多个或零个经理)。
有些人说解决方案 1 是个坏主意,因为 SQL 不支持递归,并且没有查询可以找到员工之上的所有经理。这些人有不同的想法(比如员工有一份经理名单),但他们似乎都包含一堆非常难以维护的非标准化数据。
那么大家觉得呢?
【问题讨论】:
-
Common table expressions 是 ANSI-99 SQL 标准的一部分,提供执行递归查询的能力。
标签: sql tree-structure