要看需求了,需求文档呢? 不同的需求设计方式不同的,比如, 有些聊天,不需要保存聊天记录,有些则是需要的,在设计上就不同。 还有,在这个系统中,权限设计也是很复杂的,当然, 那也要看你的功能模块有多少。
记得采纳啊
简单的设计如下:如需其他功能,需要扩展,
用户(主键,账号,密码,邮箱,..)
好友关系(所属者ID,好友ID)
聊天记录(主键,所属者ID,好友ID,时间,内容,..)
create table users
(uid number not null primary key,
uname varchar2(50) not null,
pwd varchar2(20) not null,
email varchar2(50) not null,
...)
create table friends
(owerid number not null,
friendid number not null,
constraint fk_owerid poreign key(owerid) references users(uid),
constraint fk_friendid poreign key(friendid) references users(uid),
constraint pk_friendid_owerid primary key(owerid,friendid)
)
create table records
(rid number not null primary key,
owerid number not null,
friendid number not null,
rdate date default sysdate,
rcontents varchar2(4000),
constraint fk_owerid_r poreign key(owerid) references users(uid),
constraint fk_friendid_r poreign key(friendid) references users(uid),
..
)
首先,请大家伙儿打开自己的微信软件,然后点击进入“设置”界面。 然后在接下来的过程中,点击进入“通用”设置,然后我们将会看到一个
对于关系数据库,可以设一个这样的字段,这个字段里存放了李四的所有好友,每个好友以“,”分隔;
对于非关系数据库,比如说健值数据库,可以使用一个大型的HASH表来存放,李四的所有好友以一个链接的方式串起来
。
比如:
linker表示链接
hash(李四)=linker(王五、张三、黄光、李明)
用户表(qq号码,姓名,性别,年龄................)
状态表(qq号码,是否在线,ip地址,端口)
好友表(id,好友qq号码,所在分组id,所属的qq号码)
分组(id,名称,所属qq号码)
留言表(id,内容,时间,所属qq号码)
每个表的第一个字段是主键
这是我3年前作qq的数据库设计,你再合理设计一下,做好了发给我玩下,我的q是51076008