`

树性结构实例

sql 
阅读更多

建表:

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;

  结果

涡阳县

涡阳县-亳州市

涡阳县-亳州市-安徽

 

 

分享到:
评论

相关推荐

    线段树数据结构

    线段树模板,采用二叉结构储存数据。适用于区间及点的修改与查询操做。是一种灵活性较大的数据结构。

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例120 通过类的多态性确定人类的说话 行为 147 5.4 迭代器和分部类的使用 149 实例121 使用迭代器显示公交车站点 149 实例122 使用迭代器实现倒序遍历 150 实例123 使用迭代器实现文字的动态效果 151 实例124 使用...

    Java数据结构和算法实例.zip

    逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何...

    基于树结构的多策略本体映射算法.pdf

    同时考虑了概念的语言相似性、实例相似性和结构相似性,提高了相似度计算的准确性;采用迭代矫正,最终得到正确而完整的映射对.实验结果表明,该算法的查准率和查全率均优于GLUE算法,能有效完成本体间的映射.

    论文研究-基于结构相似性的需求资源本体匹配方法.pdf

    该方法首先利用需求和资源本体清晰且相似的概念层次结构,对其进行基于本体树的概念类映射,减少概念对的搜索空间,提高了匹配速度;然后对映射类的实例集采取属性约束的方法进行精确匹配,确保了匹配质量。最后以某...

    数据结构案例教程(C语言版)

    《数据结构案例教程(C语言版)》共分为8章,内容包括线性表,栈和队列,串、数组和广义表,树和二叉树,图,查找,排序和综合实训。 《数据结构案例教程(C语言版)》可作为高职高专院校计算机类专业或信息类专业的...

    学习数据结构和算法分析的一些实例,包括排序算法、搜索算法、递归、二叉树等等实例.zip

    逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树)、图结构(有向图、无向图等)以及集合和队列等抽象数据类型。 存储结构(物理结构):描述数据在计算机中如何...

    [数据结构案例教程(c语言版)].徐翠霞.文字版

    本书系统地介绍了各种常用的数据结构,内容丰富,概念讲解清楚,叙述严谨流畅,逻辑性强。书中配有大量图表、丰富的例题和习题,对给出的每一种算法,均先描述了它的基本思路和要点,使得算法清晰易读,便于学生理解...

    数据结构与算法数据结构与算法数据结构与算法

    书中对各类数据结构的分析按照“逻辑结构-存储结构-基本运算的实现-时空性分析-实例”的顺序进行讲述,算法全部采用C语言描述,很容易转换成程序。在每章的后面都配有不同类型的习题:有加强概念理解的选择题、判断...

    C++数据结构与算法(程序设计)

    C++数据结构与算法,本书是关于计算机科学与工程领域的基础性研究科目之一——数据结构与算法的专著。 本书在简要回顾 了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及...

    数据结构与算法应用

    本书是关于计算机科学与工程领域的基础性研究科目之一——数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之...

    基于分解树的复杂产品装配实例表示方法 (2005年)

    基于实例的装配方案设计有利于提高装配方案的设计效率和准确性,而装配实例的表示和存储是基于实例的装配方案设计的基础。因此,提出基于分解树的装配实例表示方法。该方法包含2部分:①基于分解树表示装配结构;②...

    Delphi调用数据库内容绑定到TreeView树形菜单中显示.rar

    Delphi创建动态的树形菜单实例,通过调用数据库内容绑定到TreeView树形菜单中显示,从左侧的树状视图中可以看到,树形菜单包括许多子节点内容,这些节点内容都是从数据库读取获得,动态生成,相对于静态的树形菜单,...

    C++数据结构原理与经典问题求解

    全书采用“数据结构原理描述→面向对象实现→解决经典问题→STL介绍”的基本架构,既强调理论的完整性,又突出实例引导的驱动性,用经典问题和大量背景描述提高读者的阅读兴趣,从而使原本枯燥的理论变得妙趣横生。...

    数据结构(C++描述)

    本书是关于计算机科学与工程领域的基础性研究科目之一——数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    每个实例都是经过笔者精心筛选的,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。 本书两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;本书实例来源...

Global site tag (gtag.js) - Google Analytics