【问题标题】:How to structure hierarchical data in oracle如何在oracle中构造分层数据
【发布时间】:2018-08-30 07:26:26
【问题描述】:

我需要使用关系数据库(特别是 oracle)来存储分层数据。 到目前为止,我使用的唯一实现是邻接列表。但是这次我有一些要求拒绝使用这种结构。

要求是,(1) 每个节点可以在不同的层次结构中使用,(2) 将节点连接到不同层次结构的边可能具有不同的权重。

此处给出了 2 个层次结构的示例:

所以我需要一个关于如何解决这个问题的建议,或者如果你有一个明显的解决方案,我需要指出。

【问题讨论】:

    标签: oracle data-structures graph tree hierarchy


    【解决方案1】:

    这样创建关联表:

    CREATE TABLE ASSOC (
       PARENT_ID      NUMBER,
       CHILD_ID       NUMBER,
       WEIGHT         NUMBER,
       HIERARCHY_ID   VARCHAR2(100));  -- necessary do distinguish, which hierarchy connection belongs to
    

    和数据

    PARENT_ID   CHILD_ID  WEIGHT  HIERARCHY_ID
    ----------+---------+-------+-------------
    1         | 2       | 50    | A 
    1         | 5       | 50    | A 
    2         | 3       | 70    | A 
    2         | 4       | 30    | A 
    10        | 2       | 65    | B
    10        | 5       | 35    | B
    ...
    

    【讨论】:

      猜你喜欢
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      相关资源
      最近更新 更多