设计一个在线的web聊天室的好友问题


无论什么情况下,解决问题总不会只有一种思路,RT
考虑类似qq的加好友的情况,每个用户一张表,然后建立一张附表
存储用户和他的好友,这样每一项都存储了两次,而且存在数据冗余情况,但是把两张表合成一张表,即:用户字段中有好友这一项,存储好友的ID(用分隔符,加好友的时候取出来然后处理再存储)。
陷入两难的境地

聊天信息的存储我就是用分隔符存储起来的,聊天到一定的条数的话一并存进数据库中(每一条用分隔符处理)

好友关系逻辑的设计真心不知道怎么设计,希望各位大神能指导

数据库设计

xburner 11 years, 6 months ago

好友是多个用户对多个用户的多对多关系. 新建一个表来建吧.
像楼主那样是不行的吧.
一个用户表,主键为ID
然后一个好友表,字段为用户1,用户2.对应用户的ID
这样两个用户就是好友关系了.
插入时,检验是否为好友关系,即 (用户1=ID1 and 用户2=ID2)or(用户1=ID2 and 用户2=ID1)
这样就不会存储了两次了

堕落的恶魔 answered 11 years, 6 months ago

Your Answer