点歌管理系统数据库设计_第1页
点歌管理系统数据库设计_第2页
点歌管理系统数据库设计_第3页
点歌管理系统数据库设计_第4页
点歌管理系统数据库设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、点歌管理系统数据库设计1需求分析1.1整体功能描述点歌管理系统能够存储歌曲,并按多种不同方式査找歌曲,如歌曲名,歌手 名,歌曲类型,歌曲语言等等,并能够方便的对歌曲库进行管理,如歌曲的増加 和删除。具体的功能需求如下。歌曲管理:(1)添加歌曲:用户可以在系统中增加歌曲,在増加之前必须填写完整 歌曲的属性。(2)删除歌曲:用户可以删除系统中已经存在的歌曲。(3)修改歌曲属性:用户可以自由修改系统中已经存在的歌曲的属性。 歌曲的属性包括:歌曲的存放的位置,歌曲名字,歌手名字,曲风 类型,歌曲语言。歌手信息管理:(4)添加歌手:用户可以向系统増加歌手的信息。(5)删除歌手:用户可以删除系统中的歌手信

2、息。(6)修改歌手信息:用户可以修改歌手的信息。歌手信息包括:歌手名字,所属地区,性别。查找歌曲方面的:(7)按歌曲名查找:用户给定歌曲的名字,系统返回歌曲的信息。(8)按歌手名查找:用户给定歌手的名字,系统返回该歌手的所有歌曲。(9) 按歌曲类型查找:用户给定歌曲的类型,系统返回该类型所有歌曲。(10) 按歌曲语言类型查找:用户给定歌曲的语言类型,系统返回该语言 类型的所有歌曲。查找歌手方面:(11) 按性别查找:用户给定歌手的性别(男或女),系统返回符合条件的 歌手信息。(12) 按地区查找:用户给定歌手的所属地区,系统返回符合条件的歌手 信息。(13) 按名字查找:用户给定歌手的名字,系

3、统返回符合条件的歌手信息。 系统安全性:(14) 登录系统:系统对用户的身份进行验证,授权用户才能操作系统。1.2数据流图(1)根据系统的功能需求,可以画出系统的第1层数据流图。图1点歌管理系统第1层数据流图(2)在系统的第1层数据流图之后,再画出系统的第2层数据流图。图3删除歌曲图4修改歌曲信息图5修改歌曲信息(3)以上只是给出了一部分功能的数据流图,其它的数据图和给出的数据流图的流程大体相似。13数据字典名字帐号别名无描述用于系统的身份验证定义帐号=帐号编号+密码+用户名位直帐号记录表图6帐号数据定义名字帐号编号别名无描述唯一确定一个帐号定义帐号编号=正整数位直帐号记录表图7帐号编号数据定

4、义名字密码别名无描述帐号的密码定义密码=字符串位直帐号记录表图8密码数据定义名字用户名别名无描述帐号的用户名字定义用户名=字符串位直帐号记录表图9用户名数据定义名字歌曲别名无描述描述歌曲的属性定义歌曲=歌曲编号+歌曲的存放路径+歌曲名字+歌手编号+歌曲类型 +歌曲语言位直歌曲信息记录表图10歇曲数据定义名字歌曲编号别名无描述确定唯一首歌曲定义歌曲编号=正整数位直歌曲记录图11歌曲编号数据定义名字歌曲的存放位直别名无描述描述歌曲所在的文件夹定义歌曲的存放位直=磁盘中的路径格式位直歌曲记录图12歆曲存放位置数据定义名字歌曲名字别名无描述描述歌曲的名字定义歌曲名字=字符串+音频文件扩展名位直歌曲记录

5、图13歆曲名字敖据定义名字曲风类型别名无描述描述歌曲的曲风类型定义曲风类型=流行咅乐1民族咅乐1摇滚音乐1爵士咅乐位直歌曲记录图14曲风类型敖据定义名字歌曲语言别名无描述描述歌曲的演唱语言种类定义歌曲类型=粤语1国语丨英语1日语1韩语位直歌曲记录图15融:曲语言数据定义名字歌手别名无描述描述歌手的信息定义歌手=歌手编号+歌手名字+所属地区+性别位直歌手信息记录表图16耿手数据定义名字歌手编号别名无描述唯一确定一个歌手的标识符定义歌手编号=字符串位直歌手记录图17歌手编号数据定义名字歌手名字别名无描述描述歌手的名字定义歌手名字=字符串位直歌手记录图18歌手名字数据定义名字所属地区别名无歌于编号描

6、述描述歌手工作的地方定义所属地区=字符串位直歌手记录图19所属地区数据定义名字性别别名无描述描述歌手的性别定义性别=男1女位直歌手记录图20性别数据定义2概念设计2.1局部视图设计对需求分析阶段收集到的数据按照E-R模型的要求进行分类,组织,形成实体,实体的属性,标识实体的码,确定实体之间的联系类型设计分E-R图。图21 ER实体歌曲名字图22歌曲属性图图23歌手属性图图24帐号属性图3逻辑设计3.1 E-R图向关系模型的转换在这个阶段,逻辑设计的主要任务就是要将上一步得到的E-R图向关系模型 转换,将实体和实体型间的联系转换为关系模式,确定这些模式属性和码。将E-R图转换后,得到的关系模式如

