作者rongkuo (small kuo)
看板Database
标题Re: [系统] 如何储存一个行政单位的组织架构?
时间Sun Oct 13 15:33:43 2013
1. OK,使用 hierarchical 架构。
2. Oracle 11g 提供 recursive WITH clause 应用在 Hierarchical Query
假设TABLE SCHEMA 为 ORG(UNIT, SUB_UNIT),以下SQL供参考:
WITH A (SUB_UNIT)
AS (
SELECT SUB_UNIT
FROM ORG
WHERE SUB_UNIT = 'A1' -- Start Node
UNION ALL
SELECT B.SUB_UNIT
FROM ORG B, A
WHERE A.SUB_UNIT = B.UNIT
)
SELECT SUB_UNIT FROM A
ORDER BY SUB_UNIT;
※ 引述《BoHann (祝大家龙腾虎跃)》之铭言:
: 请问行政组织,在资料库的设计方法?
: 1.一个组织常常发现画出来的样子是树状图
: A---A1---A11---A111
: | | |
: | | |-A112
: | |
: | |-A12
: |
: |-A2---A21
: |
: |-A22
: |
: |-A23
: 我的问题有两个:
: 1.资料库要怎麽去记录这种巢状的资料?如下表好吗?
: -----------------
: | 单位 | 子单位 |
: -----------------
: | A | A1 |
: | A | A2 |
: | A1 | A11 |
: | A1 | A12 |
: | A2 | A21 |
: | A2 | A22 |
: | A2 | A23 |
: | A11 | A111 |
: | A11 | A112 |
: -----------------
: 2.假如程式其中一个中能叫「针对A1的人发出讯息」,程式要怎麽写,才能
: A1、A11、A12、A111、A112都找出其下的人,然後发出讯息?
: 难道是类似写「列出目录下所有档案」的方式,递回去寻找,还是资料表
: 可以有好的设计方法?
: 请教各位专家,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.255.3.125
1F:推 LaPass:请问.... mysql呢? 10/15 00:55
3F:→ rongkuo:抱歉,我工作上使用ORACLE,所以只对ORACLE熟。 10/15 20:42