KTV点歌系统广工数据库课程设计.docx

上传人:b****8 文档编号:12812694 上传时间:2023-06-08 格式:DOCX 页数:52 大小:3.98MB
下载 相关 举报
KTV点歌系统广工数据库课程设计.docx_第1页
第1页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第2页
第2页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第3页
第3页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第4页
第4页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第5页
第5页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第6页
第6页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第7页
第7页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第8页
第8页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第9页
第9页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第10页
第10页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第11页
第11页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第12页
第12页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第13页
第13页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第14页
第14页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第15页
第15页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第16页
第16页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第17页
第17页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第18页
第18页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第19页
第19页 / 共52页
KTV点歌系统广工数据库课程设计.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

KTV点歌系统广工数据库课程设计.docx

《KTV点歌系统广工数据库课程设计.docx》由会员分享,可在线阅读,更多相关《KTV点歌系统广工数据库课程设计.docx(52页珍藏版)》请在冰点文库上搜索。

KTV点歌系统广工数据库课程设计.docx

KTV点歌系统广工数据库课程设计

课程设计

课程名称数据库系统

题目名称___卡拉OK点歌系统___

学生学院计算机学院

专业班级2010级计算机科学与技术四班

学号3110006015

学生姓名张法光

指导教师路璐

 

2013年1月12日

 

评价标准

分数比例(%)

成绩

论文

论文结构包含:

1、相关技术介绍、需求分析、

2、概念结构设计(涉及的实体至少三个以上)、

3、逻辑结构设计(有完整性约束说明)、

4、数据库物理设计、

5、数据库完整性设计(违反实体、参照完整性时的解决办法,比如触发器、存储过程等)

5、数据库安全性设计、

6、数据库实施、系统测试方案和测试报告、

7、系统的主要功能和使用说明、系统安装说明。

要求论文完整、内容详细,格式规范。

40

程序

1、系统运行正确;

2、功能完善:

有增、删、改、查功能,输入、输出功能;

3、有基本的统计、报表功能

4、有多表连接查询、自身连接查询、字符串匹配查询、模糊查询、分组查询等。

5、工作量饱满;

6、系统实现技术的难度。

30

数据

库设

E-R图设计正确,至少3个实体;

数据库逻辑结构设计规范化;

数据库物理设计合理。

30

总评成绩

及格

不及格

总分

 

目录

1引言8

1.1课题来源8

1.2课题研究主要内容8

1.3主要工作9

2需求分析9

2.1信息要求分析9

2.2处理要求分析9

2.3数据字典及安全性、完整性要求分析10

3概念结构设计11

3.1数据实体描述及分ER图11

3.2整体ER图14

4系统概要设计15

4.1数据库逻辑结构设计15

4.2数据库物理设计17

4.3系统总体框架18

5系统详细设计18

5.1数据库实施18

5.2数据库的数据完整性设计30

5.3数据的安全设计32

5.4系统功能模块的设计与实现32

5.5系统功能测试55

5.6数据库性能检测与备份设计71

5.7系统安装使用说明71

6回顾与展望72

7参考文献72

1引言

1.1课题来源

随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。

同时,随着生活节奏的加快,每个人都处于忙碌繁乱的社会的那个当中,不论是在家庭,工作场所,或是学校中,无时无刻充满着生活和学习上的压力。

工作之余,找到一种能够换季压力,释放疲劳的娱乐方式,已成为大家共同的愿望。

然而,受到工作条件和时间的限制,越来越多的人们选择了去KTV厅唱K休闲娱乐。

唱歌,自然免不了点歌的繁琐。

传统的点歌设备主要是CD和固放设备组成,虽然基本满足了人们的需求,但是也带来了设备成本高,点歌过程繁琐,更新麻烦等不少问题。

随着科学的发展和信息时代的到来,点歌系统应运而生,卡拉OK点歌系统已经成为了娱乐场所必不可少的一部分。

