¿ì¼± Æ®¸®ÀÇ ±¸Á¶ºÎÅÍ Á¤ÀÇ ÇÕ´Ï´Ù.
1) Æ®¸®±¸Á¶ÀÇ ÀÌÇØ
LEVEL 1 LEVEL 2 LEVEL 3
ÃÖ»óÀ§ ³ëµå -----
|- ³ëµå 1
|_ ³ëµå 2-----
| |
| |- ³ëµå 2-1
| |_ ³ëµå 2-2
|_ ³ëµå 3
@ Æ®¸®´Â À§ÀÇ ±×¸²¿¡¼¿Í °°ÀÌ "ÃÖ»óÀ§ ³ëµå"¿Í "ÇÏÀ§³ëµå"µé·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù.
@ »óÀ§³ëµå : »óÀ§³ëµå¶õ ³ëµåÀÇ ºÎ¸ð³ëµå¸¦ ¸»ÇÕ´Ï´Ù.
¿¹) ³ëµå 2-1ÀÇ »óÀ§³ëµå => ³ëµå2
³ëµå 2ÀÇ ÇÏÀ§³ëµå => {³ëµå2-1, ³ëµå2-2}
@ ÇÏÀ§³ëµå : ÇÏÀ§³ëµå¶õ ³ëµå¸¦ »óÀ§³ëµå·Î ÇÏ´Â ³ëµåµéÀÇ ÁýÇÕÀ» ¸»ÇÕ´Ï´Ù.
@ LEVEL 1 = { ÃÖ»óÀ§ ³ëµå }
LEVEL 2 = { ³ëµå 1, ³ëµå 2, ³ëµå 3}
LEVEL 3 = { ³ëµå 2-1, ³ëµå 2-2}
2) ³ëµåÀÇ Æ¯Â¡ : ³ëµå´Â ¹Ýµå½Ã ÇϳªÀÇ »óÀ§³ëµå¸¦ °¡Áö°í Àְųª nullÀÎ ³ëµå¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
Å×ÀÌºí ±¸¼º
---------------
TREETB
---------------
TREE_ID ; ³ëµå ID
TREE_LEVEL ; ³ëµå LEVEL
PARENT_ID ; ³ëµå »óÀ§ ID(NULLÀÎ °æ¿ì ÃÖ»óÀ§ ³ëµå)
TREE_NAME ; ³ëµå¸í
---------------
3) Query : ¾Æ·¡ Äõ¸®´Â ƯÁ¤ ³ëµå¸¦ ÃÖ»óÀ§³ëµå·Î Áö¸ñÇÑ ÈÄ Æ®¸®¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
SELECT
TREE_LEVEL, TREE_ID, PARENT_ID, TREE_NAME
FROM TREETB
WHERE start with TREE_ID = 25 // NODE ID °¡ 25ÀÎ NODE¸¦ ÃÖ»óÀ§ ³ëµå·Î ÁöÁ¤ÇÑ °æ¿ì
connect by prior TREE_ID = PARENT_NO
==> ³ëµåID 25¸¦ ±âÁØÀ¸·Î ÇÏÀ§ ¸ðµç ³ëµå¸¦ LEVELº°·Î Á¶È¸ÇÕ´Ï´Ù.
|
|