日期:2014-05-20  浏览次数:20399 次

|M| 一个分布信息的数据表的设计问题,让我很是头疼,大家帮帮看要怎么来设计,谢谢
环境:
现在系统要求是让下面代理可以发布信息,然后他发布的信息就只有他的分代理可以看现表如下
Agent     表
id     name
1       广州代理点
2    深圳代理点

AgentUser 表
ID     分代理名称
1       白云代理点                
2    天河代理点

本来数据信息分布的数据库是这样的
message
id       Agent       User     title
1                 1             1     标题
2                 1             2     标题
3                 1             1     标题
这样子也就是根据登录的user所在的代理点显示他的信息
这样可以
但是当比如AgentUser中的 "天河代理点 "发展他下面的子代理点的时候
上面的数据库好像就不行了
因为 "天河代理点 "是子代理点他接收的是他上一级的代理信息
”天河代理点“发布的布的信息又要他下面的接收

这样的一层一层向下发布的信息表要怎么设计

------解决方案--------------------
Agent
ParentID ID Name
1 0 广州代理点
2  0 深圳代理点
3 1 白云代理点
4 1  天河代理点
------解决方案--------------------
[M]帖子估计都与楼主有关

不好意思
全不会,捡分!
祈祷斑竹不删你的 哈
------解决方案--------------------
up
------解决方案--------------------
Agent 表 id name parentId ,path 1 广州代理点 0 0,1 2  深圳代理点 0 0,2 3  福田区 2 0,2,3 4 天河区 1 0,1,4 5 会展中心 3 0,2,3,5 这是代理表.记录各代理的关系. AgentUser ID UserName ,AgentID 1 天河用户1 4 2  会展中心用户 5 3 深圳用户 2 关于权限: 如果 深圳用户 发消息,通过AgentID找到它的agent的path = "0,2 " 然后它所有下级代码为 path like '0,2,% " 然后所有用户agentid 为 path like '0,2,% " 的可收到消息.,
------解决方案--------------------
顶楼上
------解决方案--------------------
顶楼上的楼上
------解决方案--------------------
树状信息分类和展现的问题

建议楼主研究一下动态树结构的问题,类似的问题都好解决了!