卡拉OK点歌系统不仅简化了用户操作,而且极大化满足了人们的需求和使用习惯。

1.2课题研究主要内容

卡拉OK点歌系统是娱乐场所的一项管理措施,因此开发卡拉OK点歌系统具有较大的社会意义,同时点歌系统是一娱乐软件的开端,它具有简单的软件特征,系统结构与现实生活紧密结合,具体直观,具有典范的便捷软件特点。

卡拉OK点歌系统主要用于对音乐的各项查找,操作简单,直观。

用起来极为方便。

减少了手工操对工作人员带来的不便和繁琐,使每个用户都能根据自己爱好选择自己喜欢的音乐。

因此,卡拉OK点歌系统是企业化、智能化、科学化、正规化不可缺少的管理软件。

该设计文档主要介绍点歌系统的数据库设计内容。

建立数据库和相关表和SQL语言的使用和用例图的设计和设计综述。

然而,设计出一个让用户满意的点歌系统并不是那么容易,本次课程设计将利用Eclipse和SQLSERVER2008等工具进行开发实践工作。

1.3主要工作

本次课程设计个人独立完成。

包括界面模块,需求分析,概念设计,系统设计,数据库实现等设计。

本次卡拉OK系统的开发主要前台点歌系统和后台管理系统模块的开发。

前台点歌系统包含了拼音点歌、歌星点歌、分类点歌、语种点歌,全部歌曲,每个点歌模块都可以查询想要点的歌曲。

用户点歌完毕之后,可进入歌曲管理,查看自己的歌曲和收藏自己喜欢的歌曲,也可以按照金曲排行来点播想要的歌曲。

管理员可登录后台管理系统对歌曲、歌星、用户进行管理和维护。

进入后台管理系统后,显示的是歌曲管理、歌星管理、用户管理大三模块。

2需求分析

2.1信息要求分析

经过对卡拉OK点歌系统的结构化分析,得出信息要求如下:

1.、歌星信息:

包括了歌星编号、歌星姓名、歌星性别、国籍、歌星类型、地区、拼音缩写。

2、歌曲信息:

包括了歌曲编号、歌曲名称、歌星编号、语种、歌曲类型、路径、歌曲拼音缩写、歌曲时长

3、金曲排行信息:

包括了歌曲编号、歌曲名称、歌星姓名、周点击率、月点击率、总点击率

4、后台日志信息:

包括了操作编号、操作内容、操作时间、操作人员、备注

5、管理员信息:

包括了管理员用户名管理员密码

6、用户信息:

包括了用户编号、用户登录名、用户密码、用户姓名、用户性别、出生日期注册日期

2.2处理要求分析

卡拉OK点歌系统主要分为歌曲的查询与管理,管理主要包括歌曲的查询,增添,修改,删除;查询可以按照歌星查询,歌曲类型查询,歌曲名称查询等方式查询。

系统功能需求:

2.2.1点播歌曲

点歌是最基本也是最重要的功能,重在快捷方便。

比如拼音点歌、指定歌星点歌,只需输入相应的拼音简写然后点击,就能检索到想要点播的歌曲。

2.2.2添加歌曲

音乐是滚动的时尚元素,明天都可能有新的创作,所以添加新歌也是必不可少的功能。

当然,经典老歌也是不可或缺的元素,适当添加经典老歌,增添怀旧的气氛。

2.2.3歌曲管理

歌曲库十分庞大,给歌曲管理带来一定的难度。

对歌曲信息的增添和删改同样需要相应的子功能模块管理。

2.2.4后台记录

系统在运行当中难免出现故障,对数据库的部分重要更新操作可记录入库,作为系统故障时恢复的依据。

2.3数据字典及安全性、完整性要求分析

名称

描述

定义

位置

歌星信息

主要用于存储歌星歌手的基本信息

包括:

歌星编号、歌星姓名、歌星性别、国籍、歌星类型、地区、拼音缩写

