您的当前位置:首页正文

数据库音乐库系统

2020-05-30 来源:钮旅网


数据库音乐库系统

-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

音乐库需求分析报告

1.系统背

景.........................................................................................................................................2 2.系统功

能.........................................................................................................................................2 3.用户类和特

征.................................................................................................................................3 4.用户业务流程

图.............................................................................................................................4

1.普通用

户:.............................................................................................................................4 2.VIP 用

户 .................................................................................................................................4 3.系统管理

员.............................................................................................................................5 4.用户视

图.................................................................................................................................5

1.普通用

户.........................................................................................................................5 2.VIP 用

户 .........................................................................................................................6 3.系统管理

员.....................................................................................................................6

5.实体分析 ER 图..............................................................................................................................7 6.数据流程

图.....................................................................................................................................8 7.数据库的创

建.................................................................................................................................8 8.表的创

建.........................................................................................................................................9

1.歌曲信息:music information .......................................................................................9

2

2.歌曲类型:music type ...................................................................................................9 3.意见和建议:

opinions .................................................................................................10 4.用户资料:user information ........................................................................................10 5.登录信息:enter information.......................................................................................11 6.歌曲下载方式:download ways..................................................................................11

9.表格代

码.......................................................................................................................................12 10.表约束的创

建.............................................................................................................................13 11.索引创

建.....................................................................................................................................14 12.数据插入脚

本.............................................................................................................................15

1.歌曲信

息...............................................................................................................................15 2.歌曲类

型...............................................................................................................................15 3.意

见.......................................................................................................................................16 4.用户信

息...............................................................................................................................16 5.登录信

息...............................................................................................................................17 6.下载方

式...............................................................................................................................18 13.多条件查

询.................................................................................................................................18

1.多重条

件:..............................................................................................................................18 2.限定数据范

围:......................................................................................................................19

3

3.用 in 关键字限定范

围: ........................................................................................................19 4.IS NULL 和 IS NOT NULL 关键

字: .................................................................................20 5.模糊查

询:..............................................................................................................................20 14.分组统计的使

用.........................................................................................................................20

1.集合函

数:..............................................................................................................................20

4

2.分组汇

总:..............................................................................................................................20 11. 排

序...........................................................................................................................................21 15.嵌套查

询.....................................................................................................................................21

1.内连

接:..................................................................................................................................21 2.外连

接:..................................................................................................................................22 16.模糊查

询.....................................................................................................................................22 12. 数据的修改和删

除...................................................................................................................22 13. 创建视

图...................................................................................................................................23 14. 创建储存过

程...........................................................................................................................24 15. 创建触发

器...............................................................................................................................26 16. 事

务...........................................................................................................................................27 17. 账号的创

建...............................................................................................................................28 18. 角色和权限分

配.......................................................................................................................30 19. 数据库的分离和附加、备份恢复...........................................................................................31 20. 数据导入导

出...........................................................................................................................33

1.系统背景

5

随着社会经济的发展,人们生活水平的提高,大家对精神方

面的追求有所加强。其中对音乐的收听占了很大比例。不管 是在上班、上网、休息、聚会、甚至是走路,我们都在听音 乐,音乐已经成人们生活的一部分。然而现在还没有一个很 完善的音乐库系统,所以需要有一个全面的音乐库搜索系统, 以满足大家的需求。此音乐库系统的创建符合广大用户的需 求。

6

2.系统功能

首先由用户注册或直接登录进入此系统。此系统收藏了时下

网 行 上

上最流行的音乐以及各种经典老歌,并由系统管理员对其进 分类管理、更新上传,方便用户简单查找和收听,用户也能 传自己的歌曲、添加更多的音乐、发表个人看法、提出意见

建议,使系统更符合用户的要求,最终做到满足用户。

3.用户类和特征

1.普通用户:

作为普通用户首先要进行注册或登录才能进入系统。其可以 收听系统库音乐、网上查找歌曲、普通下载、添加自己喜欢的音 乐、对音乐进行论、添加好友、歌曲分享、评论他人歌曲、对系 统提意见。

用户:

除拥有普通用户的权限外,还有收听高质量的 歌曲、观看 视频和 MV、为好友点歌、上传自己 唱的歌、分享自己演唱的

歌曲、和好友一起听音乐、高速批量下载等附加功能。

3.系统管理员:

7

