how to desing table for grouping

ahead_lin 2008-09-02 07:13:03
要求,相同members组成的group id 要一样,不同members组成的group id 不能相同。
e.g.
已有分组:
Member Group ID
A 1
B 1
C 1
D 2
E 2
F 2

当改变分组方式,group id 相应要变
Member Group ID
A 3
B 3
C 3
D 3
E 3
F 3
如果把A,B,C再分为同一group,group id要变为原来的 id - 1. (单一member,其group id 总是 0 )
Member Group ID
A 1
B 1
C 1
D 4
E 4
F 0

很自然,应该需要另一table,记录members与Group id 的关系。
Member Key Group ID
ABC 1
DEF 2
ABCDEF 3
DE 4


目前的问题是,组成group的members数量不定,Member key可能很长,当member数量很多的时候,performace是个问题。

请教更好的table design,或者有其他idea?

曾经试过用hashmap的hashcode表示分组关系(相同members返回相同hashcode),但发觉不同members返回的hashcode有可能一样的。
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2008-09-04
  • 打赏
  • 举报
回复
你的数据量有多大?主要是判断工作表中的Member在对应表
Member Key Group ID
ABC 1
DEF 2
ABCDEF 3
DE 4

中的Group ID
wwwwb 2008-09-03
  • 打赏
  • 举报
回复
实际上是Membe与Group ID 对应关系,你的设计应该可以嘛 
ahead_lin 2008-09-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwb 的回复:]
实际上是Membe与Group ID 对应关系,你的设计应该可以嘛 
[/Quote]

主要是performance的问题。

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