树型结构在关系数据库中的存储
来源:互联网 发布:php连接mysqli函数 编辑:程序博客网 时间:2024/06/10 19:24
网上方法很大,也许此方案只是其中一种,使用ID ParentID FullPath 三字段来描述树结构,对实际树型结构数据有如下假设:
1、数据总量不大,如果数据量很大,会考虑用多张表来描述其数据关系,不会考虑在一张表来实现树型结构
2、结点深度可以接受,这样FullPath产生的冗余数据也可以接受,查询效率也会较高
3、经常需要根据结构关系查询
Create table Dept (DeptID int, ParentID int , DeptName nvarchar(50), FullPath varchar(256));
FullPath 以 /Parent1/Parent2/DeptId形式存储
取@DeptId(@FullPath)下所有子部门
SELECT * FROM Dept WHERE FullPath LIKE @FullPath+"%'
将@DeptID1(@FullPath1) 下的所有子部门移到 @DeptID2(@FullPath2)下
UPDATE Dept SET ParentID = @DeptID2 WHERE ParentID = @DeptID1;
UPDATE Dept SET FullPath = REPLACE(FullPath,@FullPath1,@FullPath2) WHERE FullPath LIKE @FullPath1+'%' AND DeptID != @DeptID1;
删除@DeptID(@FullPath),保留其下子部门
UPDATE Dept SET ParentID = NULL WHERE ParentID = @DeptID;
UPDATE Dept SET FullPath = REPLACE(FullPath,@FullPath,'') WHERE FullPath LIKE @FullPath+'%' ;
DELETE FROM Dept WHERE DeptID = @DeptID;
- 树型结构在关系数据库中的存储
- 树型数据在关系数据库中的存储方式辨析
- 树状结构在关系型数据库的存储
- 树型结构数据在关系数据库中用链式存储相关查询实现
- 一种理想的在关系数据库中存储树型结构数据的方法
- 一种理想的在关系数据库中存储树型结构数据的方法
- 一种理想的在关系数据库中存储树型结构数据的方法
- 一种理想的在关系数据库中存储树型结构数据的方法
- 一种理想的在关系数据库中存储树型结构数据的方法
- 一种理想的在关系数据库中存储树型结构数据的方法
- 一道SQL题...(关于树型结构的在关系表中的存储及其应用处理)
- 一种理想的在关系数据库中存储树型结构数据的方法 - Just do it - 博客园
- 树型结构数据在数据库基本表中的存储及维护
- 树型结构数据在数据库基本表中的存储及维护
- 树形结构在数据库中的存储与CRUD操作
- 关系数据库中存储树形结构
- 树结构在数据库中的实现
- 在关系数据库中存储RDF
- C# 索引器学习笔记
- C#中操作xml文件(插入节点、修改、删除)
- 公共汽车刷卡计费系统
- 有关注释
- #.Net网络程序开发-Socket篇
- 树型结构在关系数据库中的存储
- CTransferFile 类
- 另一半
- 网络规划中的IP地址分配
- 网友推荐:.Net分页控件发布
- 股市心经
- 利用C#实现标注式消息提示窗口
- mysql错误:……is marked as crashed and should be repaired!
- 数据挖掘期刊 会议网址