保证音乐库正常运行、防止音乐库音乐被篡改、实时更新和

上传歌曲、对音乐进行分类(比如情感、年龄段、各时代歌曲、 各个国家、每日排行......)、保存用户上传的歌曲或视频、规范的

评论、收集并整理用户的意见和建议、修改用户的基本资料等功 能。

4.用户业务流程图

1.普通用户:

8

用户

3.系统管理员

4.用户视图

1.普通用户

用户登录:需要输入用户名、密码、验证码

收听歌曲:歌曲根据类型可分为不同年龄层次、不同时代背景、不

9

同感情倾向、不同语言方式,一首歌曲可能包含其中多种类型。

查找歌曲:查找歌曲时可以根据歌曲名、歌曲编号、歌曲类型进行 简单的搜索。

添加歌曲:可直接点击歌曲名将音乐添加到本地列表。

对音乐库的评论:这包括对音乐收听方面和系统使用方面的意见和 建议, 每个人可以提多个意见。

添加好友:可直接输入好友的号码进行查找,也可输入其网名进行 广泛搜索。

歌曲分享:专门有个界面进行歌曲的分享,只需要输入歌曲名即可 进行分享。

评论他人歌曲:在歌曲名后面专门有个按钮进行评论,点开之后即 可输入您的评论内容。

用户

高质量音乐:有一部分歌曲可以高质量收听,用户可直接点击按钮 进行收听。

观看视频和 MV:听歌时观看 MV 也是件很享受的事情。

点歌:输入歌曲名和好友的名字,即可为好友点歌。

上传歌曲:专为 VIP 用户打造的功能,单击上传按钮即可浏览文件, 在选择上传的歌曲即可。

高速下载:用户可以根据自己喜好选择一种下载方式进行高速批量 下载。

10

3.系统管理员

更新上传:管理员可根据网上的新歌和用户的听歌记录适时的添加 音乐和更新系统库。

分类管理:歌曲的不断更新使得系统不断变大,如不进行分类管理 系统可能会出问题。也为了用户方便使用,对每一首歌的类型进行 详细的划分。

用户信息查看及管理:不同的用户有不同的信息,允许用户修改自 己的信息,防止篡改他人信息。普通用户和 VIP 用户的资料也应该 分开管理,以免混淆。

收集整理意见和建议:这主要分为两种,音乐收听方面和音乐库系 统方面,各意见要进行分条整理,方便查看和统计。

5.实体分析 ER 图

11

6.数据流程图

12

7.数据库的创建

USE master GO

CREATE DATABASE yinyuek ON PRIMARY (

NAME=yinyueku_DAate,

FILENAME='C:\\Users\\Dell\\Desktop\\', SIZE=10,

MAXSIZE=UNLIMITED, FILEGROWTH=5 )

LOG ON (

NAME=yinyueku_Log,

FILENAME='C:\\Users\\Dell\\Desktop\\', SIZE=10,

MAXSIZE=2000, FILEGROWTH=10% ) GO

8.表的创建

1.歌曲信息:music information

属性名 Music number Music name Song er 中文名 歌曲号 歌曲名 歌手信息 类型 int char char 长度 5 20 20 是否允许为空 Not null null null information Pop music 每日最热歌曲 char 13

20 null

Upload music

用户上传歌曲 char 20

null

2.歌曲类型:music type

属性名 Music Name Different ages 中文名 歌曲名 不同年龄层次 类型 char char char 长度 10 20 20 是否允许为空 Not null null null Different 不同时代背景 background Different 不同情感倾向 char 20 null emotional Different 不同语言 char 20 null language

3.意见和建议:opinions

属性名 numbers systems 中文名 意见序号 系统方面 类型 int char 长度 5 100 是否允许为空 Not null null 14

Music listening

音乐收听 char 100

null

4.用户资料:user information

属性名 User name sex age User type Up music Person 中文名 用户名 性别 年龄 用户类型 上传音乐 其他个人信息 类型 char char int char char char 长度 10 10 2 10 20 100 是否允许为空 Not null null null null null null Information

5.登录信息:enter information

属性名 user name password 中文名 用户名 密码 类型 char int 长度 10 6 是否允许为空 Not null null 15

verification

code

验证码 char 5

null

6.歌曲下载方式:download ways

