(swjtu西南交大)数据库实验(数据库需求分析):音乐软件数据管理系统

news/2024/12/21 20:27:04/

实验内容:

数据库需求分析:各用户组需求描述,绘出数据流图(详细案例参见教材p333~p337,陶宏才,数据库原理及设计,第三版);

一、选题背景

        近年来,“听歌”逐渐成为大众高频刚性的需求,音乐软件数据急剧增加,用户和软件管理者需要在使用和管理音乐软件时对各种数据更高效便捷地管理。数据库系统充分保证了大量数据的存储和管理有非常强的重新组织数据的能力同时又能充分描述数据间的内在联系。因此设计并实现一个通用的音乐数据库系统,对音乐软件数据的统一存储、保护、管理和共享具有非常重要的现实意义。

二、需求描述

角色

要求

用户

管理歌单歌曲,查看和发布歌曲评论,对歌单进行增删查询操作,修改歌单信息,关注歌手,修改个人信息

歌手

发布歌曲

客服

审核、确认用户的修改信息,发送推送请求

 

三、系统数据流图

顶层数据流图

1层数据流图

 2层数据流图

四、系统数据字典

数据项:

数据项:歌曲编号
数据类型:字符型
数据长度:20位
​数据构成:发布年月+发布顺序号


​数据项:歌曲名称
数据类型:字符型
数据长度:20位

数据项:歌曲类型
数据类型:字符型
数据长度:10位

数据项:歌曲语言
数据类型:字符型
数据长度:8位

数据项:演唱歌手号
数据类型:字符型
数据长度:10位

数据项:发布时间
数据类型:日期型
数据长度:8位
数据构成:年+月+日
 


数据项:歌词
数据类型:字符型
数据长度:3000位

数据项:歌手编号
数据类型:字符型
数据长度:10位

数据项:歌手名称
数据类型:字符型
数据长度:10位

数据项:用户名
数据类型:字符型
数据长度:10位

数据项:用户账号
数据类型:字符型
数据长度:10位

数据项:密码
数据类型:字符型
数据长度:10位

数据项:性别
数据类型:字符型
数据长度:1位

数据项:生日
数据类型:日期型
数据长度:8位

数据构成:年+月+日

数据项:地区
数据类型:字符型
数据长度:20位

数据项:手机号码
数据类型:字符型
数据长度:11位

数据项:个性签名
数据类型:字符型
数据长度:50位

数据项:评论时间
数据类型:日期型
数据长度:20位

数据构成:年+月+日+时+分+秒

数据项:评论内容
数据类型:字符型
数据长度:20位

数据项:关注时间
数据类型:日期型
数据长度:20位

数据构成:年+月+日

数据项:歌单编号
数据类型:字符型
数据长度:10位

数据项:歌单标题
数据类型:字符型
数据长度:20位

数据项:歌曲数量
数据类型:整型
数据长度:100位

数据项:简介
数据类型:字符型
数据长度:1000位

数据项:歌单创建时间
数据类型:日期型
数据长度:8位

数据构成:年+月+日

数据项:歌单用户
数据类型:字符型
数据长度:10位

数据项:审核人
数据类型:字符型
数据长度:10位

加工处理:

加工处理:评论系统
编号:1
输入:(用户)评论信息+用户评论信息
输出:(该用户)评论信息
加工逻辑:满足用户评论歌曲操作

加工处理:歌单歌曲管理
编号:2
输入:(用户)管理歌单操作+管理的歌单
输出:(该用户)歌单信息
加工逻辑:根据需求对歌单进行管理操作

加工处理:查看歌单信息
编号:2.1
输入:(用户)查看命令+歌单信息
输出:(该用户)需要修改歌单的信息
加工逻辑:满足查询请求条件

加工处理:修改歌单
编号:2.2
输入:(用户)新增或修改命令+修改(歌单中歌曲)后的歌单信息
输出:新增或修改后的歌单信息
加工逻辑:满足修改歌单请求条件

加工处理:传送修改请求
编号:3
输入:(用户)修改信息请求
输出:用户修改请求
加工逻辑:将用户修改请求传送给客服

