完整数据库音乐库系统分析.docx
《完整数据库音乐库系统分析.docx》由会员分享,可在线阅读,更多相关《完整数据库音乐库系统分析.docx(33页珍藏版)》请在冰豆网上搜索。
![完整数据库音乐库系统分析.docx](https://file1.bdocx.com/fileroot1/2023-1/24/850d6240-69da-4962-a127-3fb2941e441e/850d6240-69da-4962-a127-3fb2941e441e1.gif)
完整数据库音乐库系统分析
(完整)数据库音乐库系统分析
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)数据库音乐库系统分析)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)数据库音乐库系统分析的全部内容。
音乐库需求分析报告
1.系统背景
随着社会经济的发展,人们生活水平的提高,大家对精神方面的追求有所加强。
其中对音乐的收听占了很大比例。
不管是在上班、上网、休息、聚会、甚至是走路,我们都在听音乐,音乐已经成人们生活的一部分。
然而现在还没有一个很完善的音乐库系统,所以需要有一个全面的音乐库搜索系统,以满足大家的需求。
此音乐库系统的创建符合广大用户的需求。
2.系统功能
首先由用户注册或直接登录进入此系统。
此系统收藏了时下网上最流行的音乐以及各种经典老歌,并由系统管理员对其进行分类管理、更新上传,方便用户简单查找和收听,用户也能上传自己的歌曲、添加更多的音乐、发表个人看法、提出意见和
建议,使系统更符合用户的要求,最终做到满足用户.
3。
用户类和特征
1。
普通用户:
作为普通用户首先要进行注册或登录才能进入系统.其可以收听系统库音乐、网上查找歌曲、普通下载、添加自己喜欢的音乐、对音乐进行论、添加好友、歌曲分享、评论他人歌曲、对系统提意见。
2。
VIP用户:
除拥有普通用户的权限外,还有收听高质量的歌曲、观看视频和MV、为好友点歌、上传自己唱的歌、分享自己演唱的歌曲、和好友一起听音乐、高速批量下载等附加功能。
3.系统管理员:
保证音乐库正常运行、防止音乐库音乐被篡改、实时更新和上传歌曲、对音乐进行分类(比如情感、年龄段、各时代歌曲、各个国家、每日排行。
.。
。
..)、保存用户上传的歌曲或视频、规范的评论、收集并整理用户的意见和建议、修改用户的基本资料等功能。
4。
用户业务流程图
1。
普通用户:
2.VIP用户
3。
系统管理员
4。
用户视图
1.普通用户
用户登录:
需要输入用户名、密码、验证码
收听歌曲:
歌曲根据类型可分为不同年龄层次、不同时代背景、不同感情倾向、不同语言方式,一首歌曲可能包含其中多种类型。
查找歌曲:
查找歌曲时可以根据歌曲名、歌曲编号、歌曲类型进行简单的搜索。
添加歌曲:
可直接点击歌曲名将音乐添加到本地列表.
对音乐库的评论:
这包括对音乐收听方面和系统使用方面的意见和建议,每个人可以提多个意见。
添加好友:
可直接输入好友的号码进行查找,也可输入其网名进行广泛搜索.
歌曲分享:
专门有个界面进行歌曲的分享,只需要输入歌曲名即可进行分享.
评论他人歌曲:
在歌曲名后面专门有个按钮进行评论,点开之后即可输入您的评论内容。
2。
VIP用户
高质量音乐:
有一部分歌曲可以高质量收听,用户可直接点击按钮进行收听。
观看视频和MV:
听歌时观看MV也是件很享受的事情。
点歌:
输入歌曲名和好友的名字,即可为好友点歌。
上传歌曲:
专为VIP用户打造的功能,单击上传按钮即可浏览文件,在选择上传的歌曲即可。
高速下载:
用户可以根据自己喜好选择一种下载方式进行高速批量下载.
3.系统管理员
更新上传:
管理员可根据网上的新歌和用户的听歌记录适时的添加音乐和更新系统库。
分类管理:
歌曲的不断更新使得系统不断变大,如不进行分类管理系统可能会出问题.也为了用户方便使用,对每一首歌的类型进行详细的划分。
用户信息查看及管理:
不同的用户有不同的信息,允许用户修改自己的信息,防止篡改他人信息。
普通用户和VIP用户的资料也应该分开管理,以免混淆.
收集整理意见和建议:
这主要分为两种,音乐收听方面和音乐库系统方面,各意见要进行分条整理,方便查看和统计。
5。
实体分析ER图
6.数据流程图
7.数据库的创建
USEmaster
GO
CREATEDATABASEyinyuek
ONPRIMARY
(
NAME=yinyueku_DAate,
FILENAME=’C:
\Users\Dell\Desktop\yinyueku_Date.MDF’,
SIZE=10,
MAXSIZE=UNLIMITED,
FILEGROWTH=5
)
LOGON
(
NAME=yinyueku_Log,
FILENAME=’C:
\Users\Dell\Desktop\yinyueku_Log。
LDF',
SIZE=10,
MAXSIZE=2000,
FILEGROWTH=10%
)
GO
8。
表的创建
1.歌曲信息:
musicinformation
属性名
中文名
类型
长度
是否允许为空
Musicnumber
歌曲号
int
5
Notnull
Musicname
歌曲名
char
20
null
Songer
information
歌手信息
char
20
null
Popmusic
每日最热歌曲
char
20
null
Uploadmusic
用户上传歌曲
char
20
null
2。
歌曲类型:
musictype
属性名
中文名
类型
长度
是否允许为空
MusicName
歌曲名
char
10
Notnull
Differentages
不同年龄层次
char
20
null
Differentbackground
不同时代背景
char
20
null
Differentemotional
不同情感倾向
char
20
null
Differentlanguage
不同语言
char
20
null
3.意见和建议:
opinions
属性名
中文名
类型
长度
是否允许为空
numbers
意见序号
int
5
Notnull
systems
系统方面
char
100
null
Musiclistening
音乐收听
char
100
null
4。
用户资料:
userinformation
属性名
中文名
类型
长度
是否允许为空
Username
用户名
char
10
Notnull
Sex
性别
char
10
null
Age
年龄
int
2
null
Usertype
用户类型
char
10
null
Upmusic
上传音乐
char
20
null
PersonInformation
其他个人信息
char
100
null
5。
登录信息:
enterinformation
属性名
中文名
类型
长度
是否允许为空
username
用户名
char
10
Notnull
password
密码
int
6
null
verificationcode
验证码
char
5
null
6.歌曲下载方式:
downloadways
属性名
中文名
类型
长度
是否允许为空
TheWay
方式
int
2
Notnull
Thunder
迅雷
char
10
null
QQ
QQ旋风
char
10
null
Internet
普通网页
char
10
null
DuomiMusic
多米音乐
char
10
Null
GoogleMusic
谷歌音乐
char
10
null
9。
表格代码
CREATETABLEMusicInformation(
MusicNumberintNOTNULL,
MusicNamechar(20)NULL,
SongerInformationchar(40),
PopMusicchar(20)NULL,
UploadMusicchar(20)NULL,
PRIMARYKEY(MusicNumber)
)
CREATETABLEMusicType(
MusicNamechar(20)NOTNULL,
DifferentAgeschar(20)NULL,
DifferentBackgroundchar(20)NULL,
DifferentEmotionalchar(20)NULL,
DifferentLanguagechar(20)NULL,
PRIMARYKEY(MusicName)
)
CREATETABLEOpinions(
NumbersintNOTNULL,
Systemschar(100)NULL,
MusicListeningchar(100)NULL,
PRIMARYKEY(Numbers)
)
CREATETABLEUserInformation(
UserNamechar(10)NOTNULL,
Sexchar(10)NULL,
AgeintNULL,
UserTypechar(10)NULL,
UpMusicchar(10)NULL,
PersonInformationchar(100)NULL,
PRIMARYKEY(UserName)
)
CREATETABLEEnterEnformation(
UserNamechar(10)NOTNULL,
PasswordsintNULL,
VerificatioNodechar(4)NULL,
PRIMARYKEY(UserName,)
)
CREATETABLEDownloadWays(
TheWayintNOTNULL,
Thunderchar(10)NULL,
QQchar(10)NULL,
Internetchar(10)NULL,
DuomiMusicchar(10)NULL,
GoogleMusicchar(10)NULL,
PRIMARYKEY(TheWay)
)
10.表约束的创建
CREATETABLEMusicInformation
(
MusicNumberintNOTNULL,
CONSTRAINTpkMusicInformationPRIMARYKEY(MusicNumber)
)
CREATETABLEMusicType
(
MusicNamechar(20)NOTNULL,
CONSTRAINTpkMusicInformationPRIMARYKEY(MusicName)
)
CREATETABLEOpinions
(
NumbersintNOTNULL,
CONSTRAINTpkNumbersPRIMARYKEY(Numbers)
)
CREATETABLEUserInformation
(
UserNamechar(10)NOTNULL,
CONSTRAINTpkMusicInformationPRIMARYKEY(UserName)
)
CREATETABLEEnterEnformation(
UserNamechar(10)NOTNULL,
CONSTRAINTpkMusicInformationPRIMARYKEY(UserName)
)
CREATETABLEDownloadWays
(
TheWayintNOTNULL,
CONSTRAINTpkTheWayPRIMARYKEY(TheWay)
)
11.索引创建
CREATEUNIQUECLUSTEREDINDEXidx_Opinions
ONOpinions(Numbers)
CREATEUNIQUECLUSTEREDINDEXidx_DownloadWays
ONDownloadWays(TheWay)
CREATEINDEXidx_EnterEnformation
ONEnterEnformation(UserName)
CREATEINDEXidx_UserInformation
ONUserInformation(UserName)
CREATEINDEXidx_MusicType
ONMusicType(MusicName)
12。
数据插入脚本
1.歌曲信息
INSERTMusicInformation(MusicNumber,MusicName,SongerInformation,PopMusic,UploadMusic)
VALUES('00001’,'皮影戏',’周杰伦',’爱的供养','倾听我’),
(’00002’,’星空’,'五月天','老男孩',’倾世’),
(’00003’,'倾听我’,’林心如','依然爱你','三寸天堂’),
(’00004’,'倾世’,’霍建华',’落花',’走天涯'),
('00005’,'未来’,'魏晨’,'荷塘月色’,'你是我的眼’),
(’00006',’情殇','信乐团’,'没那么简单','翅膀’),
(’00007',’小永远’,’何洁',’就去爱吧',’似曾相识'),
('00008','明天’,'陈志朋’,'我们爱过就好',’回家路上’),
('00009','长镜头’,'那英’,'花一开满就相爱',’一样爱着你’),
(’00010',’伤不起’,'王麟’,'羽绒服','花一开满就相爱')
2.歌曲类型
INSERTMusicType(MusicName,DifferentAges,DifferentBackground,DifferentEmotional,DifferentLanguage)
VAlUES(’皮影戏','所有年龄’,’21世纪’,’开心’,'中文’),
('星空','所有年龄’,’90后’,'忧伤’,'中文’),
('倾听我','所有年龄’,'90后’,'忧伤',’中文'),
(’倾世','青年',’21世纪’,’emotional04’,’中文’),
('未来','青年',’21世纪’,'憧憬’,'中文’),
('情殇',’青年',’90后',’悲凉','中文'),
('小永远’,’所有年龄',’21世纪’,'活泼’,’中文’),
(’明天’,'青年’,'90后','期待',’中文’),
(’长镜头’,’少年’,'21世纪’,’轻快’,'中文'),
(’伤不起’,'青年’,’90后','激情','中文’)
3。
意见
INSERTOpinions(Numbers,Systems,MusicListening)
VALUES(00001,'东西有些杂乱','音质不好’),
(00002,’更新有些慢’,’链接地址有问题'),
(00003,'没有多选项’,’供选择的不多'),
(00004,'没有多选项’,’有些没有MV’),
(00005,’下载方面有问题’,’音质不好’),
(00006,'操作不舒服’,'感觉不好’),
(00007,’对评论没有规范处理’,’供选择的不多’),
(00008,'东西有些杂乱','链接地址有问题'),
(00009,’更新有些慢’,'有些没有MV’),
(00010,’对评论没有规范处理','供选择的不多’)
4。
用户信息
INSERTUserInformation(UserName,Sex,Age,UserType,UpMusic,PersonInformation)
VALUES(’A’,'男',’15',’普通用户’,’唱片’,'爱好:
听音乐;现居地:
成都’),
('B','男’,'18','VIP用户','背影里的沉默',’爱好:
唱歌;现居地:
宜宾’),
(’C','女’,'15’,'普通用户',’简单不简单','爱好:
游泳;现居地:
乐山’),
('D’,’男’,’19’,’VIP用户',’第一夫人',’爱好:
KTV;现居地:
上海’),
('E’,’女',’17','普通用户',’mysummerrain','爱好:
看书;现居地:
广州’),
(’F',’女’,’16’,’普通用户','如果有一天’,'爱好:
书法;现居地:
南京’),
(’G’,’男’,'19','VIP用户',’那又怎样’,'爱好:
打篮球;现居地:
南充'),
('H’,’女',’20’,'普通用户','依然在路上’,'爱好:
画画;现居地:
绵阳'),
('I’,'男','17’,’VIP用户’,'我是怎么了’,'爱好:
足球;现居地:
成都'),
(’J’,’女’,'21',’普通用户',’hold不住',’爱好:
羽毛球;现居地:
绵阳')
5.登录信息
INSERTEnterEnformation(UserName,Passwords,VerificatioNode)
VALUES(’A’,'123456’,'node01’),
(’B',’234567',’node02’),
('C’,’345678’,’node03’),
(’D’,’456789’,'node04’),
('E',’012345’,’node05’),
('F','153456',’node06’),
('G’,’234567’,’node07’),
('H','345578',’node08’),
(’I’,'451789’,'node09’),
('J','015345',’node10')
6。
下载方式
INSERTDownloadWays(TheWay,Thunder,QQ,Internet,DuomiMusic,GoogleMusic)
VALUES(01,’是’,’否’,’否',’否','否'),
(02,’否’,'是','否','否’,'否'),
(03,'否’,'否’,'是’,'否',’否'),
(04,’否’,’否’,'否',’是’,’否'),
(05,’否’,'否','否’,'否','是'),
(06,’是',’否’,'否',’否','否’),
(07,'否’,'是',’否',’否’,’否’),
(08,'否’,’否','是’,'否','否'),
(09,'否’,’否','否’,’是’,’否'),
(10,'否',’否',’否','否’,'是’)
13。
多条件查询
1.多重条件:
普通用户:
查找歌曲、查看歌曲信息、查找好友
—-歌曲号在00002到00005之间的所有歌曲信息
selectMusicNumber,MusicName,SongerInformation,PopMusic,UploadMusic
fromMusicInformation
whereMusicNumber〉00002andMusicNumber〈00005
--显示歌手为'五月天'的歌曲的歌曲号和歌曲名字
selectMusicNumber,MusicName
fromMusicInformation
whereSongerInformation=’五月天'
2.限定数据范围:
—-显示年龄在16~19岁之间的用户信息
selectUserName,Sex,Age,UserType,UpMusic,PersonInformation
fromUserInformation
whereAgebetween16and19
3。
用in关键字限定范围:
VIP用户:
高速下载
—-显示迅雷下载方式
selectTheWay
fromDownloadWays
whereThunderin('是')
——显示用户为男性的信息
selectUserName,Sex,Age,UserType,PersonInformation
fromUserInformation
whereSexin(’男')
4.ISNULL和ISNOTNULL关键字:
-—显示年龄不为空的用户信息
select*fromUserInformation
whereAgeisnotnull
5。
模糊查询:
—-显示用户名中含有“C”的密码和验证码
selectUserName,Passwords,VerificatioNode
fromEnterEnformation
whereUserNamelike’C%’
14.分组统计的使用
1.集合函数:
--显示年龄的最大值
selectMAX(Age)fromUserInformation
2。
分组汇总:
select'YiJianNumber’=Numbers,
’TotalAge’=SUM(Numbers)
fromOpinions
groupbyNumbers
havingSUM(Numbers)>5
11.排序
——按年龄降序显示用户信息
selectUserNameAS'用户名’,AgeAS’年龄’,SexAS'性别',
PersonInformationAS’其他个人信息'
fromUserInformation
orderbyAgedesc
15。
嵌套查询
1。
内连接:
系统管理员:
查看并管理用户资料信息
-—显示所有用户的密码、用户类型和上传的音乐
selectPasswords,UserType,UpMusic
fromUserInformationASa,EnterEnformationASb
wherea.UserName=b.UserName
2。
外连接:
--显示所有用户密码、用户类型
selectPasswords,UserType
fromEnterEnformationleftouterjoinUserInformation
onUserInformation。
UserName=EnterEnformation.UserName
16。
模糊查询
——显示用户名中含有“C”的密码和验证码
selectUserName,Passwords,VerificatioNode
fromEnterEnformation
whe