建表:
create table address(
id number(10) not null,
name varchar2(256) not null,
father_id number(10)
);
建立索引
create unique index address_1 on address(id) ;
创建主键
alter table address add constraint address_pk primary key(id) using index address_1;
创建外键
alter table address add constraint address_fk foreign key (father_id) references address(id);
初始化数据
insert into address values(1,'上海',null);
insert into address values(2,'虹口区',1);
insert into address values(3,'徐汇区',1);
insert into address values(4,'逸仙路',2);
insert into address values(5,'浦东新区',1);
insert into address values(6,'闸北区',1);
insert into address values(7,'安徽',null);
insert into address values(8,'合肥市',7);
insert into address values(9,'亳州市',7);
insert into address values(10,'涡阳县',9);
commit;
查询路径:(父亲--孩子)
select
substr(SYS_CONNECT_BY_PATH(addr.name, '-'),2) Path
from address addr
start with addr.father_id is null
connect by addr.father_id = prior addr.id;
结果
上海
上海-虹口区
上海-虹口区-逸仙路
上海-徐汇区
上海-浦东新区
上海-闸北区
安徽
安徽-合肥市
安徽-亳州市
安徽-亳州市-涡阳县
查询路径:(孩子--父亲)
select
substr(SYS_CONNECT_BY_PATH(addr.name, '-'),2) Path
from address addr
start with addr.id = 10
connect by addr.id = prior addr.father_id;
结果
涡阳县
涡阳县-亳州市
涡阳县-亳州市-安徽
相关推荐
总的来说,“树形结构实例带数据库”是一个综合性的Delphi项目,涉及到数据可视化、数据库操作和用户交互等多个关键环节。这个实例对于学习如何在Delphi环境下构建一个高效且直观的软硬件管理工具具有很高的参考价值...
之后,通过`DisplayBST`函数显示了树的结构,接着使用`BSTSearch`函数查找特定的键值,并使用`BSTInsert`函数插入一个新的键值,最后再次显示更新后的树结构,验证了查找和插入操作的正确性。 通过这个示例,我们...
《数据结构实例教程》是北京交通大学出版社出版的一本专业教材,由知名计算机教育专家杨晓光编著。这本书深入浅出地介绍了数据结构这一计算机科学中的核心概念,旨在帮助学生和程序员更好地理解和应用数据结构。PPT...
在JavaScript编程中,树形结构是一种非常常见的数据结构,它以层次化的方式组织数据,类似于自然界中的树。这种数据结构由节点(或称为元素)组成,每个节点都可以有零个或多个子节点,且有一个或者没有父节点。在...
在iOS开发中,构建树形列表结构是一种常见的需求,它能够有效地展示层级关系的数据,比如文件系统、组织架构等。本篇文章将详细讲解如何在iOS环境下利用UITableView实现一个高效的树形列表。 首先,理解基本概念。`...
《zTree树形控件实例解析与应用》 在网页开发中,树形控件是一种常见且实用的用户界面元素,它能够清晰地展示层级关系数据,如文件系统、组织结构等。zTree是一款基于JavaScript的开源树形控件,它结合了ajax和json...
《数据结构实例教程》是北京交通大学出版社出版的一本经典教材,由知名计算机科学教育家杨晓光编写。这本书深入浅出地介绍了数据结构这一计算机科学基础领域的核心概念,旨在帮助学生和开发者理解并掌握如何有效地...
本文将深入探讨“Hibernate自身关联一对多实例(树形结构)”这一主题,这在构建具有层次结构的数据模型时尤其常见,例如组织结构、地区树或者商品分类等。 首先,我们需要理解Hibernate的核心概念。Hibernate允许...
在Windows Forms应用开发中,`DataGridView`控件通常用于展示二维表格数据,但有时我们可能需要展示层次化的数据,也就是树形结构。本教程将详细讲解如何在Visual Studio 2012中,使用C#语言和WinForms来实现一个在`...
总的来说,这个JS树形菜单实例提供了丰富的示例,帮助开发者理解如何在JavaScript中构建和管理树形结构,同时考虑了浏览器兼容性和性能优化。通过学习和实践这些实例,开发者可以提升自己的前端技能,更好地应对复杂...
这些实例展示了数据结构在解决实际问题中的灵活性和威力。通过学习和实践这些代码,你可以提升对数据结构的理解,掌握如何运用它们来解决复杂问题,这对于任何IT专业人士来说都是非常宝贵的技能。在实际编程中,理解...
一、树形结构的重要性与应用场景 树形结构在软件开发中扮演着至关重要的角色,尤其是在处理具有层级关系的数据时。这种结构不仅能够清晰地展现数据之间的关系,还能提高数据查询和操作的效率。在PowerBuilder(PB)...
在C/C++、Java和Python中,熟练使用链表和树数据结构能够提高代码的灵活性和性能,是成为优秀程序员的必备技能。 这个压缩包资源对于大学生或初学者来说,是一份宝贵的学习资料,通过阅读笔记、实践代码,不仅可以...
数据结构的选择直接影响到程序的效率、可读性和可维护性。 1.1 什么是数据结构 数据结构是指数据元素之间的相互关系,这些元素通常具有某种特定的组织形式。例如,在电话号码查询系统中,数据结构可能是二维数组、...
在"treedemo"这个示例中,我们可能会看到一个关于如何创建、操作和交互树形结构菜单的具体实例。 树形结构菜单的主要组成部分包括根节点、子节点和分支。根节点是树的起始点,没有父节点,而子节点则由一个或多个父...
在网页开发中,数据的展示往往需要有组织的结构,其中树形结构是一种常见的表示层次关系的方法。"dtree js树形结构" 是一个专门用于在网页中生成树形结构的JavaScript库,它使得开发者无需复杂的编程技巧,只需了解...
树形结构在GIS应用中通常用于组织地图图层、服务或者数据集,让用户能够选择性地显示或隐藏相关内容。复选框则为用户提供了一种直观的交互方式,让他们可以选择多个项目。在这里,"FlexViewer 树形结构带checkbox...
在树结构中移动节点时,需要确保树的完整性不受影响。比如,将一个节点从一个子树移动到另一个子树,或者将其提升为父节点的子节点。这通常涉及到修改父节点的子节点数组。下面是一个简单的移动节点的例子: ```...