惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
V
Visual Studio Blog
雷峰网
雷峰网
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog RSS Feed
C
Check Point Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
D
Docker
IT之家
IT之家
博客园 - 聂微东
腾讯CDC
U
Unit 42
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog

博客园 - linbaba

“唵嘛呢叭咪吽”是什么意思? - 搜搜问问 传说中恢复文件的注册表方法 奥斯卡提名预测:《少年派》有望角逐最佳 兴业中药材价格走势月报(2013年1月) 转载80后未婚的心声 摘记 Office2010电脑打开office2003文件遇到错误的解决 中央电视台的糖尿病案例解说 作者:倪海厦 杨公忌日 梁慧勇今天打了鸡血,回答水准大大提高啊(节选) 魏老八宝美艳丹妙方(老人家长寿) 穿破石 KCFA005466 win7正在准备再循环的终极解释-文件只读 看的书 忧虑未来是因为没有把握当下 摘抄天涯上的IT女职场回忆的职场经历列举 比较累的2011结束了,账面盈余 《快速软件开发》学习笔记 之一 转摘自cnblogs
不使用递归的无限级目录树设计
linbaba · 2012-07-20 · via 博客园 - linbaba

摘录自cnblogs

http://www.cnblogs.com/sandou/archive/2009/02/09/1386583.html


一个无限级别的目录树设计

易于程序读取,不使用递归的数据库设计

categoryid       int                   分类ID 主键

categoryName  varchar(50)    名字

ParentId          int                    父节点

ParentPath      varchar(900)   节点路径(用逗号隔开的路径)

OrderId            int                    相同层的排序数字

OrderPath       varchar(900)    排序路径(包括父排序位,这个不同于ParentPath,这个只控制排序位,方便一次性读取列表)

KeyId               varchar(40)      内部使用,GUID(估计用不上吧)

Child                 int                     子节点个数(这个需要吗)

Depth                int                    深度(这个需要吗,读取parentpath也知道depth)

Remark             varchar(250)    备注

-------------------------------------------------------------------------

1a、直接下属:Select * From Category Where ParentId=10
2
3   b、本身及所有子节点:Select * From Category Where ParentPath Like '10%' Order By OrderPath 
4
5   c、所有下属子节点(不含本身):Select * From Category Where ParentPath Like '10,%' Order By OrderPath