当前位置:首页 » 数据仓库 » 数据库好友表设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库好友表设计

发布时间: 2023-05-29 22:59:06

A. 好友关系数据库怎么设计的

好友关系是双向的:user1 > user2与 user2 > user1是重复的。目前业务很简单就是好友关系。预想4个字段解决:id(自增)to_user(添加用户)
form_user(被添加用户)relation(用户关系)0:好友 1:拉黑但是还是想来问问看,想多了解一下相关的思路。

B. 【 数据库设计】好友关系表该如何去设计

单独设计一张表
两肢庆迅个字段 我的id (差粗local_user_id) 好友的id(remote_user_id) 编号(rela_id)可有可无历此

C. 好友列表数据库设计

3种解决方法,也谈谈这三种的弊端吧!
方法:
一.每创建一个用户.自动创建一个该用户的好友用户表.每一行的记录是一个好友记录.
二.做一个Frient的表,表中有两列,第一列UID是用户ID,第二列FID是对应该用户的好友
三,在用户信息的表中,有一个字段10000长度的varchar 里边用','号分割各个好友的ID

弊端:
一:只适合少量的用户论坛,如果有100万个注册用户,就得有100万张好友表,这样当用户一多,数据库会很大!
二:这种方法是给用户注册表创建一张好友关联表,这样或许是这三种方法中最好的方式了吧,但是注意记得要添加索引,不然查询起来,数据一多,会非常慢;
三、这样在程序方面会比较麻烦,先取出来,后添加数据,再update,感觉速度会上不来...........

D. 类似qq加好友的功能数据库应该怎么设计比较合理

建议建2个表
个人表user
(id,qq)id
为序列,qq为存渣咐梁放你自己的qq号码,这样你有几个qq号简汪就有几列
好友表friend
(id,friend_qq,userid)id同样为序列,为以后业务扩充做准备,friend_qq
为好友的qq号如运,userid为个人表
user
的id,
这样2表通过userid连接,

select
*
from
friend
b,user
a
where
a.id=b.userid
and
a.qq=?????
就可以查出你的某个qq号对应的所有好友

E. mysql 好友关系如何设计合理

在多的一方增加 一 的一段扰简方的id,例李老如 A 有 n 个好友,则在好友表(friends)中,握裤增加一个字段用于存放A的id,则可以通过下列语句查询到A的所有好友:

select * from friends where Aid = ?

F. 关于 QQ 好友数据库设计

针对sql server数据库来说(sql server比mysql好一些,比oracle差),如果有一个万个用户就一万张表。数据库对表数量的支持也是有限制的。
并且创建表需要有相应的级别比较高的权限,如果每注册一个用户就新建一张表,用户的权限太高了。
再次,按照你的说法,一个人假设有1000个好友,每个表也就1000条数据,相对于数据库来说,这个存储量是相当小的,没有发挥到很好的性能。sql server数据库几百万万条数据是没问题的。
最后,这样查询可能会带来方面之处,但是如果用到了存储过程,复杂的联合查询等(这些都是在数据库中常用的),你这样做就很难完成了。

所以,为何不把这些数据集中到一张表里面呢?

G. 数据库设计用户表

1、首先设计一张用户表,有用户信息,方便注册(用户ID,用户姓名,用户性别。。)等一些基本信息;

2、设计一张题目表,字段有题目ID、题目内容

3、设计一张答案表,如果是选择题,设计的字段为答案ID、题目ID、答案选项、选项滑耐内容;如果是简答题,设计的字段为答案ID、题目ID、答案内容

4、设计一张用户答题表,设计的字段为ID(自增长列或者随机函数)启斗、用户ID、题目ID、用户答题内容或者选择选项、用户答题时间、用户答题状态(状态表示是否答对,如果是0则是没答对,1则是答对)

5、在用户答题表中,用户答题状态可默认为null,当用户答完题目后点击提交时,就由系统自动批阅,同时查询题目表、答案表、用户答题表查询是否正确答案和用户答案是否一致,如果一直的话就将用信旁春户答题表中的用户答题状态更新为1,否则更新为0。

6、记录答题顺序的话,就可根据用户答题表中的用户答题时间来记录排序。

H. 怎样在mysql中设计好友关系库表

1.建立用户信息表

create table userinfo(id int(4) not null primary key, name varchar(20) not null unique key)engine=innodb default charset=utf8;

2.建立好友关系表

create table friend(uid int(4) not null, foreign key(uid) references
userinfo(id),fid int(4) not null, foreign key(fid) references
userinfo(id),unique key(uid,fid))engine=innodb default charset=utf8;

3.追加测试数据(满足uid<fid条件)

insert userinfo values(1111---9999,'namea---namei’);

insert friend values(1111,4444---6666);

insert friend values(5555,6666---9999);

4.查询好友(5555的好友)

select * from friend where uid=5555 or fid=5555;

+-------+------+
| uid | fid |
+-------+------+
| 1111 | 5555 |
| 5555 | 6666 |
| 5555 | 7777 |
| 5555 | 8888 |
| 5555 | 9999 |
+-------+--------+

5.问题:

5.1.userinfo中的id和name不为null,且不可重复:table设计可以做到

5.2.friend中的uid和fid均不为null,且都来自于userinfo的id:table设计可以实现

5.3.(uid,fid)组合不可重复:table设计可以完成世启启

5.4.好友关系的表达时,(1111,5555)和(5555,1111)有冗余,也会出现(1111,1111)这样的数据:这个在table设计实现比较搜如麻烦,需要在程序层面实现,也即增加限制条件uid<fid即可

6.结果:

table设计达不到要求,或者较难达到要求时,可以旁烂在程序层面予以弥补。

I. 数据库表设计 QQ好友间的多对多关系

1.用户表
列:id, 姓名, 等
2.分组表
列:id, 组名, 用户id
3.好友表
列:id, 好友id, 分组id
示例:
1.用户1 创建新早卜分组"我的好友"
INSERT INTO 分组表 (组名, 用户id) VALUES('我的好友陆州穗', 1);
2.用户1 将 用户2 添加到"我的好友"
INSERT INTO 好友表 (好友id, 分组id) VALUES(2, (SELECT id FROM 分组表 WHERE 组名='我的好友迹雀' AND 用户id=1))
3.查询 用户1 "我的好友" 分组下的全部好友
SELECT id, 姓名 FROM 用户表
WHERE id IN(
SELECT id FROM 好友表 JOIN 分组表 ON 好友表.分组id=分组表.id
WHERE 分组表.组名='我的好友' AND 分组表.用户id=1
)

J. 聊天系统的好友列表数据库如何设计

对于关系数据库,可以设一个这样的字段,这个字段里存放了李四的所有好友,每个好友以“,”分隔;
对于非关系数据库,比如说健值消岩数据库,可以使用一个大型的HASH表来拿衡御存放,拦洞李四的所有好友以一个链接的方式串起来 。
比如:
linker表示链接
hash(李四)=linker(王五、张三、黄光、李明)