在线直播平台数据库设计(包含流程图、用例图、顺序图、活动图、E-R图、表关系图)

发布于:2025-06-21 ⋅ 阅读:(13) ⋅ 点赞:(0)

目录

1数据库需求分析

1.1需求分析      

1.2功能需求分析    

1.2.1基本流程图

1.2.2数据需求

1.3数据字典

1.4数据结构名称

2数据库概念结构设计

3数据库逻辑结构设计

4数据库操作代码及实验结果

4.1 数据库创建代码

4.2 创建表代码

4.3 插入数据代码

4.4 表关系图

4.5 数据库的查询操作代码

4.6视图创建代码

5系统规范化设计

5.1 数据库表的规范化设计

5.2 数据库的完整性设计

5.2.1约束

5.2.2触发器

5.3 数据库的维护和安全性设计

6.实验结果分析

7.课程目标达成心得体会


1数据库需求分析

1.1需求分析      

在线直播平台需实现以下核心功能:

  1. 主播管理:主播注册、信息维护及直播状态管理。
  2. 直播场次管理:创建直播、关联分类、设置场次信息(时间、标题等)。
  3. 观众互动:弹幕发送、礼物赠送及互动记录查询。
  4. 分类管理:直播内容分类(如游戏、才艺、教育)及多分类关联。

用例图说明:

顶层用例图:包含主播、观众、系统管理员三大角色,核心用例包括 “创建直播”“观看直播”“发送弹幕”“赠送礼物”“管理分类”。

图1 顶层用例图

主播用例图:细化主播功能,包括 “编辑个人信息”、“开启直播”、“查看收益”、“管理直播场次“。

图2 主播用例图

观众用例图:包含 “搜索直播”、“发送弹幕”、“赠送礼物”、“关注主播”、”观看直播“ 。

图3 观众用例图

1.2功能需求分析    

1.2.1基本流程图

在线直播平台核心功能包括主播开播、观众互动及直播分类管理。主播可创建直播场次并关联分类(如游戏、才艺),观众进入场次后可发送弹幕、赠送礼物、关注主播,系统需实时记录互动数据并更新主播收益。

图4 基本流程图

直播场次创建流程顺序图:顺序图清晰展示了直播场次创建的时序过程。主播发起创建请求后,系统查询分类并返回,主播选择分类并填写信息,系统完成记录插入和关联,最终返回成功信息。图中消息传递的顺序明确,体现了各实体间的交互过程。

图5 直播场次创建流程顺序图

礼物赠送顺序图:该图展示了礼物赠送的完整流程。观众选择礼物并确认赠送后,系统验证直播状态,插入礼物记录,同时更新主播粉丝数、收益及场次礼物收入,最后反馈给观众。图中体现了多表联动和触发器的触发时机。

图6 礼物赠送顺序图

主播收益查询顺序图:顺序图呈现了主播收益查询的过程。主播请求查询后,系统验证身份并获取主播 ID,查询其所有直播场次及对应的礼物记录,计算总收益后反馈给主播。图中展示了多表关联查询的逻辑和数据聚合过程。

图7 礼物赠送顺序图

观众互动活动图:活动图展示了观众互动的并行流程。观众进入直播后,可同时进行发送弹幕和赠送礼物操作,系统分别记录数据并触发收益更新,最后展示互动数据。图中通过分叉和汇合节点体现了并行操作的特点。

图8 观众互动活动图

1.2.2数据需求
  1. 主播信息:ID、昵称、简介、粉丝数、注册时间、在线状态。
  2. 直播场次:ID、主播 ID、标题、开始时间、结束时间、观看人数、状态。
  3. 弹幕记录:ID、场次 ID、观众昵称、内容、发送时间。
  4. 礼物记录:ID、场次 ID、观众昵称、礼物类型、价值、赠送时间。
  5. 直播分类:ID、名称、描述。
  6. 分类-场次关联表:关联ID、关联场次ID、关联分类ID。

1.3数据字典

序号

数据项

说明

数据类型

1

anchor_id

主播在系统中的唯一标识,用于精准识别和关联主播相关信息。

INT

2

anchor_name

主播展示给观众的昵称,需具备唯一性,方便观众识别和记忆。

VARCHAR(50)

3

anchor_desc

主播对自身的介绍描述,帮助观众更好地了解主播特点、直播风格等。

TEXT

4

fans_count

统计关注该主播的粉丝数量,反映主播的受欢迎程度。

BIGINT

5

register_time

记录主播注册成为平台用户的具体时间,便于统计和分析。

DATETIME

6

status

表明主播当前的在线状态,0 代表离线,1 代表在线,用于实时展示主播状态。

TINYINT

7

live_id

直播场次在系统中的唯一标识,用于区分不同的直播活动。

INT

8

anchor_id

关联发起该直播场次的主播 ID,建立直播场次与主播的对应关系。

INT

9

live_title

直播的标题,简洁明了地概括直播内容,吸引观众。

VARCHAR(100)

10

start_time

直播开始的具体时间,精确到时分秒。

DATETIME

11

end_time

直播结束的时间,若直播正在进行中则为空,用于统计直播时长等。

DATETIME

12

view_count

统计观看该直播场次的观众数量,反映直播的热度。

BIGINT

13

status

直播场次的状态,0 表示未开始,1 表示进行中,2 表示已结束,方便系统管理和用户查看。

TINYINT

14

danmaku_id

弹幕在系统中的唯一标识,用于记录和区分不同的弹幕内容。

INT

15

live_id

关联弹幕所属的直播场次 ID,建立弹幕与直播场次的联系。

INT

16

viewer_name

发送弹幕的观众昵称,便于识别观众身份。

VARCHAR(50)

17

danmaku_text

观众发送的弹幕具体内容,表达观众对直播的看法、评论等。


网站公告

今日签到

点亮在社区的每一天
去签到