7、下,画有下划线的为主码:歌曲(歌曲编号,歌曲名字,歌曲存放位置,曲风类型编号,歌曲语言编号) 曲风类型(曲风类型编号,名字)歌曲语言(歌曲语言编号,名字)歌手(歌手编号,歌手名字,所属地区,性别)演唱(歌曲编号,歌手编号)帐号(帐号编号,用户名,密码)一个视图:视图一歌曲(歌曲名字,歌曲存放位置,曲风类型名字,歌曲语言名字,歌手名字)3.2设计DBMS的数据字典将得到的关系模式转换为MS SQL 2000所支持的数据模型,所得到的表格如下。扁设计表COUNTER,拘晋是Fdersong中、w(local)JJJL列名数据类型1长度允许空|co-unteridini4namerar char20

8、passwordvarchar20IJu图25帐号记录表图26歆手记录表鞠设计表位置是wordersongJ/中* w(local)w_h|数据类型1长度1允许空songidint4namevarchar20varchar1024styleint4lanStyleirit4V图27歆曲记录表W 设计表SONGLANGUAOE 位置是ordersong中* (local)r列名数据类型檢度允许空languagei dint4LrianiQchar107图28曲风类型记录表侖设计表SONGSTYLE,僅置是wordersongJ中.w(local)wstyle idint4Lusechar10列名

9、|数据类型 |长度|允许空图29歆曲语言种类记录表Tffi 设计表TING,位置是wordersongw中 * u(local)wJl图30演唱关系表图31 “视图_歌曲”视图3.2约束条件本系统选择的数据库管理系统为MS SQL 2005o(1) 演唱关系表的主键为(songid, singerid)同时songid为SONG(songid)的外码,singerid 为 SINGER (singerid)的外码。(2) 所有的关系表的主键都为自动递増的正整数,演唱关系表的主键例 外。(3) SONG (style)为 SONGSTYLE (sytleid)的外码,SONG(lanStyle)

10、 为 SONGLANGUANGE(languageid)的外码。(4) SONG(sex)只能为M或者F。(5) SONGLANGUAGE(name)的值唯一。(6) SONGSTYLE(name)的值唯一。4物理设计本系统选择的数据库管理系统为MSSQL2000o数据库的存取方法,存取 路径没有特殊要求,按照系统的默认值来设置。索引,聚族,日志,备份等参数, 因为本数据库没有特殊要求,都没设置。5数据库实施阶段由于时间上的限制,本人只是实现了系统的两个功能,一个是“系统的登录”, 另一个是就是“添加歌手”5.1 “添加歌手”功能的代码#pragma once/SingerMan h/ CSi

11、ngerMan命令目标#include class CSingerMan : public CObjectpublic:CSingerMan();CSingerMan(CString name, CString address, CString sex); static bool AddSinger(CSingerMan& singer , CDatabase& db); virtual -CSingerManf);public:CString msingerName;CString m_address;CString m_sex;CString msingerld;/ SingerMan.c

12、pp :实现文件/#inelude ”stdafx.h”#include ”SingSong.h”#include MSingerMan.hM/ CSingerManCSingerMan:CSingerMan()CSingerMan:CSingerMan( CString name, CString address, CString sex )m-singerName=name;in_address=adclress;m_sex=sex;C Singer Man C SingerMan ()bool CSingerMan:AddSinger( CSingerMan& singer , CDat

13、abase& db )if(!db.IsOpen()/ failAfxMessageBoxLT数据库的连接巳经断开,无法执行操作!n请重新登录!); return false;CRecorclset rs(&db);CString strSql;strSql. Format LT(Minsertinto SINGER (name,address,sex ) valuessinger.m_singerName, singer.macldress, singer.m_sex);clb. ExecuteSQL(strSql);return true;二 singcrAddDlg.cpp -料官)4书

14、二include st:dafxl二 艺nclude .singsong二include singerAddDlgh-include .-singcrMarl.h二include Aafxdb.llvextern CDatabase galdb八 二 CSingerAddDlg 洱wtg IMPLEMENTIDYNAMIC(csingerAddDlgCDialog) csingerAddD】gycsingerAddDlg(cwncr pparani、dNULLGetState()m_sex=_T(F);CSingerMan singer(m_singerName,m_address,m_sex

15、); if(CSingerMan:AddSingerfsinger, gal_db)MessageBoxLTC成功添加歌曲!),_T(成功信息”); OnOK();elseMessageBoxLTf添加歇曲失败失败信息”);BOOL CSingerAddDlg: :OnInitDialog()CDialog: :OnInitDialog();/ todo:在此添加额外的初始化CButton* p=(CButton*)(GetDlgItem(IDC_RADIO_MALE); p-SetCheck(TRUE);m_sex=_T(M”);return TRUE; / return TRUE unle

16、ss you set tlie focus to a control /异常:OCX属性页应返回FALSE5.2程序运行图无标康- Singsong图32系统初始界面系统登录用戶名:密码:确定取消图33系统登录图34添加馭手5自我评价与总结总的来说,这次的课程设计的难度比较大。一个课程设计,是对该们课程的 一次实践,是一次具体的动手能力的考验,是理论联系实践的一个过程。数据 库系统原理是一门比较难的课程,课程设计自然而然的就比较难了。做这个课程设计时,老师只是给了我一个题目和一些简短的需求描述,但是 要完成一个系统的设计,这些需求是远远不够的。通过在网上搜索资料,去图书 馆翻阅文献,最终把功能需求确定下来了。有了需求描述,接下来的几个阶段都 是比较好实现的,但是到了数据库实施这一步时,

温馨提示

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

评论

0/150

提交评论