我计划在一个网站上为用户提供多个主题的培训视频,用户可以观看视频、查看他们的观看历史、评论视频、参加相关考试并在考试成功时获得徽章/证书。当他们在视频中遇到问题时,他们也可以提交实时问题。还会有一个论坛,用户可以互相帮助,添加朋友,发送消息等。带着这个想法,我现在正在设计数据库,但我之前没有数据库设计经验,所以请查看以下内容设计并给我一些关于性能和最佳实践的建议。谢谢大家。
有
用户资料
用户名 VARCHAR
ID INT
键入枚举
电子邮件 VARCHAR
Date_created TIMESTAMP
Date_modified TIMESTAMP
通过 VARBINARY
名称 VARCHAR
证书 VARBINARY
Ranking_points INT
性别枚举
出生日期
Avatar_url VARCHAR
视频
标题 VARCHAR
ID INT
类别枚举
说明 TINYTEXT
Date_created TIMESTAMP
Tmp_name CHAR
文件名 VARCHAR
尺寸 MEDIUMINT
Subtitle_url VARCHAR
Liked_count INT
Shared_count INT
标签枚举
类别
类别 VARCHAR
ID INT
说明 TINYTEXT
最近浏览过的
用户 ID INT
Video_id INT
Viewed_date TIMESTAMP
好友列表
用户 ID INT
Friend_id INT
USER_QUESTIONS
用户 ID INT
Question_id INT
Question_title VARCHAR
Question_content LONGTEXT
Date_asked TIMESTAMP
VIDEO_COMMENTS 标题 VARCHAR
Video_id INT
评论内容长文本
User_id TINYTEXT
Date_created TIMESTAMP
USER_MESSAGES
用户 ID INT
Message_id INT
Message_content LONGTEXT
Sender_id INT
Date_created TIMESTAMP
在线考试/评估
id VARCHAR
输入枚举
考试网址 VARCHAR
描述 TINYTEXT
Date_created TIMESTAMP
EXAMS_TAKEN_BY_USER
考试ID INT
用户 ID INT
Exam_result SMALLINT
Date_taken TIMESTAMP
我还有两个问题: 1. 我想允许对用户评论进行评论,我将如何设计数据库结构?2. 一个视频可以属于多个类别,是需要新建一个视频类别表还是在VIDEO表的类别字段中放一系列类别?