树型结构

现在有这样的关系图:
A
/ \
/ \
/ \
/ \
B & C & D 或 F
/ ¦ ¦
/ ¦ ¦
H或I J K

写成逻辑表达式为:
A=B&C&D ¦ F ¦ H&C&D ¦ I&C&D ¦ B&J&D ¦ B&C&K ¦ H&J&D ¦ I&J&D ¦ H&C&K ¦ I&C&K ¦ B&J&K ¦ H&J&K ¦ I&J&K
求解:如何从结构图中得到现在的表达式?
结构图的数据表内容是:
upid orid dnid
------------------
A 1 B
A 1 C
A 1 D
A 2 F
B 1 H
B 1 I
C 1 J
D 1 K

希望变成的数据表内容为:
orid id
----------
1 B
1 C
1 D
2 F
3 H
3 C
3 D
4 I
4 C
4 D
5 B
5 J
5 D
6 B
6 C
6 K
7 H
7 J
7 D
8 I
8 J
8 D
9 H
9 C
9 K
10 I
10 C
10 K
11 B
11 J
11 K
12 H
12 J
12 K
13 I
13 J
13 K
---------------------------------------------------------------
upid orid dnid
------------------
A 1 B
A 1 C
A 1 D
A 2 F
B 1 H
B 1 I
C 1 J
D 1 K
------------------

或则兄弟,与则子孙。就好做了:

upid orid dnid
A null B
A B H
A B I
A NULL F
B NULL C
B C J
C NULL D
C D K

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus