当前位置:  开发笔记 > 后端 > 正文

评论的实施,这有什么最佳做法吗?

如何解决《评论的实施,这有什么最佳做法吗?》经验,为你挑选了1个好方法。

我需要在自定义编码的社交网站上实现评论功能.评论需要在类似于facebook的视频,图片,专辑等各种页面上实现.

实施此操作的最佳做​​法是什么?

使用这样的字段创建一个全局注释表,并根据所需页面上的注释类型获取注释.

commentid int(10)
userid int(10)
comment_type ENUM('video','picture')
comment varchat(200)
parent int(10)

或为每个评论制作单独的表格?



1> cletus..:

我不这样做.我会在另一边使用子类型.

创建一个名为(例如)内容的父表;

视频,图片,专辑等是内容的子实体;

Comment具有Content ID的外键.

实现子类型有三种基本方案:

    为每个子类型创建一个单独的表;

    使用Conent ID的外键创建一个名为Content的表,其中包含从属表Video,Album等.内容表还有一个内容类型字段,用于指示哪个表与该记录相关; 要么

    将所有内容放入一个名为Content的表中,该表包含一堆可选(可为空)列以覆盖子类型.当存储特定于子类型的信息所需的列几乎没有差异时,这是最合适的.

如果您将"注释"与"视频"或"相册"表关联起来,则可以使用所谓的独占弧.这不是数据建模的推荐做法.

编辑:例如:

用户(id,用户名,给定姓名,姓氏,电子邮件地址)

内容(id,content_type,submitter_id,submitted_date);

图像(id,url,高度,宽度);

视频(id,url,格式,高度,宽度,长度);

专辑(id,name);

相册照片(id,album_id,photo_id);

评论(id,author_id,comment_date,comment,content_id);

一些说明:

submitter_id和author_id是User.id的外键;

Image.id,Video.id和Album.id都是Content.id的外键;

Content.content_type是"Image","Video"或"Album"之一;

相册包含存储在图像中的一张或多张照片;

联接表专辑照片将专辑链接到图像(多对多关系);

希望能搞清楚.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有