数据库的歌星信息表

歌曲信息

记录歌曲的基本信息

包括:

歌曲编号、歌曲名称、歌星编号、语种、歌曲类型、文件路径、歌曲拼音缩写、歌曲时长

数据库的歌曲信息表

金曲排行

记录歌曲热度信息

包括:

歌曲编号、歌曲名称、歌星姓名、周点击率、月点击率,总点击率

数据库的歌曲排行榜信息表

后台日志

记录后台操作日志记录

包括:

操作编号、操作内容、操作时间、操作人员、备注

数据库的后台操作记录表

管理员信息

记录管理员相关信息

包括:

管理员编号、管理员用户名、管理员密码

数据库的管理员信息表

用户信息

记录用户资料和歌曲收藏信息

包括:

用户编号、用户登录名、用户密码、收藏歌曲编号、用户姓名、用户性别、出生日期、注册日期

数据库的用户信息表

3概念结构设计

3.1数据实体描述及分ER图

3.1.1歌星信息实体

3.1.2歌曲信息实体

3.1.3金曲排行实体

3.1.4后台日志实体

3.1.5管理员信息实体

3.1.6用户信息实体

3.2整体ER图

 

分ER图向整体ER图合并,合并过程中出现的问题和解决方案。

(1)结构冲突。

歌星在歌星信息这个分E—R图中作为主体,而在歌曲信息分E—R图中则作为属性。

歌星包含自己的属性,不能放在歌曲信息表的属性里,此时把歌曲表里面的歌星字段用歌星编号取代,而歌星表和歌曲表为一对多关系。

(2)命名冲突。

歌曲信息与歌星信息都包含编号及名称,起名时需要区分开。

分别命名为歌曲编号和歌星编号。

4系统概要设计

4.1数据库逻辑结构设计

为了完成需求分析中确定的基本功能和概念设计中模块的划分,通过基于3NF的数据库设计方法(通过分析,各数据表已达第三范式),构造了7张基本表。

现在对这7张基本表划分基本关系,在已设计好的数据库中初步建立各表,用于存储歌曲信息和歌星信息等基本信息。

此外,在基本表上定义了一些约束条件,包括基本表上数据类型和数据长度的限制以及是否允许为空或表内是否取值唯一的限定。

根据E-R图,可转化为如下关系模式:

关系的主码用下划线标出,外码用波浪线标出。

实体:

歌星(歌星编号,歌星姓名,歌星性别,国籍,歌星类型,地区,拼音缩写)

歌曲(歌曲编号,歌曲名称,歌星编号,语种,歌曲类型,路径,歌曲拼音缩写,歌曲时长)

金曲排行(歌曲编号,歌曲名称,歌星姓名,周点击率,月点击率,总点击率)

后台日志(操作编号,操作内容,操作时间,操作人员,备注)

管理员(管理员用户名,管理员密码)

用户(用户编号,用户登录名,用户密码,用户姓名,用户性别,出生日期,注册日期)

联系:

收藏(用户编号,歌曲编号,日期)

歌星表

列名

数据类型

能否取空

约束性

歌星编号

int

Notnull

主键

歌星姓名

Char(10)

Notnull

歌星性别

char

(2)

男或女

国籍

Char(20)

歌星类型

Char(10)

地区

Char(20)

拼音缩写

Char(20)

Notnull

字母

歌曲表

列名

数据类型

能否取空

约束性

歌曲编号

int

Notnull

主键

歌曲名称

Char(20)

Notnull

歌星编号

int

Notnull

外键

语种

Char(10)

歌曲类型

Char(10)

路径

Char(20)

歌曲拼音缩写

Char(20)

Notnull

字母

歌曲时长

datetime

金曲排行表

列名

数据类型

能否取空

约束性

歌曲编号

int

Notnull

主键

歌曲名称

Char(20)

Notnull

歌星姓名

