小型点歌管理系统的设计与实现 计算机论文.doc
本科毕业设计(论文)题目: 小型点歌管理系统的设计与实现院 (系): 计算机科学与工程学院_专 业: 计算机科学与技术 班 级: 090602 学 生: 姚双双 学 号: 090602130 指导教师: 茹 媛 2013年 6月西安工业大学毕业设计(论文)任务书院(系) 计算机学院 专业 计算机科学与技术 班 090602 姓名 姚双双 学号090602130 1.毕业设计(论文)题目: 点歌管理系统 2.题目背景和意义:随着人民生活水平的提高,娱乐业在服务行业中占有越来越重要的地位,能够在娱乐行业激励的竞争中脱颖而出,独树一帜已成为每位娱乐经营者所追求的目标。其中去KTV唱歌是深受广大消费者喜爱的娱乐活动。该系统能方便顾客进行选歌。给顾客提供舒适的环境。吸引顾客来消费,提高营业而流量。另一方面能帮助系统管理者管理歌曲,提高歌曲点唱的效率。3.设计(论文)的主要内容(理工科含技术指标): 本系统前端开发工具采用目前较流行的VisualC+ 6.0,后台数据库系统SOL server 2005,该系统的运行平台是Windows。 本系统总体分为选歌功能,播放操作,管理功能三个部分。选歌功能实现多种方式的点歌;播放操作主要实现对当前播放歌曲的音量,播放模式;管理功能实现对数据库的操作.4.设计的基本要求及进度安排(含起始时间、设计地点):本次课题从2011年2月20日开始,在校内完成,具体的进度安排如下: 第13周:查阅书籍资料,学习相关软件,准备开题报告。 第4周: 分析设计任务,设计总体方案。 第512周: 模块设计、完成3000个单词以上的相关外文资料翻译;中期总结。 第1315周: 模块设计、系统调试。 第1617周: 系统测试、撰写毕业论文。 第18周: 对论文排版和打印,制光盘;论文答辩。 5.毕业设计(论文)的工作量要求 实验(时数)*或实习(天数): 上机300学时 图纸(幅面和张数)*: 其他要求: 指导教师签名: 2012年 12月07日 学生签名: 年 月 日 系(教研室)主任审批: 年 月 日说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。2 带*项可根据学科特点选填。摘 要仿照模板论文,以及 任务书的3.设计(论文)的主要内容 来写。随着人们生活质量的提高,对精神生活的追求日益迫切,各种娱乐活动应运而生酒吧、KTV等娱乐业在服务行业中占有越来越重要的地位,点歌系统是为KTV场所开发的视频歌曲点唱软件。该系统能方便顾客进行点歌,给顾客提供舒适的环境,吸引顾客来消费,提高营业额流量。另一方面能帮助系统管理员管理歌曲,提高KTV点唱的效率。本系统是模拟KTV开发一个点歌管理系统,前端开发工具采用VisualC+ 6.0,后台数据库系统SOL server 2005。 本系统总体分为选歌功能,播放操作,管理功能三个部分。选歌功能实现多种方式的点歌;播放操作主要实现对当前播放歌曲的音量,播放模式;管理功能实现对数据库的操作. 关键词:AbstractAs people life quality improvement and pursuing for the life of the mind is imperative, all kinds of entertainment arises at the historic moment. Bars, KTV etc recreation in service industry plays a more and more important position, increasingly by put on the agenda. However, we have to our new generation entertainment "dawdler" human-based demand also restrictive, for entertainment for the operator, and can meet the demand of the consumers in the fierce competition, unique and also streamline personnel, lower operating cost is also pretty necessary. The song system is developed for KTV places video songs point sing software. The system can convenient customer in the song, give customers with comfortable environment, attract customers to consume, improve sales flow. On the other hand can help system administrator management, improve the KTV sing songs. The efficiency point This system is simulated KTV develop a song management system. Design guiding ideology is everything for users consider, interface should beautiful and easy, simple operation, and as far as possible as a use of management system should have good fault-tolerance in error is, can timely warning, so that users to rectify. In view of this system entertaining, but it needs to be good song interface. These functions of the module is system of main problems to solve. Through the original requirement analysis, revising, until customer satisfaction improvement of feasible system formed. Keywords: The KTV sing song system ,video songs point correction ,improvement 第一章 绪论1.1 课题背景 随着人们生活水平的提高,人们的业余生活也发生了巨大的变化,去KTV唱歌便成了很多人在工作之余的娱乐休闲方式。而传统歌厅中的设施在逐渐地老化,由于LD机器的停产和LD片源全部依赖于进口,成本较高,造出用户经济上的负担过重,而且老歌特别多,新歌很少,点歌方式也很原始,速度很慢,而且经常出现抢歌现象,这样就给人们的休闲情绪蒙上了一层阴影。随着科学的发展和信息时代的到来,利用高新技术来实现点歌系统娱乐城设备的革命性建设是完全可能的,而且可以满足消费者的多种需求。本文将使用VC+制作一个KTV点播系统以实现人们对于点歌系统的需求。 1.2课题研究现状点歌系统展开介绍一下点歌系统的前世今生从很早以前就开始进行研发与应用,经过多年的经验摸索,不断地完善改进和升级,使得它更安全、更稳定、更完善。无论夜总会型,还是量贩式型的KTV都可以使用,该系统加上优质的歌库,并与点歌辅助工具和外围歌厅设备一起使用时,可称之为一套功能强大、可靠性高、实用性好、画优音美的点歌系统,绝对领导着KTV点歌设备的新潮流。 全套系统是架构在计算机网络上的,由电脑来管理,极大地提高了经营效率。该系统从歌曲录制编辑、歌曲库的生成、点歌软件的功能、界面的多样性和美观性、客人的使用人性化、前后台管理的多样性和方便性、与各种外围点歌设备的结合、有各类歌曲的提供等方面,形成了完整的解决方案,是一套集成的全面先进的系统。第二章 系统开发环境及相关技术2.1系统开发环境 本系统主要应用了ADO数据库连接,ADO对象操作数据库的技术,开发此点歌管系统 所需用到的软件环境如下: 1.操作系统:Windows XP 2.数据库:SQL Server 2005。SQL Server 2005不仅为不同规模的企业提供快速构建各类商业只能解决方案,还具有较好系统的集成性及对日常任务的自动化管理能力。鉴于以上优点,选择SQL Server 2005作为数据库管理系统。 3.编译工具:Visual C+6.0编译速度快,程序调试方便。它引入MFC类和一些实用开发工具,降低了编码的复杂性,便于快速开发出点歌管理系统。2.1 ADO技术简介ADO(active data object,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口技术,并以OLE DB(对象连接和镶入的数据库)为基础,经过OLE DB精心包装后的数据库访问技术,利用它可以快速的创建数据库应用程序。ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLE DB Privider,所以ADO不仅可以应用自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序。2.1.1用ADO访问数据元的特点 1.易于使用,可以说这是ADO最重要的特点之一。 2.ADO 是高层数据库访问技术,相对与ODBC来说,具有面性对象的特点。同时,在 ADO 对象结构中,对象与对象之间的层次结构不适非常明显,比如,在应用程序中如果要使用记录集对象,不一定要先建立连接、会话对象,如果需要就可以直接构造记录集对象。总是,已经没有必要去关心对象的构造层次和构造顺序了。 3.可以访问多种数据源。和 OLE DB 一样,使应用程序具有很好的通用性和灵活性。 4.访问数据源效率高。 5.方便的Web应用。ADO 可以以 ActiveX 控件的形式出现,这就大大方便了Web应用程序的编制。 6.技术编程接口丰富。 ADO 支持 Visual C+、Visual Basic、VBS、JS等。2.1.2 ADO 的对象 Connection 用于表示和数据源的连接,以及处理一些命令和事务。 Command 用于执行某些命令来进行诸如查询、修改数据库结构的操作。 Recordset 用于处理数据源的表格集,它是在表中修改、检索数据的最主 要的方法。 Field 描述数据集中的列信息。 Parameter 用于对传递给数据源的命令赋参数值。 Error 用于承载所产生所无的详细信息。 Property 通过属性,每个ADO对象借此来让用户描述和控制自身的行为。 Set 集合是一种可以方便的包含其他特殊类型对象的对象类型。 ADO 提供4种类型的集合: Connection 对象具有Error集合。 Command 对象具有Parameter集合。 Recordset 对象具有Fields集合。 Connection、 Command、Recordset、Field 对象都具有Property集合。 Event 事件模型是异步操作的基础,这是 ADO 2.0 引进的新特性。2.1.3在Visual C+中使用 ADO 基本流程 (1)初始化COM库,引入ADO库定义文件 (2)用Connection对象连接数据库 (3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。 (4)使用完毕后关闭连接释放对象。 2.1.4 ADO常用的数据库连接方法:(1)通过JET数据库引擎对ACCESS2000数据库的连接m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:test.mdb","","",adModeUnknown);(2)通过DSN数据源对任何支持ODBC的数据库进行连接:m_pConnection->Open("Data Source=adotest;UID=sa;PWD=;","","",adModeUnknown);/m_pConnection->Open("DSN=test;","","",0); /连接叫作test的ODBC数据源(3)不通过DSN对SQL SERVER数据库进行连接:m_pConnection->Open("driver=SQL Server;Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139","","",adModeUnknown);其中Server是SQL服务器的名称,DATABASE是库的名称2.1.5 ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_RecordserPtr来实现。用_ConnectionPtr操作时要想得到记录条数得遍历所有记录,而用_RecordserPtr时不需要。_CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。2.2 SQL Server 2005简介 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。Microsoft 仔细倾听了您的反馈,并对行业进行了认真研究,全世界的 Microsoft 研究团队共同努力,经过创造性思索才最终向您奉献出这一引入了上百种新增功能或改进功能的 SQL Server 2005。这些功能将有助于您在以下三个主要方面提高业务:企业数据管理SQL Server 2005 针对行业和分析应用程序提供了一种更安全可靠和更高效的数据平台。SQL Server 的最新版本不仅是迄今为止 SQL Server 的最大发行版本,而且是最为可靠安全的版本。开发人员生产效率SQL Server 2005 提供了一种端对端的开发环境,其中涵盖了多种新技术,可帮助开发人员大幅度提高生产效率。商业智能SQL Server 2005 的综合分析、集成和数据迁移功能使各个企业无论采用何种基础平台都可以扩展其现有应用程序的价值。构建于 SQL Server 2005 的 BI 解决方案使所有员工可以及时获得关键信息,从而在更短的时间内制定更好的决策。2.3 C/S模式结构简介 C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。2.4 Visual C+6.0MFC简介 vc+是Windows平台上的C+编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。Windows下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其基本原理等等。VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说 VC+不是门语言,虽然它和C+之间有密切的关系,如果形象点比喻的话,可以C+看作为一种”工业标准”,而VC+则是某种操作系统平台下的”厂商标准”,而”厂商标准”是在遵循”工业标准”的前提下扩展而来的。VC+应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势。 MFC借助C+的优势为Windows开发开辟了一片新天地,同时也借助ApplicationWizzard使开发者摆脱离了那些每次都必写基本代码,借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。更令人兴奋的是利用C+的封装功能使开发者摆脱Windows中各种句柄的困扰,只需要面对C+中的对象,这样一来使开发更接近开发语言而远离系统。(但我个人认为了解系统原理对开发很有帮助) 正因为MFC是建立在C+的基础上,所以我强调C/C+语言基础对开发的重要性。利用C+的封装性开发者可以更容易理解和操作各种窗口对象;利用C+的派生性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;利用虚拟性可以在必要时更好的控制窗口的活动。而且C+本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。 在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。第三章 系统分析3.1可行性分析可行性分析是对项目的可行程度进行分析,以便管理层对技术及资金的投入进行决策。其主要包括技术可行性,经济可行性,操作可行性,营运可行性等。通过对需求分析的研究,对本项目做如下的可行性分析。 3.1.1技术可行性 技术方面的可行性就是根据现有的技术条件,能否实现系统的各项要求。设备上,该系统对所需的硬件设备,如服务器、PC机等的性能要求一般,现有设备的性能完全能够满足系统功能的要求;软件上,本系统属于数据库应用程序,本系统需要一个数据库服务器及其运行的操作系统平台,根据客户的数据量并不是十分巨大,选择SQL Server 2005作为数据库可以满足系统对数据库的要求,安全性好,效率高。这些软件在中小型MIS开发中已被大量应用,技术上都比较成熟,因此技术上是可行的。3.1.2经济可行性从项目提出者的发面来说,根据实际的需求,开发本系统,不但可以提高公司的管理水平,也可以提高消费者的点歌效率,为消费者提供便利,舒适的环境,增加顾客的流量,给公司带来潜在的利润,所以从经济上来说是完全可行的。另一方面,对该系统的开发既能增加项目开发公司的技术储备,又能提高对同类项目开发的熟练程度。3.1.3操作可行性 本系统采用Windows图形界面,是大家的熟悉的操作系统,对于用户,只需要具有一般计算机知识的人员都可以轻松上手。而且整个系统采用最友好的交互界面,简洁明了,不需要对数据库非常了解也可以熟练操作。再有就是操作上以后可以加载到触屏的终端上,这样就更可以使得操作更加的友好。3.2需求分析3.2.1 小型点歌管理系统就是针对点歌用户开发而成,本系统的宗旨是使KTV的歌曲管理工作更加科学、合理的规划,系统、高效的实施。在用户操作部分能实现根据歌手的地区,性别,歌手的拼音,歌曲的名字数,歌曲类别查询;可以查看或者编辑播放列表,也可以删除单首歌曲;还可以根据自己的喜好选择播放模式。管理员也可以对歌库进行管理操作,并且实现用户的结账付费功能。此系统可以方便快捷的管理这些琐碎的数据和琐碎的事务,使点歌质量得到有效的保障。 点歌系统的用户主要分为:消费者.管理员以及系统维护人员。各用户具体操作时实现的功能如下表所示: 表 1-1 用户一览表用户类型说明代表消费者该类用户直接操作系统的客户端点歌系统部分,与点歌系统直接进行交互消费者管理员该类用户有权限添加或删除系统内的相关的曲目,对系统进行操作,且可以获取每一个包厢的点歌状况信息前台工作人员系统维护人员该类用户有权限对系统进行更新维护维护员工3.2.2系统功能需求 系统主要分为服务器端和客户端。通过管理人员对服务器端的控制,管理点歌系统歌曲数据库并且同时实现给用户开包厢,查看包厢使用时间等功能;启动服务器端程序后,客户端可进行即点即播(即零等待)的点歌操作,并且多个客户端可同时点播同一首歌曲。1系统客户端的主要功能 系统客户端的主要功能是:用户可以根据个人爱好通过包房电脑及该软件查询(包括歌星查询、拼音查询、字母查询、组合查询等查询方式)所需要的歌曲,了解歌星的简介、播放歌曲、控制歌曲、等,同时,系统的功能区与显示信息区分开,使用户在使用上更简便,系统功能上更强大。点歌系统对于客户端的主要需求功能有播放,暂停,点歌,控制音量等,各部分的功能描述如下图所示:2-1 客户端需求规定编号功能(类)名称功能描述重要程度1播放 播放歌曲A2暂停 停止播放的歌曲A3点歌按歌星 按照歌星名字点歌A4按歌曲名 按照歌曲名点歌 B5按分类 按照分类点歌B6按拼音 按照拼音点歌B7主菜单 显示客户端主界面A8音量 调整播放歌曲的音量大小A2服务器端的主要功能通过管理员进行系统歌库中的歌曲管理,如添加、编辑、删除等。并且根据系统所能提供的服务内容供消费者使用。当该请求有效时需要中央服务器系统进行响应,其服务内容可根据消费者的需求进行设定。系统服务器端的主要需求功能是歌曲的添加和删除等。各部分功能的具体描述如下图所示:编号功能(类)名称功能描述重要程度1添加按歌曲名添加添加新歌A按歌手名歌曲名添加新歌B2删除按歌曲名删除删除已有歌曲A按歌手名删除 删除已有歌曲B 表2-2 服务器功端需求规定3.3 系统业务流程 本套KTV点歌系统软件的编写,是为了设计出一套C/S模式的KTV场所需求的应用和管理软件。软件分为三大部分,点歌部分,数据管理部分和服务器处理部分。点歌部分(客户端)是以桌面软件的形式实现,用户通过与软件的交互,对数据库中的音乐进行查询,并对自己喜欢的歌曲进行点播。消费者实现的点歌功能基本包括歌曲的增加,删除以及查找等功能。其基本的用例图如下图所示:在管理部分中,管理员可以对数据库中的音乐数据进行增加、修改、删除和查询等操作,从而对数据库中的音乐数据进行管理。服务器处理部分(服务器端)则是可视化的操作处理软件,对点歌客户端和管理客户端的请求进行响应,执行相应的查询数据库操作,并向客户端返回所需的数据。管理员的具体的用例图如下图所示:第四章 系统的总体设计4.1系统基本模块设计本系统总体分为选歌功能,播放操作,管理功能3个部分。选歌功能实现多种方式点歌;播放操作主要实现对当前播放歌曲的音量,播放模式,快进,快退等操作;而管理功能实现对数据库的操作和收费操作等,系统整体模块结构图如下:各模块的具体功能如下:播放操作 1.上下一首歌:下移或者上移改变当前歌曲。 2.增减音量:实现对播放音量的控制。 3.快慢进:实现改变播放速度 4.暂停,停止:实现对播放的控制 5.播放模式:有单曲循环,单曲播放,顺序播放,列表循环4种播放模式供选择选歌功能 1.播放点歌列表:将已点播的的歌曲显示在主界面上 2.删除歌曲列表:可以删除已点歌曲,分单手删除和全部删除 3.按歌手点歌:根据歌手来自的地区查看,分为港台歌手,大陆歌手,外国歌手 4.按拼音查询:根据用户输入的拼音,对歌手姓名进行模糊查询,显示匹配的歌手 5.按性别查询:根据歌手的性别查询,分为男歌手,女歌手,组合 6.按歌曲类别查询:根据歌曲类别查询,分为流行歌曲,通俗歌曲,外国歌曲,世界名曲 7.按歌曲名字数查询:根据用户输入的数字,对歌曲名字数查询,显示匹配的歌曲管理功能 1.管理员登陆:先登录后进行管理员操作,给消费者点歌 2.开户点歌:有管理员登陆后,设置房间类型和会员卡类型交预付金等 3.添加歌曲:输入歌曲信息,把歌曲文件放入相应路径。 4.删除歌曲:根据各区分为按歌手名拼音删除和按歌曲名字数删除 5.消费金额:根据歌唱时间,包厢类型和用户身份情况计算消费金额4.2系统功能模块流程图点歌管理系统主要由选歌模块,管理模块以及播放操作。选歌模块和管理模块主要实现的是对歌曲的查询功能,播放模块主要是对歌曲信息的调取以及歌曲的播放功能。4.2.1主界面流程图 当用户进入主界面后将面对对歌曲的查询与管理操作,具体内容如下图所示: 当管理员进入系统后主要是实现歌曲数据的修改查询等功能。具体职能如下图所示4.2.2播放控制模块 播放模块主要是用户通过控制界面实现所点歌曲的播放,其中用户与控制界面的交互图如下:4.2.3点歌管理模块 点歌系统对于歌曲的管理主要包括歌曲的删除以及上移下移操作。用户与客户端的交互图如下图所示: 4.2.4服务器处理模块服务器系统包括管理歌曲库,相应的点歌系统模块。分别负责数据库的更新,与客户端数据进行交互。相应的图如下下图的空白框里应该写点什么?数据库?: 4.2.5 各模块之间的交互图点歌管理系统的各模块之间的交互图这幅图需要一点文字介绍如下图所示:第五章:数据库的设计 进行管理系统的设计首先要考虑好如何实现数据库的设计。数据库作为整个系统的基础,要保证其设计的合理性,其中数据表要满足规范化要求。在使用应用系统时,拥有合理的数据库往往起到事半功倍的效果。5.1数据库分析点歌管理系统架构采用CS模式来实现,在某一时刻可能有多个查询操作进行。而且操作比较频繁。因此对数据库的并发性,安全性,共享性等性能要求较高,故采用SQL SERVER 2005作为系统开发的数据库管理系统。数据库处理的的主要对象=是歌曲,而歌曲的类型,歌曲的歌手,歌手的性别等这些属性也是需要考虑的操作对象。对歌曲的播放操作也要能满足普通的消费者的需求。5.2数据库管理系统E-R图根据分析设计的结果,该系统包含的实体有:管理员,用户,歌曲,歌手等。下面将分别介绍各实体及实体间的E-R图。(1)管理员实体可以实现歌曲的管理功能,如:删除歌舞,增加歌曲等。管理员实体E-R图(2) 通过歌曲实体可以获取歌曲的基本信息,如:歌曲的歌手名,歌名以及歌曲类型等。歌曲实体E-R图(3) 歌手实体能够提供歌手的基本信息,如:歌手的姓名,歌手的地区等等。歌手-实体E-R图(4)用户实体可以提供用户当前的消费状况以及他们所处的房间类型和剩余金额等。用户实体E-R图(5)各实体之间紧密相连,例如:消费者与管理员的联系,消费者与歌曲的联系,管理员与歌曲的联系。具体相关的E-R图如下图所消费者与管理员之间缺少“管理”菱形框。还有,图中的菱形框画扁一点,紧凑些。示5.3数据库逻辑设计 根据以上的数据库分析,本系统没有用户表,与er图不符,也不合理。数据库命名为MUSIC,数据库中包含5个表:admin表,singer表,musiclist表,abate表,room表。(1) admin表缺少管理员编号 属性项:用于保存管理员信息。它的主键是管理员名称.名称字段名称数据类型主键非空管理员名称adminnamevarcharYesyes密码Adminpwdvarcharnoyes (2)singer表:用于保存歌手信息,主键是歌手编号。名称字段名称数据类型主键非空歌手编号sinnumintyesyes歌手名sinnamevarcharNoYes歌手性别sinsexcharnoYes歌手地区sinareavarcharnoYes歌手名拼音sinpincharnoYes (3)musiclist表:用于歌曲信息的存储,主键是歌曲编号,外键是歌手编号名称字段名称数据类型主键非空歌手编号singernamevarchar外键Yes歌曲编号singernumintYesyes歌曲名munamevarcharnoYes歌曲名字数mnumintnoYes歌曲类别mtypevarcharnoYes歌曲序列文件名题外话,这个什么意思、有什么用处fnamevarcharnoYes格式formatvarcharnoYes歌曲存储途径musicpathvarcharnoYes(4)usertemp表:用于保存用户表里面没有用户信息,如何区别多个消费者点歌歌曲信息,设置歌曲编号为主键,歌手编号为外键,对歌曲存储途径进行唯一性约束。名称字段名称数据类型主键非空歌曲名tmunamevarcharnoYes歌曲编号tmusicnumintYes自增自增什么意思?不如删掉yes格式tformatevarcharnoYes歌曲序列文件名tfilenameintnoYes歌曲类别tsongtypevarcharnoYes歌手编号