asp.net.asp.net

 

我的一个WebQQ数据库设计,请大家指点一下.

下面是我数据库设计:

表:Users (用户信息)
PKID (用户ID)
UserName (用户名字)
PassWord (用户密码)
NickName (用户昵称)
Gender (用户性别)
Status (在线状态)
FriendsList(好友列表用分号分隔)
GroupsList(群列表用分号分隔)


例如:用户id为1的用户有好友信息编号为1,2,3,4群信息1,那么这条数据应该是
1,qq,123,qq,男,1,1;2;3;4,1
 
表:Friends (好友信息)
PKID
UserId (用户编号)
Name(名称)
Users (用户好友列表用;分隔)
status (关系状态,比如0代表好友,1代表陌生人,2代表黑名单,3代表自定义)

例如:用户id为1的用户有好友:2和3,陌生人:4和5,黑名单:6和7,(asp.net好友)自定义:8和9,那么这条数据应该是:
1 ,1 ,好友        ,2;3,0
2 ,1 ,陌生人      ,4;5,1
3 ,1 ,黑名单      ,6;7,2
4 ,1 ,asp.net好友 ,8;9,3


表:Groups(群信息)
PKID
Name(群名)
Users(成功员列表)
UserId(用户编号)
CreateTime(群创建时间)

例如:用户id为1的用户有asp.net群,群成员有1,2,3,4 那么这条数据应该是:
1,asp.net,1;2;3;4,1,2009-4-12


表:ChatMessage (聊天记录)
PKID (主键)
UserId (用户编号)
ToUserId(要发信息用户)
message (发送的信息内容)
SendTime(发送的时间)

例如:用户id为1的用户向用户2在2009-4-12发一条信息内容为:test那么这条数据应该是:
1,1,2,test,2009-4-12


看了我上面数据库设计后,我向大家提出下面这些问题:
1.我发现表好友信息和群信息这两个表字段上有些重复,是否有必要其合为一个公共的表。
2.群聊天记录如何设计数据表才合理,因为各用户看了后就不显示该群聊天记录。

posted on 2009-04-12 17:24  asp.net.asp.net  阅读(1214)  评论(0)    收藏  举报

导航