类似微信朋友圈或者qq动态的设计,我这边需求是陌生人之间也可以观看动态,有点类似陌陌动态,根据思路主要分为三个表,动态信息表,评论表以及点赞表。如有不足,请各位大佬指点。
动态信息表
createtableDynamicCircle( DCID varchar(32) notnull, UID varchar(32), Content varchar(1024), FileType intcomment'1-无 2-图片 3-视频', Longitude decimal(10,7), Latitude decimal(10,7), Address varchar(256), LikeCount bigint, CreateTime datetimedefaultCURRENT_TIMESTAMP, IsDel intdefault0, primarykey (DCID) );
其中要注意 动态内容Content字符集utf8mb4,可以插入表情,FileType使用显示否是相关文件,可以另外创建一个文件表与之关联,LikeCount为点赞数量,主要是为了方便查询统计,不用每次都去查询点赞表, IsDel为删除标识,防止强制删除,做弱删除处理,至于文件相关表,设计比较简单,不在说明
评论表
createtableCircleComment( CCtID varchar(32) notnull, DCID varchar(32), UID varchar(32), ToUID varchar(32), Content varchar(256), LikeCount bigint, CreateTime datetime, IsDel intdefault0, primarykey (CCtID) );
其中要注意 评论内容Content字符集utf8mb4,UID和ToUID分别表示评论用户和被评论用户。
点赞表
createtableCircleLIke( CLID varchar(32) notnull, UID varchar(32), SourceID varchar(32), LikeType intcomment'1-评论 2-动态信息', State intcomment'0-已取消赞 1-有效赞', CreateTime datetimedefaultCURRENT_TIMESTAMP, primarykey (CLID) );
这里说明下 SourceID标识来源标识,LikeType为1时表示评论表主键,LikeType为2时表示动态信息主键。