Char(10)

Notnull

周点击率

int

月点击率

int

总点击率

int

后台日志表

列名

数据类型

能否取空

约束性

操作编号

int

Notnull

主键

操作内容

Char(40)

Notnull

操作时间

datetime

Notnull

操作人员

Char(20)

Notnull

外键

备注

Char(20)

管理员表

列名

数据类型

能否取空

约束性

管理员用户名

Char(20)

Notnull

主键

管理员密码

Char(20)

Notnull

用户表

列名

数据类型

能否取空

约束性

用户编号

int

Notnull

主键

用户登录名

Char(20)

Notnull

唯一

用户密码

Char(20)

Notnull

用户姓名

Char(20)

Notnull

用户性别

Char

(2)

Notnull

男或女

出生日期

datetime

Notnull

注册日期

datetime

Notnull

收藏表

列名

数据类型

能否取空

约束性

用户编号

int

Notnull

主属性、外键

歌曲编号

int

Notnull

主属性、外键

日期

datetime

4.2数据库物理设计

4.2.1介绍

数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。

物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。

因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。

数据库的物理设计通常分为两步:

一:

确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;

二:

对物理结构进行评价,评价的重点是时间和空间效率。

4.2.2索引设计

(1)建立一个聚集索引,在热门歌手视图建立的索引。

createclusteredindex热门歌手索引

onVIEW_热门歌手(歌星姓名)

 

(2)建立四个唯一索引,分别由各表组成。

1.歌星表索引

createuniqueindex歌星索引on歌星表(歌星姓名)

2.歌曲表索引

createuniqueindex歌曲索引on歌曲表(歌曲名称)

3.金曲排行表索引

createuniqueindex排行索引on金曲排行表(歌曲编号)

4.用户索引

createuniqueindex用户索引on用户表(用户姓名)

4.3系统总体框架

根据系统功能的需求分析和卡拉OK点歌系统的特点,经过模块化的分析得出系统功能模块结构图。

系统结构图:

5系统详细设计

5.1数据库实施

完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。

然后就可以组织数据入库了,这就是数据库实施阶段。

5.1.1数据库的实施

数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。

它相当于软件工程中的代码编写和程序调试的阶段。

创建数据库主要通过T-SQL语句来实现,在查询分析器分别输入以下语句来

执行:

createdatabase点歌系统数据库

(1)

createtable歌星表