属性名 The Way Thunder QQ Internet Duomi Music 中文名 方式 迅雷 QQ 旋风 普通网页 多米音乐 类型 int char char char char 长度 2 10 10 10 10 是否允许为空 Not null null null null null Google Music 谷歌音乐 char 10 null

9.表格代码

CREATE TABLE MusicInformation(

MusicNumber int NOT NULL, MusicName char(20) NULL, SongerInformation char(40), PopMusic char(20) NULL, UploadMusic char(20) NULL, PRIMARY KEY(MusicNumber) )

16

CREATE TABLE MusicType( MusicName char(20) NOT NULL,

DifferentAges char(20) NULL, DifferentBackground char(20) NULL, DifferentEmotional char(20) NULL, DifferentLanguage char(20) NULL, PRIMARY KEY(MusicName ) )

CREATE TABLE Opinions(

Numbers int NOT NULL, Systems char(100) NULL, MusicListening char(100)

NULL, PRIMARY KEY(Numbers) )

CREATE TABLE UserInformation( UserName char(10) NOT NULL, Sex char(10) NULL,

Age int NULL,

UserType char(10) NULL, UpMusic char(10) NULL,

PersonInformation char(100) NULL, PRIMARY KEY(UserName ) )

CREATE TABLE EnterEnformation( UserName char(10) NOT NULL, Passwords int NULL,

VerificatioNode char(4) NULL, PRIMARY KEY(UserName,) )

CREATE TABLE DownloadWays(

TheWay int NOT NULL, Thunder char(10) NULL, QQ char(10) NULL,

Internet char(10) NULL, DuomiMusic char(10) NULL, GoogleMusic char(10) NULL, PRIMARY KEY(TheWay) )

17

10.表约束的创建 CREATE TABLE MusicInformation (

MusicNumber int NOT NULL,

CONSTRAINT pkMusicInformation )

PRIMARY KEY

(MusicNumber)

CREATE TABLE MusicType (

MusicName char(20) NOT NULL,

CONSTRAINT pkMusicInformation PRIMARY KEY )

(MusicName)

CREATE TABLE Opinions (

Numbers int NOT NULL,

CONSTRAINT pkNumbers PRIMARY KEY )

(Numbers )

CREATE TABLE UserInformation (

UserName char(10) NOT NULL, CONSTRAINT pkMusicInformation )

TheWay int NOT NULL,

PRIMARY KEY

CREATE TABLE EnterEnformation( UserName char(10) NOT NULL, CONSTRAINT pkMusicInformation

)

PRIMARY KEY

CREATE TABLE DownloadWays (

18

(UserName)

(UserName)

19

CONSTRAINT pkTheWay PRIMARY KEY (TheWay )

)

11.索引创建

CREATE UNIQUE CLUSTERED INDEX idx_Opinions ON Opinions(Numbers )

CREATE UNIQUE CLUSTERED INDEX idx_DownloadWays ON DownloadWays(TheWay )

CREATE INDEX idx_EnterEnformation ON EnterEnformation (UserName)

CREATE INDEX idx_UserInformation ON UserInformation (UserName)

CREATE INDEX idx_MusicType ON MusicType(MusicName )

12.数据插入脚本

1.歌曲信息

INSERT

(MusicNumber,MusicName,SongerInformation,PopMusic,UploadMusic) VALUES ('00001','皮影戏','周杰伦','爱的供养','倾听我'),

('00002','星空','五月天','老男孩','倾世'),

('00003','倾听我','林心如','依然爱你','三寸天堂'), ('00004','倾世','霍建华','落花','走天涯'),

('00005','未来','魏晨','荷塘月色','你是我的眼'), ('00006','情殇','信乐团','没那么简单','翅膀'), ('00007','小永远','何洁','就去爱吧','似曾相识'), ('00008','明天','陈志朋','我们爱过就好','回家路上'),('00009','长镜头','那英','花一开满就相爱','一样爱着你'),

('00010','伤不起','王麟','羽绒服','花一开满就相爱')

20

MusicInformation

2.歌曲类型 INSERT

MusicType

(MusicName,DifferentAges,DifferentBackground,DifferentEmotional,DifferentLanguage) VAlUES ('皮影戏','所有年龄','21世纪','开心','中文'),

('星空','所有年龄','90后','忧伤','中文'), ('倾听我','所有年龄','90后','忧伤','中文'), ('倾世','青年','21世纪','emotional04','中文'), ('未来','青年','21世纪','憧憬','中文'), ('情殇','青年','90后','悲凉','中文'),

('小永远','所有年龄','21世纪','活泼','中文'), ('明天','青年','90后','期待','中文'), ('长镜头','少年','21世纪','轻快','中文'), ('伤不起','青年','90后','激情','中文')

3.意见

INSERT Opinions (Numbers,Systems,MusicListening) VALUES (00001,'东西有些杂乱','音质不好'),

(00002,'更新有些慢','链接地址有问题'), (00003,'没有多选项','供选择的不多'), (00004,'没有多选项','有些没有MV'), (00005,'下载方面有问题','音质不好'),

21

(00006,'操作不舒服','感觉不好'),

(00007,'对评论没有规范处理','供选择的不多'), (00008,'东西有些杂乱','链接地址有问题'),

(00009,'更新有些慢','有些没有MV'),

(00010,'对评论没有规范处理','供选择的不多')

4.用户信息

INSERT UserInformation (UserName,Sex,Age,UserType,UpMusic,PersonInformation) VALUES ('A','男','15','普通用户','唱片','爱好:听音乐; 现居地:成都'),

('B','男','18','VIP用户','背影里的沉默','爱好:唱歌; 现居地:宜宾'), ('C','女','15','普通用户','简单不简单','爱好:游泳; 现居地:乐山'), ('D','男','19','VIP用户','第一夫人','爱好:KTV; 现居地:上海'), ('E','女','17','普通用户','my summer rain','爱好:看书; 现居地:广州'), ('F','女','16','普通用户','如果有一天','爱好:书法; 现居地:南京'),

('G','男','19','VIP用户','那又怎样','爱好:打篮球; 现居地:南充'), ('H','女','20','普通用户','依然在路上','爱好:画画; 现居地:绵阳'), ('I','男','17','VIP用户','我是怎么了','爱好:足球; 现居地:成都'), ('J','女','21','普通用户','hold不住','爱好:羽毛球; 现居地:绵阳')

5.登录信息

22

INSERT EnterEnformation (UserName,Passwords,VerificatioNode) VALUES ('A','123456','node01'),

23

('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.下载方式

INSERT DownloadWays (TheWay,Thunder,QQ,Internet,DuomiMusic,GoogleMusic) VALUES (01,'是','否','否','否','否'),

(02,'否','是','否','否','否'), (03,'否','否','是','否','否'), (04,'否','否','否','是','否'), (05,'否','否','否','否','是'), (06,'是','否','否','否','否'), (07,'否','是','否','否','否'), (08,'否','否','是','否','否'), (09,'否','否','否','是','否'), (10,'否','否','否','否','是')

24

13.多条件查询

1.多重条件:

普通用户:查找歌曲、查看歌曲信息、查找好友

--歌曲号在00002到00005之间的所有歌曲信息 select MusicNumber,MusicName,SongerInformation,PopMusic,UploadMusic from MusicInformation

where MusicNumber>00002 and MusicNumber<00005

--显示歌手为'五月天'的歌曲的歌曲号和歌曲名字 select MusicNumber,MusicName

from MusicInformation

where SongerInformation='五月天'

2.限定数据范围:

--显示年龄在16~19岁之间的用户信息 select UserName,Sex,Age,UserType,UpMusic,PersonInformation from UserInformation

where Age between 16 and 19

25

3.用 in 关键字限定范围:

VIP用户:高速下载

--显示迅雷下载方式 select TheWay

from DownloadWays

where Thunder in ('是')

--显示用户为男性的信息 select UserName,Sex,Age,UserType,PersonInformation from UserInformation

where Sex in ('男')

NULL 和 IS NOT NULL 关键字: --显示

年龄不为空的用户信息 select * from UserInformation

where Age is not null

5.模糊查询:

--显示用户名中含有“C”的密码和验证码 select UserName,Passwords,VerificatioNode

from EnterEnformation where UserName like 'C%'

26

14.分组统计的使用 1.集合函数:

--显示年龄的最大值 select MAX(Age) from

UserInformation 2.分组汇总:

select 'YiJian Number'=Numbers,

'Total Age'=SUM(Numbers) from Opinions

group by Numbers

having SUM(Numbers)>5

11.排序

--按年龄降序显示用户信息

select UserName AS '用户名',Age AS '年龄',Sex AS '性别',

PersonInformation AS '其他个人信息' from UserInformation order by Age desc

27

15.嵌套查询

1.内连接:

系统管理员:查看并管理用户资料信息

--显示所有用户的密码、用户类型和上传的音乐 select Passwords,UserType,UpMusic

from UserInformation AS a,EnterEnformation AS b where =

2.外连接:

--显示所有用户密码、用户类型 select Passwords,UserType

from EnterEnformation left outer join UserInformation on =

28

16.模糊查询

--显示用户名中含有“C”的密码和验证码 select UserName,Passwords,VerificatioNode

from EnterEnformation where UserName like 'C%'

12.数据的修改和删除

select 歌曲号=MusicNumber,MusicName AS 歌曲名,歌手信息

=SongerInformation, 每日最热歌曲=PopMusic,用户上传歌曲=UploadMusic from MusicInformation

select 歌曲名字=MusicName,不同年龄层次=DifferentAges,不同时代背

景 =DifferentBackgroun

d,

不同情感倾向=DifferentEmotional,不同语言=DifferentLanguage

from MusicType

select 意见序号=Numbers,系统意见=Systems,音乐收听方面=MusicListening from Opinions

select 用户名=UserName,性别=Sex,年龄=Age,用户类型=UserType,

上传音乐=UpMusic,其他个人信息=PersonInformation

from UserInformation

select 用户名=UserName,密码=Passwords,验证码=VerificatioNode from EnterEnformation

select 方法=TheWay,迅雷=Thunder,OO旋风=QQ,网页下载=Internet,多米音乐

=DuomiMusic, 谷歌音乐=GoogleMusic

from DownloadWays

29

13.创建视图 普通用户:

--显示用户信息 create view XinXi with encryption as

select *from UserInformation

select *from XinXi

--查找歌曲显示歌曲种类 create view chazhao with encryption as

select *from MusicType where MusicName ='未来' select *from chazhao

VIP用户:

--显示歌曲信息并上传 create view shuangchuan with encryption as

select MusicNumber,MusicName,SongerInformation from MusicInformation select *from shuangchuan

30

系统管理员:

--显示用户信息 create view watch with encryption as

select

UserName,Sex,Age,UserType,PersonInformation from UserInformation select *from watch

14.创建储存过程

普通用户:

--显示19岁以上的用户的信息并加为好友 create proc nianling as begin

select

UserName,Sex,UserType,PersonInformation from UserInformation

where Age>=19 end

exec nianling

带参数的

31

--显示年龄为 17,18 岁的用户信息 create proc prcAge

@maxnianji int,

32

@minnianji int

as begin

select *from UserInformation where Age<=@maxnianji and Age>=@minnianji end exec prcAge 18,17

VIP用户:

--显示迅雷高速下载方式 create proc xiazai as begin

select *from DownloadWays where Thunder='是' end

exec xiazai

系统管理员:

--显示音乐收听方面的意见 create proc yijian

as begin

select Numbers,MusicListening from Opinions end

exec yijian

33

15.创建触发器

DML 触发器

--用户上传音乐,系统库的歌曲数就会随之增加 create trigger shangchuanmusic on UserInformation for insert as begin

declare @misicname as char(10), @number as int

select @misicname=UpMusic,@number=MusicNumber from UserInformation,MusicInformation

update MusicInformation

set MusicNumber=MusicNumber+@number End

DDL 触发器

--禁止删除和修改当前数据库中的任何表 create trigger trgsafe on database

for drop_table,allter_table as

print'不能修改和删除表' rollback

34

登录触发器

--如果登录名login_test已经创建了两个用户对话,则拒绝该用户名启动SQL Server登录尝试 create trigger trgconnection_limit on all server with execute as 'login_test' for logon as begin

if ORIGINAL_LOGIN()= and'login_test' (select COUNT(*) from

where is_user_process=1 and

original_login_name='login_test')>3 rollback End

16.事务

--删除用户名为A的用户信息 declare @user_name char(5) select @user_name='my_tran_delete' begin tran @user_name GO

user yinyueku GO

delete from UserInformation

where UserName ='A' GO

COMMITE tran 'my_tran_delete'

35

17.账号的创建

36

37

18.角色和权限分配

38

19.数据库的分离和附加、备份恢复

39

40

20.数据导入导出

41

42

43

因篇幅问题不能全部显示,请点此查看更多更全内容