加工处理:歌曲发布
编号:4
输入:(歌手)发布歌曲信息(原始信息)
输出:歌曲信息(添加编号、歌手、发布时间后)
加工逻辑:满足歌曲发布条件

加工处理:关注歌手
编号:5
输入:(用户)关注请求
输出:(该用户)关注信息
加工逻辑:用户未曾关注该歌手

加工处理:修改用户信息
编号:6
输入:(客服)需要修改的信息
输出:修改后的信息
加工逻辑:根据用户的修改请求修改信息

加工处理:歌单歌曲管理系统
编号:7
输入:(用户)管理请求命令+歌曲信息+需要管理的歌单+管理的歌单
输出:管理后的歌单歌曲+管理的歌单
加工逻辑:根据用户对歌单的管理请求进行管理

加工处理:查看歌单歌曲
编号:7.1
输入:(用户)查看歌单歌曲命令+歌单歌曲信息
输出:(该用户)所查看歌单歌曲的信息
加工逻辑:满足查询请求条件

加工处理:修改歌单歌曲
编号:7.2
输入:(用户)修改命令+需要修改的歌单歌曲信息
输出:修改后的歌单歌曲
加工逻辑:满足修改歌单歌曲请求条件

加工处理:推送歌单
编号:8
输入:(客服)推送请求+需推送的歌单
输出:推送的歌单
加工逻辑:根据推送请求推送相关歌单

数据文件:

数据文件:评论表
文件组成:评论时间+评论内容

组成:按评论时间降序排列

数据文件:歌单表
文件组成:歌单编号+歌单标题+歌曲数量+简介+创建时间+歌单用户
组成:按歌单编号升序排列

数据文件:用户信息表
文件组成:用户名+账号+密码+性别+生日+地区+手机号码+个性签名
组成:按账号和地区升序排列

数据文件:歌曲表
文件组成:歌曲编号+歌曲名称+歌曲类型+歌曲语言+歌词+演唱歌手号+发布时间
组成:按编号升序排列

数据文件:关注表
文件组成:被关注的歌手编号+被关注的歌手名称+关注者账号+关注者用户名+关注时间
组织:按歌手编号和关注者账号升序排列

数据文件:歌单歌曲表
文件组成:歌单编号+歌曲编号

组成:按歌单和歌曲编号升序排列

数据流:

数据流名:发布歌曲的信息
来源:发布歌曲的歌手
流向:加工4
组成:歌曲名称+歌曲类型+歌曲语言+歌词

​数据流名:歌曲信息
来源:加工4
流向:歌曲表
组成:歌曲编号+歌曲名称+歌曲类型+歌曲语言+歌词+演唱歌手号+发布时间

 

数据流名:歌曲信息
来源:歌曲表
流向:加工7
组成:歌曲编号+歌曲名称+歌曲类型+歌曲语言+歌词+演唱歌手号+发布时间

数据流名:关注请求
来源:用户
流向:加工5
组成:要关注的歌手的编号+用户编号

数据流名:关注信息
来源:加工5
流向:关注表存储文件
组成:要关注的歌手的编号+歌手名+用户名+用户编号

数据流名:歌单信息
来源:文件2中的歌单表
流向:加工2.1
组成:歌单编号+歌单标题+歌单创建者编号+歌单歌曲数量+歌单简介+歌单创建时间

数据流名:查看歌单命令
来源:用户
流向:加工2.1
组成:需要查看的歌单编号

数据流名:需修改的歌单
来源:加工2.1
流向:加工2.2
组成:需修改的歌单编号
 

数据流名:修改的歌单
来源:加工2
流向:加工7
组成:修改的歌单编号


数据流名:新增歌单或修改命令
来源:用户
流向:加工2.2
组成:命令+修改歌单编号


数据流名:新增的歌单或修改后的歌单信息
来源:加工2.2
流向:歌单表文件
组成:修改后的歌单编号

数据流名:查看歌单歌曲命令
来源:用户
流向:加工7.1
组成:需要查看的歌单编号

数据流名:歌单歌曲信息
来源:文件6歌单歌曲表
流向:加工7.1
组成:歌单编号+歌单标题+歌单歌曲列表