(歌星编号intprimarykey,

歌星姓名char(10)notnull,

歌星性别char

(2)check(歌星性别in('男','女')),

国籍char(20),

歌星类型char(10),

拼音缩写char(20)notnull,

地区char(20)

insertinto歌星表values('001','李伟','男','中国','流行','lw','大陆')

insertinto歌星表values('002','周杰伦','男','中国','流行','zjl','港台')

insertinto歌星表values('003','许嵩','男','中国','摇滚','xs','港台')

insertinto歌星表values('004','陈音','女','中国','流行','cy','港台')

insertinto歌星表values('005','王力宏','男','中国','摇滚','wlh','大陆')

insertinto歌星表values('006','paul','女','美国','流行','pau','外国')

insertinto歌星表values('007','李晓','男','中国','流行','lx','港台')

 

(2)

createtable歌曲表

(歌曲编号intprimarykey,

歌曲名称Char(20)notnull,

歌星编号intnotnull

foreignkey(歌星编号)references歌星表(歌星编号),

语种Char(10),

歌曲类型Char(10),

路径Char(20),

歌曲拼音缩写Char(20)notnull,

歌曲时长datetime

insertinto歌曲表

values('1','七里香','2','国语','爱情','D盘DB文件夹','qlx','06:

35')

insertinto歌曲表

values('2','千里之外','2','粤语','悲伤','D盘DB文件夹','qlzw','03:

51')

insertinto歌曲表

values('3','忐忑','7','英语','欢乐','D盘DB文件夹','tt','04:

55')

insertinto歌曲表

values('4','千里之外','3','国语','悲伤','D盘DB文件夹','qlzw','04:

12')

insertinto歌曲表

values('5','月亮之光','5','粤语','悲伤','D盘DB文件夹','ylzg','06:

53')

(3)

createtable金曲排行表

歌曲编号intprimarykey,

歌曲名称Char(20)Notnull,

歌星姓名Char(10)Notnull,

周点击率float(10),

月点击率float(10),

总点击率float(10)

insertinto金曲排行表values('1','七里香','周杰伦','11','99','220')

insertinto金曲排行表values('2','千里之外','周杰伦','31','199','550')

insertinto金曲排行表values('3','忐忑','李晓','22','124','330')

insertinto金曲排行表values('4','千里之外','许嵩','38','77','220')

insertinto金曲排行表values('5','月亮之光','王力宏','51','64','180')

(4)

createtable后台日志表

操作编号intprimarykey,

操作内容Char(40)Notnull,

操作时间datetimeNotnull,

操作人员char(20)Notnull

foreignkey(操作人员)references管理员表(管理员用户名),

备注Char(20)

(5)

createtable管理员表

管理员用户名Char(20)primarykey,

管理员密码Char(20)Notnull

insertinto管理员表

values('admin','admin')

(6)

createtable用户表

用户编号intprimarykey,

用户登录名Char(20)Notnullunique,

用户密码Char(20)Notnull,

用户姓名Char(20)Notnull,

用户性别Char

(2)Notnullcheck(用户性别in('男','女')),

出生日期datetimeNotnull,

注册日期datetimeNotnull

insertinto用户表

values('801','chenfeng','chen92','陈峰','男','1992-02-12','2013-01-08')

insertinto用户表

values('802','lm2013','linming20','林敏','女','1995-04-21','2013-01-01')

insertinto用户表

values('803','tingting9527','2581521','谢婷婷','女','1990-06-18','2013-01-03')

insertinto用户表

values('804','wbqlinhao88','s20081212','王宝强','男','1993-02-09','2013-01-06')

(7)

createtable收藏表

用户编号int,

歌曲编号int,

primarykey(用户编号,歌曲编号),

foreignkey(用户编号)references用户表(用户编号)

ondeletecascade/*当删除用户表的元组时,级连删除收藏表中相应的元组*/

onupdatecascade,/*当更新用户表的用户编号时,级连更新收藏表中相应的元组*/

foreignkey(歌曲编号)references歌曲表(歌曲编号)

ondeletenoaction/*当删除歌曲表的元组时造成了与收藏表不一致时拒绝删除*/

onupdatecascade,/*当更新歌曲表的歌曲编号时,级连级连更新收藏表中相应的元组*/

日期datetime

insertinto收藏表values('801','1','2013-01-01')

insertinto收藏表values('801','2','2013-01-01')

insertinto收藏表values('801','3','2013-01-01')

insertinto收藏表values('801','4','2013-01-03')

insertinto收藏表values('801','5','2013-01-03')

insertinto收藏表values('802','1','2013-01-02')

insertinto收藏表values('802','2','2013-01-02')

insertinto收藏表values('802','5','2013-02-03')

insertinto收藏表values('803','2','2013-01-02')

insertinto收藏表values('803','4','2013-01-02')

insertinto收藏表values('803','5','2013-02-03')

insertinto收藏表values('804','1','2013-01-02')

insertinto收藏表values('804','2','2013-01-02')

insertinto收藏表values('804','5','2013-02-03')

insertinto收藏表values('804','4','2013-03-11')

insertinto收藏表values('804','5','2013-03-11')

数据库关系图:

5.1.2视图设计

为了便于浏览经常查询的信息,提高查询效率,可以考虑建立相关视图,因为它不仅可提供了数据库安全性,还可以节省系统资源开销。

(1)用户表、收藏表,歌

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2