




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、点歌管理系统数据库设计1 需求分析整体功能描述点歌管理系统能够存储歌曲, 并按多种不同方式查找歌曲, 如歌曲名, 歌手 名,歌曲类型,歌曲语言等等,并能够方便的对歌曲库进行管理,如歌曲的增加 和删除。具体的功能需求如下。1)歌曲管理: 添加歌曲:用户可以在系统中增加歌曲,在增加之前必须填写完整歌曲的属性。2)删除歌曲:用户可以删除系统中已经存在的歌曲。修改歌曲属性:用户可以自由修改系统中已经存在的歌曲的属性。歌曲的属性包括:歌曲的存放的位置,歌曲名字,歌手名字,曲风 类型,歌曲语言。歌手信息管理:添加歌手:用户可以向系统增加歌手的信息。5)删除歌手:用户可以删除系统中的歌手信息。6)修改歌手信
2、息:用户可以修改歌手的信息。歌手信息包括:歌手名字,所属地区,性别。查找歌曲方面的:7)按歌曲名查找:用户给定歌曲的名字,系统返回歌曲的信息。按歌手名查找: 用户给定歌手的名字, 系统返回该歌手的所有歌曲。9)按歌曲类型查找: 用户给定歌曲的类型, 系统返回该类型所有歌曲。10)按歌曲语言类型查找:用户给定歌曲的语言类型,系统返回该语言类型的所有歌曲。查找歌手方面:(11)按性别查找:用户给定歌手的性别(男或女),系统返回符合条件的歌手信息。(12) 按地区查找:用户给定歌手的所属地区,系统返回符合条件的歌手信息。(13)按名字查找:用户给定歌手的名字,系统返回符合条件的歌手信息。系统安全性:
3、(14)登录系统:系统对用户的身份进行验证,授权用户才能操作系统。数据流图(1)根据系统的功能需求,可以画出系统的第 1层数据流图。图1点歌管理系统第1层数据流图(2)在系统的第1层数据流图之后,再画出系统的第 2层数据流图。歌曲已存在,添加失败添加成功信息图3删除歌曲图4修改歌曲信息歌曲信息歌曲1r歌曲 厂查找参数(用户查找歌曲的参接受查查找歌显示歌V.歌曲不存在信息歌曲用户图5修改歌曲信息(3)以上只是给出了一部分功能的数扌吾流图, 其它的数据图和给出的数据流图的流程大体相似。数据字典名字帐号别名无描述用于系统的身份验证定义帐号=帐号编号+密码+用户.名位置帐号记录表图6帐号数据定义名字帐
4、号编号别名无描述唯一确定一个帐号定义帐号编号=正整数位置帐号记录表图7帐号编号数据定义名字密码别名无描述帐号的密码定义密码=字符串位置帐号记录表图8密码数据定义名字用户名别名无描述帐号的用户名字定义用户名=字符串位置帐号记录表图9用户名数据定义名字歌曲别名无描述描述歌曲的属性定义歌曲=歌曲编号+歌曲的存放路径+歌曲名字+歌手编号+歌曲类型+ 歌曲语言位置歌曲信息记录表图10歌曲数据定义名字歌曲编号别名无描述确定唯一首歌曲定义歌曲编号=正整数位置歌曲记录图11歌曲编号数据定义名字歌曲的存放位置别名无描述描述歌曲所在的文件夹定义歌曲的存放位置=磁盘中的路径格式位置歌曲记录图12歌曲存放位置数据定义
5、名字歌曲名字别名无描述描述歌曲的名字定义歌曲名字=字符串+ : +音频文件扩展名位置歌曲记录图13歌曲名字数据定义名字曲风类型别名无描述描述歌曲的曲风类型定义曲风类型-流行音乐1民族音乐1摇滚音乐1爵士音乐位置歌曲记录图14曲风类型数据定义名字歌曲语言别名无描述描述歌曲的演唱语言种类定义歌曲类型-粤语1国语1英语1日语1韩语位置歌曲记录图15歌曲语言数据定义名字歌手别名无描述描述歌手的信息定义歌手=歌手编号+歌手名字+所属地区+性别位置歌手信息记录表图16歌手数据定义名字歌手编号别名无描述唯一确定一个歌手的标识符定义歌手编号=字符串位置歌手记录图17歌手编号数据定义名字歌手名字别名无描述描述歌
6、手的名字定义歌手名字=字符串位置歌手记录图18歌手名字数据定义名字所属地区别名无描述描述歌手工作的地方定义所属地区=字符串位置歌手记录图19所属地区数据定义名字性别别名无描述描述歌手的性别定义性别=男1女位置歌手记录图20性别数据定义2概念设计局部视图设计对需求分析阶段收集到的数据按照E-R模型的要求进行分类,组织,形成实体,实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分E-R图。图21 E-R实体歌手编号图22歌曲属性图图23歌手属性图图24帐号属性图3逻辑设计E-R图向关系模型的转换在这个阶段,逻辑设计的主要任务就是要将上一步得到的 E-R图向关系模型转
7、换,将实体和实体型间的联系转换为关系模式,确定这些模式属性和码。将E-R图转换后,得到的关系模式如下,画有下划线的为主码:歌曲(歌曲编号,歌曲名字,歌曲存放位置,曲风类型编号,歌曲语言编号)曲风类型(曲风类型编号,名字)歌曲语言(歌曲语言编号,名字)歌手(歌手编号,歌手名字,所属地区,性别)演唱(歌曲编号,歌手编号)帐号(帐号编号,用户名,密码)一个视图:视图_歌曲(歌曲名字,歌曲存放位置,曲风类型名字,歌曲语言名字,歌手名字)设计DBMS勺数据字典将得到的关系模式转换为 MS SQL 2000所支持的数据模型,所得到的表格如下。图25帐号记录表图26歌手记录表图27歌曲记录表图28曲风类型记
8、录表图29歌曲语言种类记录表图30演唱关系表图 31 “视图 _歌曲” 视图约束条件本系统选择的数据库管理系统为 MS SQL 2005。演唱关系表的主键为( songid , singerid )同时 songid 为 SONGsongid )的外码, singerid 为 SINGER(singerid )的外码。所有的关系表的主键都为自动递增的正整数,演唱关系表的主键例 外。SONG(style )为 SONGSTY(LEsytleid )的外码, SONG(lanStyle ) 为 SONGLANGUANGE(languaged外码。SONG(sex只能为M或者F'。5)SON
9、GLANGUAGE( nam值唯一。SONGSTYLE( name值 唯一。4 物理设计本系统选择的数据库管理系统为 MS SQL 2000。数据库的存取方法,存取路径没有特殊要求,按照系统的默认值来设置。索引,聚族,日志,备份等参数, 因为本数据库没有特殊要求,都没设置。5 数据库实施阶段由于时间上的限制,本人只是实现了系统的两个功能,一个是“系统的登录”, 另一个是就是“添加歌手”添加歌手”功能的 代码#pragma once/ CSingerMan 命令目标#include <> class CSingerMan : public CObject public:CSinger
10、Man();CSingerMan(CString name, CString address, CString sex);static bool AddSinger(CSingerMan& singer , CDatabase& db);virtual CSingerMan();public:CString m_singerName;CString m_address;CString m_sex;CString m_singerId;/ : 实现文件/#include "" #include "" #include ""
11、;/ CSingerManCSingerMan:CSingerMan()CSingerMan:CSingerMan( CString name, CString address, CString sex )m_singerName=name;m_address=address;m_sex=sex;CSingerMan:CSingerMan() bool CSingerMan:AddSinger( CSingerMan& singer , CDatabase& db )if(!()/ failAfxMessageBox(_T(" 数据库的连接已经断开,无法执行操作 !n
12、 请重新登录! ");return false;CRecordset rs(&db);CString strSql;(_T("insert into SINGER (name,address,sex ) values ('%s','%s','%s')"),(strSql);return true;/ : 实现文件/#includeHH#includeHH#includeHH#includeHH#include<>extern CDatabase gal_db;/ CSingerAddDlg 对话框
13、IMPLEMENT_DYNAMIC(CSingerAddDlg, CDialog)/*=NULL*/ )CSingerAddDlg:CSingerAddDlg(CWnd* pParent: CDialog(CSingerAddDlg:IDD, pParent), m_singerId(_T("" ), m_singerName(_T( "" ), m_address(_T( "" )CSingerAddDlg:CSingerAddDlg()voidCSingerAddDlg:DoDataExchange(CDataExchange*
14、pDX)CDialog:DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT_SINGERID, m_singerId);DDX_Text(pDX, IDC_EDIT_SINGERNAME, m_singerName);DDX_Text(pDX, IDC_EDIT_ADDRESS, m_address);BEGIN_MESSAGE_MAP(CSingerAddDlg, CDialog)ON_BN_CLICKED(IDOK, &CSingerAddDlg:OnBnClickedOk)END_MESSAGE_MAP()/ CSingerAddDlg 消息处理
15、程序void CSingerAddDlg:OnBnClickedOk()/ TODO: 在此添加控件通知处理程序代码UpdateData( true );CButton* p=(CButton*)GetDlgItem(IDC_RADIO_MALE);if (!p->GetState()m_sex=_T("F" );CSingerMan singer(m_singerName,m_address,m_sex);if (CSingerMan:AddSinger(singer, gal_db)MessageBox(_T( " 成功添加歌曲 !" ),_T
16、( " 成功信息 ");OnOK();elseMessageBox(_T( " 添加歌曲失败 !" ),_T( " 失败信息 ");BOOL CSingerAddDlg:OnInitDialog()CDialog:OnInitDialog();/ TODO: 在此添加额外的初始化CButton* p=(CButton*)(GetDlgItem(IDC_RADIO_MALE);p->SetCheck(TRUE);m_sex=_T("M" );return TRUE; / return TRUE unless y
17、ou set the focus to a control/ 异常 : OCX 属性页应返回 FALSE程序运行图图 32 系统初始界面图 33 系统登录图 34 添加歌手5 自我评价与总结总的来说, 这次的课程设计的难度比较大。 一个课程设计, 是对该们课程的一次实践,是一次具体的动手能力的考验,是理论联系实践的一个过程。数据库系统原理是一门比较难的课程,课程设计自然而然的就比较难了。做这个课程设计时, 老师只是给了我一个题目和一些简短的需求描述,但是要完成一个系统的设计, 这些需求是远远不够的。 通过在网上搜索资料,去图书馆翻阅文献,最终把功能需求确定下来了。 有了需求描述, 接下来的几个阶段都是比较好实现的, 但是到了数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工电子技术 课件全套 潘学海 1 手电筒电路的连接与测试 -16.流水灯电路的整体安装与调试
- 计算机安全技术-4操作系统安全
- SCI论文写作与投稿 第2版-课件汇 0-课程介绍 -7 SCI论文摘要写作
- 妇产科围手术期护理讲课
- 家具店长培训
- 2025届上海崇明区高考二模高考数学试卷试题(含答案详解)
- 广东省韶关市乐昌市2025届高三下学期2月模拟演练测验语文试题(含答案)
- 内科病房住院制度管理
- 基层管理者品质培训
- 护理人才培养工程申请汇报
- 山西安全资料地标表格
- 心理学专业英语总结(完整)
- 新人教版七年级初一数学下册第一二单元测试卷
- 白内障手术操作规范及质量控制标准(2017版)
- 《电子商务法律法规》课程标准
- 淡化海砂项目规划实施方案(76页)
- 中药饮片储存与养护
- 声屏障施工方案、方法与技术措施
- 蜡疗技术PPT课件
- 友商S6实施五部曲销售流程仓库管理流
- 2021年北京专升本英语真题及答案
评论
0/150
提交评论