DB2中的树和表

时间:2011-03-17 20:25:01

标签: sql database tree db2

我希望你对这个图表有所帮助。我想找到一种方法来编写一个脚本来创建一个名为COMPS的表来表示这个组件/子组件 树结构,作为图的边列表。我可以将这些名称用于表COMPONENT,SUBCOMPONENT,SUBCOMPCOUNT的列。有什么想法吗?

b类型的组件出现在结构中的多个位置 组件a。但是无论其位置如何,组件b的结构都是相同的 组件d也出现在各种不同的位置,但是d类型的所有对象都是 同类物体 enter image description here

1 个答案:

答案 0 :(得分:0)

你应该像你说的那样创建一个表来存储结构

create table graph (
ID int not null,
COMPONENT char(2) not null,
ParentComponent int)

为ID列创建主键。并且parentComponent的外键引用带有ID列的同一个表。

然后,您可以创建一组UDF和存储过程来检索值,或者打印树结构。例如,

的UDF
  • 检索根节点
  • 树中的节点数量
  • 给定节点的儿子数量
  • 给定节点的父ID。

<存储过程

  • 返回一个表,其中包含按特定树遍历排序的行(广度优先,深度优先)

您甚至可以创建检查约束以提供创建图形的规则。例如,根节点为0,没有其他人可以拥有此ID,并且它是最低值。

您需要在图表中执行哪些操作?