|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,% "
的可收到消息.,
------解决方案--------------------顶楼上
------解决方案--------------------顶楼上的楼上
------解决方案--------------------树状信息分类和展现的问题
建议楼主研究一下动态树结构的问题,类似的问题都好解决了!