数据流名:需修改的歌单歌曲
来源:加工7.1
流向:加工7.2
组成:歌单编号+歌单歌曲列表
 

数据流名:新增歌单中歌曲或修改歌单歌曲信息
来源:用户
流向:加工7.2
组成:需修改的歌单编号+需修改的歌单歌曲编号

数据流名:新增后的歌单歌曲或修改信息
来源:加工7.2
流向:文件6歌单歌曲表
组成:修改后的歌单歌曲编号

数据流名:(用户新增)评论信息
来源:用户
流向:加工1
组成:评论内容+评论者账号+评论时间+评论的歌曲编号


数据流名:(添加到文件中的)评论信息
来源:加工1
流向:评论表存储文件
组成:评论内容+评论者账号+评论时间

数据流名:修改信息请求
来源:用户
流向:加工3
组成:修改信息项+修改时间+修改前信息+修改后信息

数据流名:用户修改请求
来源:加工3
流向:客服
组成:修改信息项+修改时间+修改前信息+修改后信息

数据流名:需要修改的信息
来源:客服
流向:加工6
组成:修改信息项+审核人(哪一个客服)+修改时间+修改后信息

数据流名:修改后的信息
来源:加工6
流向:用户信息表
组成:修改信息项+修改后信息

数据流名:推送请求
来源:客服

流向:加工8
组成:要推送的歌单编号

数据流名:要推送的歌单
来源:歌单表
流向:加工8
组成:歌单编号+歌曲列表+歌单描述信息

数据流名:推送的歌单
来源:加工8
流向:用户
组成:歌单编号+歌曲列表+歌单描述信息


http://www.ppmy.cn/news/1231424.html

相关文章

海外IP代理科普——API代理是什么?怎么用?

随着互联网的不断发展,越来越多的企业开始使用API(应用程序接口)来实现数据的共享和交流。而在API使用中,海外代理IP也逐渐普及。那么,什么是API代理IP呢?它有什么作用?API接口有何用处&#xf…

90天,广告商单43张,小红书AI庭院风视频制作详解教程

今天给大家分享一个目前在小红书很火的AI绘画商单号案例。 首先给大家看看案例视频形态 这类视频内容非常简单,主要展示农家庭院的别致景色。通过AI绘画工具生成图片,再利用剪辑工具将画面增加动态元素,让整个视频逼真鲜活,加上…

一文彻底搞懂 JS 闭包

闭包 定义 闭包是指一个引用了另一个函数作用域中变量的函数,由于 JS 中作用域的特性,闭包常用于嵌套函数。 特性 保存性保护性 保存性 保存性是指闭包函数所访问的那些变量不会立即被清除,这是由于 IE6、7 所使用的内存回收机制导致的…

姓氏情侣家庭亲子谐音顽梗头像分销流量主微信抖音小程序开发

姓氏情侣家庭亲子谐音顽梗头像分销流量主微信抖音小程序开发 姓氏情侣头像:提供各种姓氏的情侣头像模板,用户可根据自己的姓氏选择合适的头像进行定制。 家庭头像:为家庭成员提供多种形式的头像模板,让用户可以选择合适的家庭头像…

【MATLAB源码-第84期】基于matlab的802.11a标准的OFDM系统误码仿真对比QPSK,16QAM。

操作环境: MATLAB 2022a 1、算法描述 基于802.11a标准的OFDM(正交频分复用)系统是一种高效的无线通信技术,特点如下: 频带与信道: 802.11a工作在5 GHz频段,这个频段相对于2.4 GHz&#xff08…

2024测试工程师必学系列之Jmeter(36):jmeter对图片验证码的处理

jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用; 通过jmeter对图片验证码…

大数据专业有哪些基础的理论和技术

大数据专业有哪些基础的理论和技术 大数据专业涉及的基础理论和技术很广泛,主要包括以下几个方面: 数据管理与处理理论:大数据处理涉及到海量数据的管理、存储和处理,因此数据库理论、数据结构与算法、数据压缩与索引等知识是非常…

StringBuffer解析

StringBuffer是可变的字符序列,当一个StringBuffer被创建以后,通过StringBuffer提供append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串,就可以调…