这样呢? :
建一个表 有两个字段 军人编号 对谁负责然后一个关系,就是一条记录.例如:军人编号 对谁负责
b d
b e
b r
b s查询时 只要查询军人编号为b的记录 把所有结果综合 就可以得到军人编号为b的人 对谁谁谁...负责了.
建一个表 有两个字段 军人编号 对谁负责然后一个关系,就是一条记录.例如:军人编号 对谁负责
b d
b e
b r
b s查询时 只要查询军人编号为b的记录 把所有结果综合 就可以得到军人编号为b的人 对谁谁谁...负责了.
(i)所直接和间接负责的人(集合)
负责的关系呢??
倒是这个问题,我想关系型数据库无能为力了? :(
但想想,
有的人(a)是直接对几个负责(b,c,d....)呀!
且有可能上级中(b)又可能又对几个人(x,y,z...)负责呀!会递死人的,也会递死机的呀!咋办呀?????????????????????????????????
a要对b负责,也就是说,a点和b点之间有一条有向边<a,b>.要求a间接直接的对谁负责,就转化为求从a点出发,可以到达哪些顶点.可以使用广度搜索的思想.做起来也不难.但时间效率我不敢说.没算过呢.呵呵....如果能请数据算法版的高手过来帮看一下,应该会比较好.毕竟我在数据算法版还是没什么地位的,哈哈....
如果覺得遞歸效率低,可以自己設計一個 棧結構,用循環替代 :
可以用如下算法 ;
1. a 入棧
repeat until stack is empty {
2. 設 x 為棧頂元素 .
3. x 出棧, x 的直接負責人入棧
}
不過,為了減少數據庫操作,可以把數據先取出來存于數組,或者用其他方式 .
有你对你问题的提问,请去看看
军人ID 所属 负责人ID 被负责人ID
1 X军 3|4|5 6|7|8不管是哪个军的,反正ID是唯一的
还好,还不错,只是慢。
知道NDS吧,呵呵,有点像它哟。
谢谢大家。
继续讨论!