① 类似QQ空间的社交网站的用户动态的数据库应该怎么设计
动态的结构: { user_id:13, action: 行为, object_id: 对象ID, object_type: 对象类型, object_user_id: 对象用户ID, parent_object_id: 对象父级ID, parent_object_type: 对象父级类型, parent_object_user_id: 对象父级用户ID, reply_id: 回复ID, // action为回复时有用 parent_reply_id: 回复的父级回复ID, // action为回复时有用,回复了别人对评论的回复 text: '转发或者分享时附加文字', view_count: 0, created_at: 创建时间, deleted_at: 删除时间, } 说明: 1.object_*只存储主要模块内容信息,不含评论; 2.parent_object_*存储有嵌套关系的对象,比如当object_*为答案时,parent_object_*为问题; 3.reply_id用于直接回复评论时用到; 4.parent_reply_id父回复ID; 5. 两个回复ID,使用情况是:当回复了别人的回复时,根据comment_id拉取评论与全部回复,在模板显示时只显示对话的两个回复。 场景列表: 一级结构: 安正超发布了文章 'action' => NEW, 'user_id' => 安正超ID, 'object_id' => 文章ID, 'object_user_id' => 安正超ID, 'object_type' => ARTICLE, 安正超上传 了 N张 图片 'action' => NEW, 'user_id' => 安正超ID, 'object_id' => 图片ID(数组,以逗号隔开), 'object_user_id' => 安正超ID, 'object_type' => PICTURE, 安正超提了问题xxxx 'action' => NEW, 'user_id' => 安正超ID, 'object_id' => 问题ID, 'object_user_id' => 安正超ID, 'object_type' => QUESTION 二级结构: 安正超评论了文章xxxx(回答了通用) 展示: 文章: xxxxx 评论:xxxxx (李林评论的) 'action' => COMMENT, 'user_id' => 安正超ID, 'object_id' => 评论ID, 'object_type' => COMMENT, 'object_user_id' => 安正超ID 'parent_object_id' => 文章ID, 'parent_object_user_id' => 作者ID 'parent_object_type' => ARTICLE, 三级结构: 安正超在文章中回复了李林的评论 展示: 文章: xxxxx 评论:xxxxx (李林评论的) 回复:xxxx (安正超) 'action' => REPLY, 'user_id' => 安正超ID, 'object_id' => 评论ID, 'object_type' => COMMENT, 'object_user_id' => 李林ID 'parent_object_id' => 文章ID, 'parent_object_user_id' => 作者ID 'parent_object_type' => ARTICLE, 'reply_id' => 安正超的回复ID 四级结构: 安正超回复了李文凯在问题 “xxxx” 中 李林的答案下的评论 说明:问题信息从答案接口取回 展示: 问题: xxxxx 答案1... 答案2... 答案3...(李林回答的) 评论:xxxxx (李文凯评论的) 回复:xxxx (安正超) 'action' => RESPOND, 'user_id' => 安正超ID, 'object_id' => 评论ID, 'object_type' => COMMENT, 'object_user_id' => 李文凯的ID 'parent_object_id' => 答案ID, 'parent_object_type' => ANSWER, 'parent_object_user_id' => 李林ID 'reply_id' => 安正超的回复ID
② 好友列表数据库设计
3种解决方法,也谈谈这三种的弊端吧!
方法:
一.每创建一个用户.自动创建一个该用户的好友用户表.每一行的记录是一个好友记录.
二.做一个Frient的表,表中有两列,第一列UID是用户ID,第二列FID是对应该用户的好友
三,在用户信息的表中,有一个字段10000长度的varchar 里边用','号分割各个好友的ID
弊端:
一:只适合少量的用户论坛,如果有100万个注册用户,就得有100万张好友表,这样当用户一多,数据库会很大!
二:这种方法是给用户注册表创建一张好友关联表,这样或许是这三种方法中最好的方式了吧,但是注意记得要添加索引,不然查询起来,数据一多,会非常慢;
三、这样在程序方面会比较麻烦,先取出来,后添加数据,再update,感觉速度会上不来...........
③ 开发一款社交APP需要哪些功能
1、基础社交功能:评论、点赞、转发、打赏、互相关注,聊天,发图片、发文字等。
2、圈子社交功能:圈子以兴趣为引导,沉淀内容,汇聚用户。用户可以在自己关注的圈子里面发布兴趣内容和其他用户进行交流。
3、动态/朋友圈社交功能:满足用户碎片化时间,消息可快速传播的方式。
4、短视频社交功能:“短视频+社交”模式在实践中不断改革并完善,短视频为社交媒体贡献很多原创内容和更强的用户黏性;另一方面,社交平台为短视频的快速传播提供了渠道。
5、问答社交功能:帮助拉近人与人之间的距离,将持续产生高质量、可沉淀的信息,并让有价值的信息和人都关联起来。
6、活动社交功能:为消费者互动参与打造的活动,可汇集用户,增强用户黏性,拉新引流
7、资讯功能:用户能及时地获得资讯信息并利用它而能够在相对短的时间内给自己带来价值的信息。
可参考社交软件系统thinksns,是比较成熟的系统
④ 怎么开发一款社交APP
社交APP开发,主要分为定制开发和模板开发:
一、模板开发
APP模板开发的速度较快,开发价格从几千块到几万块不等,与定制开发相比,开发时间快,价格也较低。
当然有利就有弊,APP模板开发出来的APP安全性很差。由于模板源代码所有权归App开发商所有,企业只有使用权,再加上一套模板可能被很多家企业使用,所以很难保证代码安全性,极易被黑客攻击造成信息泄露。
另外,模板APP很难个性化修改。模板类App都是固定的功能和代码,很多APP甚至连前端的UI都不能修改。所以造成开发出来的APP用户体验极差。
二、定制开发
定制开发,就是开发公司按照客户要求定制App的功能和界面。定制开发通常都有一套完整的流程,从用户需求分析,到团队组建,再到UI设计程序搭建,APP程序完成后的反复测试,再到最后的上线APP应用商店。都是有完整流程保障的。
因为牵扯到人工成本和开发周期,和市面上的模板App相比,企业定制App的费用要稍高一些,从几万到几十万不等。由于需要反复测试修改各项功能,开发时间也要稍长一些。
如果您是想开发一款拥有完备功能和完美用户体验的APP,还是要选择靠谱的APP定制开发公司!
⑤ 想用IMSDK集成一个社交类的app,做的数据库怎么才能连上IMSDK的服务器
热心网友
环信的即时通讯云最适合你的,Android、iOS、Web三大平台都支持。实现极其简单,只需要3步。
第一步:在环信官网注册获得使用码。
第二步:在环信官网下载sdk集成,加几行代码到App中,调试并修改ui等配置。
第三步:将拥有im功能的App上线,就ok了! 加入IM就是这么简单。
⑥ 聊天系统的好友列表数据库如何设计
对于关系数据库,可以设一个这样的字段,这个字段里存放了李四的所有好友,每个好友以“,”分隔;
对于非关系数据库,比如说健值数据库,可以使用一个大型的HASH表来存放,李四的所有好友以一个链接的方式串起来
。
比如:
linker表示链接
hash(李四)=linker(王五、张三、黄光、李明)
⑦ 安卓app 用户注册数据库怎么设计
1、产品研发期——产品上线前 首先产品运营要搞清楚产品的定位以及目标用户。产品定位和目标用户决定了产品要解决什么问题、产品的风格,同时会影响后续产品运营的策略。毕竟,产品往往只是解决一个固定人群的需求,而不是一个普遍存在的需求。弄清楚产品定位和目标用户,运营应该参与到产品设计、开发的过程中,同时提供一些产品测试等支持。在这个阶段,产品和运营应当配合的足够默契,制定好符合产品的上线计划。 另外,产品运营要做好必要的准备工作:上架渠道整理和账号注册、微信公众号、微博、预热方案制作和执行、产品上线活动方案。还有就是,如果是安卓渠道,大渠道的首发合作必须是要考虑的,例如:网络手机助手、360手机助手、应用宝等,都有新品首发。你必须先了解各大渠道的首发规则,并沟通预约好排期。新品首发可以带来第一批自然增长的“种子用户”,效果还是不错的。 2、产品种子期——产品内测期 在这个阶段,产品运营主要目的在于收集用户行为数据和相关的问题反馈,和产品策划一起分析讨论进行产品优化。主要关注数据有:页面路径转化,按钮点击,启动次数,启动时间段,停留时长等。这个阶段数据量不求大,但求真实。而产品用户的主要来源就是产品团队邀请的身边的人以及渠道首发的自然新增用户。 这里必须要说明的是:种子期的运营工作不仅仅存在于这个阶段,而是存在于产品每一个版本迭代的过程。 3、产品成长期——产品爆发期 产品本身性能以及体验没有问题以后,接下来就是产品开始大规模推广的重要时机。推广期主要目的在于扩大影响,吸收用户。这个阶段首先要做的就是铺量,覆盖各大渠道
⑧ 数据库任务表结构设计 用于社交App 实现各种任务 比如:新手任务,成长任务 新手任务包括若干小
首先我不会,但是这点分不会有人帮你的这个很麻烦,我估计不会有人在这上面回复你有有的东西,你再等等看吧
⑨ 社交网络如何设计存储好友关系的数据库的
社交网络,他们都有,各自的数据库来对你的,各个数据信息,来进行独立的储存,所以好友关系也是他们数据库中的一条信息而已
⑩ 聊天软件的数据库设计
简单的设计如下:如需其他功能,需要扩展,
用户(主键,账号,密码,邮箱,..)
好友关系(所属者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),
..
)