如何为二叉树设计数据库?

5

我正在进行一个关于多级营销的项目,使用的技术是.Net和SQL Server。 在数据库中,它应该像一个二叉树一样保存。如何设计数据库?

3个回答

4
id | parentid | name
---------------------
 1 | null     | node1
 2 | 1        | node2
 3 | 1        | node3

4
查询:返回所有来自节点1的后代。 - Tom Lokhorst
你的意思是这个吗?从tab表中选择所有内容,其中parentid等于(从table表中选择name为'node1'的id)的记录。 - Arsen Mkrtchyan
太有趣了 :-) 不过,你可能应该指出一个更好的替代方案,比如使用嵌套集模型。 - ChssPly76
4
对于Arsenmkrt - 不,那将是直系后代。你被要求列出所有的后代 :) - ChssPly76
@ChssPly76 嗯,那很容易吧?选择 * from tab where name != 'node1' ;) 但说真的,这个回答怎么有3个赞? - user3012759

4

+1 我之前没有想到过这个 ;) - Arsen Mkrtchyan

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接