无限级分类数据的设计
2013-08-23 14:25
260 查看
要实现栏目的无限极分类,我们需要对应的数据库表结构,一般情况下,如果结构比较常用[code]
id int 自增主键
cat_name varchar(256) 分类类别名称
parent_id int 0 父母分类Id
depth smallint 1 深度,从1递增
id_path varchar(256) 表示从根节点到当前节点的路径的ID分割组合字符串
name_path varchar(256) 表示从根节点到当前节点的路径的NAME分割组合字符串
status int 0 状态:0禁用,1启用
list_order int 0 优先级,栏目排序,同级显示的时候越靠前
在对树进行操作时,我们还是如平常一样对表执行CRUD操作,要维护这两个字段并不需要费多少力气,然而在查询时却会为我们带来极大的便利。例如要查询第3层的节点,则只需要使用"WHERE Depth = 3";又例如要查询A1节点下B3节点下C2节点下的所有子节点,则可以使用"WHERE Path LIKE 'A1/B3/C2%'";也可以用Find in set 替代like
id int 自增主键
cat_name varchar(256) 分类类别名称
parent_id int 0 父母分类Id
depth smallint 1 深度,从1递增
id_path varchar(256) 表示从根节点到当前节点的路径的ID分割组合字符串
name_path varchar(256) 表示从根节点到当前节点的路径的NAME分割组合字符串
status int 0 状态:0禁用,1启用
list_order int 0 优先级,栏目排序,同级显示的时候越靠前
在对树进行操作时,我们还是如平常一样对表执行CRUD操作,要维护这两个字段并不需要费多少力气,然而在查询时却会为我们带来极大的便利。例如要查询第3层的节点,则只需要使用"WHERE Depth = 3";又例如要查询A1节点下B3节点下C2节点下的所有子节点,则可以使用"WHERE Path LIKE 'A1/B3/C2%'";也可以用Find in set 替代like
相关文章推荐
- 无限级分类新闻管理数据表设计
- 无限级分类数据表设计的简单总结
- MySQL的分层数据管理 无限级分类 设计与优化
- 无限级分类 mysql设计
- “无限极”分类数据表设计的简单再总结
- 大量多级分类数据的获取、缓存、搜索查询 怎么设计最快 ?
- 商品分类筛选条件建模数据表的设计
- 无限极”分类数据表设计的简单再总结
- 排序无限级分类的这种结构数据
- 设计无限级分类
- 一个带存储过程的无限级分类数据库设计
- 新闻无限级分类数据库设计
- jquery.simple.tree 支持无限级分类,异步加载数据
- 无限级分类的数据库设计思考
- 新闻无限级分类数据库设计
- MySQL无限极分类数据表的设计
- [设计]小数据量复杂分类求和设计
- 关于无限级分类数据库表结构设计问题,遍历某分类下所有产品 效率 (两张表) (一张表)
- 无限级分类数据结构和读取分类的php代码
- 数据库设计无限级分类