数据库课程设计音乐点播论文.doc_第1页
数据库课程设计音乐点播论文.doc_第2页
数据库课程设计音乐点播论文.doc_第3页
数据库课程设计音乐点播论文.doc_第4页
数据库课程设计音乐点播论文.doc_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天津轻工职业技术学院课程 设计(论文)课题 : 音乐点播系统 专 业 计算机信息管理 班级 10信息管理 学生姓名 李宏干 学生学号 9号 指导教师 翟珈艺 提交日期 2011年12月份 成绩 答辩日期 答辩成绩 答辩教师 总评成绩 课题设计要求在线音乐点播系统需要完成功能主要有:l 用户注册:用户输入ID、要注册账号名、密码,点击注册就能创建用户。l 用户登陆:输入账号和密码,如果数据库有,即可进入系统。l 在线点播:用户进入系统,点击点播就能收听。l 在线下载:只有登陆后的用户才能下载。l 搜索歌曲:输入歌曲、歌手、专辑任何一项就能出现内容。l 排行榜查询:进入系统就能查看。 系统运行环境: 在线音乐点播系统以微软公司的Visual studio2005中文版作为操作界面的开发工具和使用Microsoft SQL Server 2000作为数据库管理系统。设计题目音乐点播系统指导教师综合阅评意见平时成绩010材料成绩060指导教师摘要摘要随着时代的进步,人们生活不断提高,追求也多样化,音乐也逐渐成为主流,各类音乐,各类专辑,成为了时代的必须。专辑是音乐歌曲的集合,是一个歌手是否出名的必须品,一个专辑可以有很多歌曲,也可以只有一首,当然歌曲的好也会让人更加喜欢,点播率也会提高,音乐网站流行之后,各大论坛,各大网站对歌手微薄的关注,让音乐点播逐渐成为音乐系统的主流。在本论文中主要介绍音乐点播的数据库的设计内容。而主要设计数据库的建表、主要的语句的建立、主要用例图的设计等,还要进行一定的描述。音乐点播是给两个很好的朋友、亲人、爱人之间点播的,因此开发一套完整的音乐点播系统已是大势所趋。关键字: 音乐点播 数据库 专辑目录目 录摘要I目 录I第一章 绪论1第一节 概述11.1.1背景综述1第二节 系统目标1第三节 建设原则21.3.1安全可靠性21.3.2 实用性21.3.3 操作简单2第二章 系统分析和概要设计1第一节 系统的需求12.1.1 歌曲查询12.1.2 热歌加入操作12.1.3 老歌加入操作12.1.4 歌曲管理1第二节 用户界面需求1第三节 系统数据E-R图设计22.4.1 歌曲实体:22.4.2 专辑实体:22.4.3 用户实体:22.4.4排行榜实体:32.4.5 歌曲搜索实体:3第五节 系统数据总E-R图设计4第三章 数据库逻辑结构设计5第一节 关系模型5第二节 数据模型5第四章 数据库物理设计8第一节 介绍8第二节 物理结构8第三节 创建数据库8第五章 数据库数据查询17第一节 查询所有在音乐系统中的专辑、歌曲及歌曲点击率:17第二节 查询各个音乐系统中歌曲及专辑17第三节 查询所有正在使用的用户及用户所听的歌曲名18第四节 删除模拟(将歌曲妹子加入到删除表)18第五节 加入模拟(歌曲青春加入)19第六章 系统实现21第一节 系统的开发、运行平台及结构216.1.1系统的开发及运行平台216.1.2主要开发技术21第二节 系统的实现21总结24致 谢25参考文献26第一章 绪论第一章 绪论第一节 概述1.1.1背景综述在社会全面信息化的今天,由于当前音乐点播网站很少,而且成长也很不乐观,一度失败,让人们失去了原有的激情,故此为了挽回这颓势,本网站就是为了解决次危机:(1) 音乐点播的不完整性。(2) 歌曲点播音质不全。(3) 点播不能实现。这样我们就应该对这些问题来进行开发系统是具有相对广阔的前景。第二节 系统目标由于音乐点播网站的音乐不完美,导致音乐点播网站的没落,所以新系统开发的总目标是:适应人群的需要,提高歌曲的热度,让音乐点播更趋时代特色,让音乐点播成为现代网站的主流。具体来说音乐点播系统有如下功能:1. 能都对新歌曲数据快速、准确的录入。只有对新歌曲数据快速、准确的录入,才能让网站流量不会出现崩盘。2. 对歌手信息的及时处理。根据新歌手的的基础数据,形成歌手的基本信息,音乐歌手的基础平台就是整个歌手的基本信息。3. 点播支持和远程服务功能。这体现在能利用本系统的基础信息,通过一定的音乐点播,向点播人员提高完美高音质的服务。这里的音乐点播层次分两个,一是面向点播人本身,即有音乐音质问题,如:音乐名、专辑、时长、大小等,另一个层次是面向战略级的音乐网站竞争流量方案,通过对长期的市场调查与市场信息的观察分析,找出音乐热点排行,把主流音乐放在点播首页,让人们更具选择性的去选择歌曲点播。第三节 建设原则1.3.1安全可靠性设计人员始终都将安全可靠性作为仓库管理系统的核心问题之一。为实现安全登录功能,系统让用户输入用户名和密码,通过用户输入的用户名和密码,判断用户是否合法,是否允许用户登录系统。如果连续输入3次用户名和密码错误,系统关闭。同时系统可以对数据库进行备份,以确保数据的可靠性。1.3.2 实用性本系统可以完全满足一般的音乐点播系统的所有要求,新歌和老歌模块完整详细的显示了歌曲及歌手的信息,并且拥有强大的歌曲点播功能。1.3.3 操作简单界面设计力求简洁明了,在用户对话界面中有屏幕操作提示,可随时得到操作帮助。第二章 系统分析和概要设计第二章 系统分析和概要设计第一节 系统的需求2.1.1 歌曲查询每个人只要记住一个或者多个歌曲关键字,就能查询歌曲。2.1.2 热歌加入操作每天都有专辑,热播歌曲会有很多点击率,所以要及时更新,加入最新歌曲,让音乐点播更主流。2.1.3 老歌加入操作老歌因为时代久了会被人遗忘,带金典的老歌是不会消逝的,所以老歌也要时常更新。2.1.4 歌曲管理歌曲因为歌手的没落会被人抛弃,所以得经常删除一些点击率低的歌曲,以便管理系统。第二节 用户界面需求拥有友好的用户界面,将使用户感到亲切。因此,要重视系统界面的开发。系统的用户界面应具有以下几方面特性:1、 使用简单管理者、操作人员只要会一些简单的操作就能使用。2、系统界面应包含大量的提示信息用户界面上的文字通俗易懂、简单明了。3、 系统界面要有可靠性应保证用户正确、可靠地使用系统,保证有关程序和数据的安全。第三节 系统数据E-R图设计本设计根据上面的设计规划出的实体有歌曲实体、专辑实体、用户实体、排行实体、歌曲搜索实体。各个实体的E-R图及其关系描述如下:2.4.1 歌曲实体:歌曲歌名歌手名大小时长图2-1歌曲实体E-R图2.4.2 专辑实体:专辑专辑名歌手名图2-2专辑实体E-R图2.4.3 用户实体:用户用户名性别职业生日电话邮箱图2-3用户实体E-R图2.4.4排行榜实体:排行榜歌曲歌手点播人数图2-4排行榜实体E-R图2.4.5 歌曲搜索实体:歌曲搜索歌曲歌手专辑图2-5歌曲搜索实体E-R图第四节 系统数据总E-R图设计图2-7系统E-R图第三章 数据库逻辑结构设计第三章 数据库逻辑结构设计第一节 关系模型将上面的ER图转化为关系模型,关系的主码用下横线标出,外码用删除线标出:实体:歌曲(歌名,歌手名,时长,大小)专辑(专辑名,歌手名)用户(用户名,职业,性别,生日,电话,邮箱)排行榜(歌名,歌手名,点击率)歌曲搜索(歌曲,歌手,专辑)联系:共2个联系查询(歌曲,歌手名,专辑,排行榜)删除(歌曲)第二节 数据模型在上面的实体以及实体之间的关系的基础上,形成数据库中的表格以及各个表格之间的关系。音乐点播系统数据库中的各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表1-1歌曲表列名数据类型可否为空约束性歌名char(20)不能为空主键歌手名char(20)可为空外键时长char(20)可为空大小char(20)不能为空表1-2专辑表列名数据类型可否为空约束性专辑名char(20)可为空主键歌手名char(20)可为空外键表1-3用户表列名数据类型可否为空约束性姓名char(20)不能为空主键性别bit可为空性别= 女 or 性别= 男密码char(20)可为空职业char(20)可为空电话char(30)可为空邮箱char(30)可为空表1-4排行表列名数据类型可否为空约束性歌名char(20)不能为空主键歌手名char(20)可为空外键点击率char(20)可为空表1-5管理员表列名数据类型可否为空约束性账号char(20)不能为空主键密码char(20)不能为空表1-6删除表列名数据类型可否为空约束性歌名char(20)不能为空主键、外键歌手名char(20)不能为空主键、外键冷门char(10)可为空表1-7加入表列名数据类型可否为空约束性歌曲char(20)不能为空主键、外键歌手名char(20)不能为空主键、外键热度char(10)可为空第四章 数据库物理设计第四章 数据库物理设计第一节 介绍数据库最终是要存储在物理设备上的。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;以及充分了解外存设备的特性。数据库的物理设计通常分为两步: 一、确定数据库的物理结构 二、对物理结构进行评价,评价的重点是时间和空间效率第二节 物理结构由于查询时,经常会用到歌手名、歌名和专辑,所以在此三种属性设计为唯一索引。为了完成需求分析中确定的基本功能和概念设计中模块的划分,通过基于三范式的数据库设计方法(通过分析,以上各数据表已经达到了三范式),构造了7张基本数据表。现在对这7张数据表划分基本关系。在已设计的数据库中初步建立了7张基本表,用于歌手信息和歌曲专辑的基本信息。此外,在基本表上定义了一些约束条件和外码信息,以实现数据的完整性约束。包括表内约束条件和表间约束条件(还包括了基本表上数据类型和数据长度的限制以及是否允许为空或表内是否唯一的限定)第三节 创建数据库一、用T-SQL语句来实现的,在查询分析器中分别输入以下建表语句代码来执行:(1)reate table 歌曲(歌名 char(20) primary key,歌手名 char(20),时长 char(20),大小 char(20) not null);(2)create table 用户(姓名 char(20) primary key,性别 bit CHECK (性别= 女 or 性别= 男),密码 char(20),职业 char(20),电话 char(20),邮箱 char(20);(3)create table 专辑(专辑 char(20) ,歌手名 char(20),primary key (专辑,歌手名);(4)create table 排行(歌名 char(20),歌手名 char(20),点击率 char(20),primary key (歌名,歌手名);(5)ccreate table 管理员(账号 char(20) primary key,密码 char(20);(6)create table 删除(歌名 char(20),歌手名 char(20),冷门 char(20),primary key (歌名,歌手名);(7)create table 加入(歌曲 char(20),歌手名 char(20),热度 char(20),primary key (歌曲,歌手名);图4-1建立数据库表图图4-2数据库表关系图二、视图设计为了便于浏览经常查询的信息,提高查询效率,我们可以考虑建立视图,它不但可以提供一定的数据库安全性,而且可以节省系统资源。用户表、歌曲表、排行表之间,建立一个有点击率45的视图。Create view V_用户点歌AsSelect 用户.姓名,用户.性别,歌曲.歌名,歌曲.歌手名,排行.点击率From 歌曲,用户,排行Where (点击率45)专辑表视图建立专辑是建立一个虚拟的表,是来进行对专辑进行一定的查询、修改、删除的语句。create view v_专辑 as select 专辑 from 专辑用户表视图建立用户是建立一个虚拟的表,是来进行对用户进行一定的查询、修改、删除的语句。create view v_用户 as select 姓名 from 用户加入表视图建立加入表是建立一个虚拟的表,是来进行对加入表进行一定的查询、修改、删除的语句。create view v_加入 as select 歌曲 from 加入删除表视图建立删除表是建立一个虚拟的表,是来进行对删除表进行一定的查询、修改、删除的语句。create view v_删除 as select 歌名 from 删除管理员表视图建立用户表是建立一个虚拟的表,是来进行对用户表进行一定的查询、修改、删除的语句。create view v_管理员 as select 账号 from 管理员歌曲表视图建立歌曲表是建立一个虚拟的表,是来进行对歌曲表进行一定的查询、修改、删除的语句。create view v_歌曲 as select 歌名 from 歌曲排行表视图建立排行表是建立一个虚拟的表,是来进行对排行表进行一定的查询、修改、删除的语句。create view v_排行 as select 歌名 from 排行图4-3建立视图三、索引设计建立一个复合索引,由排行表歌名和点击率组成的复合索引。Create nonclustered index 歌名On 排行 (歌手名,点击率)建立一个聚集索引,由歌曲表试图建立的试图索引。Create clustered index 歌曲On 歌曲 (歌名)建立七个唯一性索引,分别由表组成。1.歌曲表索引建立的是歌曲表的唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_歌曲 on 歌曲(歌名)2.排行索引建立的是排行表的唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_排行 on 排行(歌手)3用户索引建立的是用户表的唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_用户 on 用户(姓名)4.管理员索引建立的是管理员表的唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_管理员 on 管理员 (账号)5专辑索引建立的是专辑表唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_专辑 on 专辑(专辑)6.加入表索引建立的是加入表的唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_加入 on 加入(歌曲)7.删除索引建立的是删除表的唯一性索引,是来对整个实体完整性,索引本身是已经排序,这样的查询可以利用索引的排序,加快排序查询时间。create unique index in_删除 on 删除(歌名)四、存储过程建立本存储过程是对排行表进行一定的数据结构的设计,在用户表中是通过对点击率进行设计的,分别设计两个变量进行累加点击率的处理。create proc stock_点击率a char(20) =12,b char(20) =13,点击 char(50) outputasset 点击 = a + bselect 歌名,歌手名from 排行where a=点击率 and b=点击率图4-4建立存储过程图调用存储过程:declare 点击 char(50)execute stock_点击率 歌曲,20,点击 output查询存储过程:exec sp_help stock_点击率图4-5查询存储过程图五、触发器的建立1.更新排行触发器该触发器设计的目的是为了完成歌曲在系统中的不定期的更新,是为了点播热歌时会有,满足用户一切要求,数据库会对时间进行自动的修改,来创建的触发器。create trigger ck_Yh on 排行for insert,updateasdeclare Old_num char(10),New_num char(5)select Old_num = 歌名,New_num = 歌手名 from insertedif exists(select * from 排行 where 歌名= Old_num and 歌手名New_num) begin raiserror(歌曲排行,16,1) rollback transaction end2. 删除表触发器出库表的触发器的建立目的是为了,在冷门音乐要删除的时候是通过对音乐进行修改,而在建立完之后,音乐就被删除了。create trigger 冷门 on 删除for updateasdeclare old char(50),new char(50)select new = 冷门 from insertedselect old = 冷门 from deletedprint 原来的数量+ old + 被改为了+new第五章 数据库数据查询第五章 数据库数据查询数据库建立并初始化完成后,直接用SQL 语句能执行查询库存情况操作,若要执行用户,加入,删除等操作,则每执行一个元组都要对设备表中的设备数据进行一次修改。用户,加入,删除三个表只是在应用程序中才能真正的发挥使用。时间有限,本实验原计划编写的应用程序没有编写,因此,只能用SQL 语句对应用程序的处理过程进行模拟。第一节 查询所有在音乐系统中的专辑、歌曲及歌曲点击率:select 歌曲.歌名,歌曲.歌手名,时长,大小,专辑.歌手名,点击率from 歌曲,专辑,排行where 点击率=45 and 歌曲.歌手名=专辑.歌手名 and 歌曲.歌名=歌曲.歌名;查询结果如下图:图5-1结果图第二节 查询各个音乐系统中歌曲及专辑每个歌手都会出专辑,所以歌曲之间都存在竞争:select 歌曲.歌名,count(*) as 点击率,歌曲.歌手名from 歌曲,排行where 点击率=45and 曲.歌名=歌曲.歌名group by 歌曲.歌名,歌曲.歌手名;查询结果如下图:图5-2结果图第三节 查询所有正在使用的用户及用户所听的歌曲名用户会听歌,所以在用户,歌曲,排行三表之间进行歌曲查询:select 姓名,歌曲名from 用户,歌曲,排行where 点击率=45 and 歌曲.歌名=歌曲.歌名查询结果如下图所示:图5-3结果图第四节 删除模拟(将歌曲妹子加入到删除表)对歌曲进行删除: insert into 歌曲 values(妹子,张杰, 4.05, 3MB);set 歌手名=张杰where 歌名=大哥此时查看歌曲中的所有歌曲信息。select 歌曲.歌名,歌曲.歌手名,时长,大小,冷门from 歌曲,删除where 大小=3MBand 歌曲.歌手名=删除.歌手名图5-4结果图发现已经没有大哥,这首歌了。查看所有歌曲。select歌曲.歌名,歌曲.歌手名,时长,大小,冷门from 歌曲,删除where 歌手名=张杰and 歌曲.歌手名=删除.歌手名;图5-5结果图发现歌曲大哥没了,说明删除操作正确。第五节 加入模拟(歌曲青春加入)加入歌曲:insert into 歌曲 values(青春,许嵩, 4.05, 3MB);set 大小=3MBwhere 歌手名=许嵩;查询所有歌曲。select歌曲.歌名,歌曲.歌手名,时长,大小,冷门from 歌曲,加入where 歌手名=许嵩;结果如下:图5-6结果图发现青春加入到了歌曲表中。查看所有歌曲。Select 歌曲.歌名,歌曲.歌手名,时长,大小,热度from 歌曲,加入where 歌曲=青春and 歌曲.歌手名=加入.歌手名;图5-7结果图对比前次查询结果,发现歌曲青春已在歌曲表中。第六章 系统实现第六章 系统实现仓库管理系统采用了模块化的设计方法,选择了面向对象的、易于扩展的c#编程语言环境以及大型客户机/服务器数据库(MS SQL Server2000)的数据平台。 第一节 系统的开发、运行平台及结构6.1.1系统的开发及运行平台操作系统:Microsoft Windows XP。数据库服务器:Microsoft SQL Server2000。开发工具:c#。6.1.2主要开发技术1、开发工具C#是微软开发的编程环境,是一种快捷、广泛、功能强大的开发工具,其与各种数据库引擎相结合使很多数据的连接、操作变的简单,使程序员很容易。Microsoft SQL server 2000是微软公司开发的一个高性能的、多用户的关系型数据库管理系统,是当前比较流行的数据库服务器系统之一。第二节 系统的实现1.此界面是登陆界面设计,如图所示:图6-1登陆界面2.流行金曲界面。如图所示:图6-2流行金曲界面3.欧美经典界面。如图所示:图6-3欧美金典界面4. 音乐排行界面。如图所示:图6-4音乐排行界面总结总结通过本次实验,我对数据库的需求分析,ER图的设计等步骤更加熟悉,对平时学习的数据库的知识也得到进一步的巩固,分析和解决信息系统的能力得到了极大的提升。系统基本可以实现如下功能:在该数据库实例采用视图、索

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论