版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 层数据流图。歌曲信息歌曲歌曲用户歌曲接 受 歌歌曲曲信息查 找 歌 歌曲不存在曲添 加 歌曲歌曲已存在,添加失败添加成功信息用户图 2 添加歌曲歌曲信息歌曲删除歌曲用
4、户歌曲接 受 歌曲信息歌曲查 找 歌曲歌曲存在删 除 歌曲歌曲不存在,删除歌曲失败信息.用户专业学习资料.图 3 删除歌曲删除成功信息歌曲信息歌曲歌曲用户歌曲接 受 歌曲信息歌曲查 找 歌歌曲曲修 改 歌曲歌曲不存在,修改失败信息修改成功信息用户图 4 修改歌曲信息歌曲信息歌曲查找歌曲的参数查找参数歌曲接 受 查查 找 歌显 示 歌用户找参数曲曲歌曲不存在信息歌曲用户图 5 修改歌曲信息名字帐号编号别名无描述唯一确定一个帐号定义帐号编号 = 正整数位置帐号记录表名字密码别名无描述帐号的密码定义密码 = 字符串位置帐号记录表(3) 以上只是给出了一部分功能的数据流图 ,其它的数据图和给出的数据流
5、图的流程大体相似。名字帐号别名无描述用于系统的身份验证定义帐号 = 帐号编号 + 密码 + 用户名位置帐号记录表1.3 数据字典图 6 帐号数据定义图 7 帐号编号数据定义名字用户名别名无描述帐号的用户名字定义用户名 = 字符串位置帐号记录表图 9 用户名数据定义图 8 密码数据定义名字歌曲别名无描述描述歌曲的属性定义歌曲 = 歌曲编号 + 歌曲的存放路径+歌曲名字 + 歌手编号 + 歌曲类型+ 歌曲语言位置歌曲信息记录表名字歌曲编号别名无描述确定唯一首歌曲定义歌曲编号 = 正整数位置歌曲记录图 10 歌曲数据定义图 11 歌曲编号数据定义名字歌曲的存放位置别名无描述描述歌曲所在的文件夹定义歌
6、曲的存放位置= 磁盘中的路径格式位置歌曲记录图 12 歌曲存放位置数据定义名字歌曲名字别名无描述描述歌曲的名字定义歌曲名字 = 字符串 +.+ 音频文件扩展名位置歌曲记录图 13 歌曲名字数据定义名字曲风类型别名无描述描述歌曲的曲风类型定义曲风类型= 流行音乐 | 民族音乐 | 摇滚音乐 | 爵士音乐位置歌曲记录图 14 曲风类型数据定义名字歌曲语言别名无描述描述歌曲的演唱语言种类定义歌曲类型= 粤语 | 国语 | 英语 | 日语 | 韩语位置歌曲记录图 15 歌曲语言数据定义名字歌手别名无描述描述歌手的信息定义歌手 = 歌手编号 + 歌手名字 + 所属地区 + 性别位置歌手信息记录表图 16
7、 歌手数据定义名字歌手编号别名无描述唯一确定一个歌手的标识符定义歌手编号 = 字符串位置歌手记录名字歌手名字图 17 歌手编号数据定义别名无描述描述歌手的名字定义歌手名字 = 字符串位置歌手记录图 18 歌手名字数据定义名字所属地区别名无描述描述歌手工作的地方定义所属地区 = 字符串位置歌手记录图 19 所属地区数据定义名字性别别名无描述描述歌手的性别定义性别 = 男 | 女 位置歌手记录图 20 性别数据定义2 概念设计2.1 局部视图设计对需求分析阶段收集到的数据按照E-R 模型的要求进行分类,组织,形成实体,实体的属性,标识实体的码,确定实体之间的联系类型 (1:1,1:n,m:n),设
8、计分 E-R 图。歌曲n演唱1歌手图 21 E-R 实体歌曲语言歌曲编号曲风类型歌曲歌曲存放位置歌曲名字歌手编号图 22 歌曲属性图歌手名字歌手编号性别歌手所属地区图 23 歌手属性图用户名帐号编号.专业学习资料.密码帐号图 24 帐号属性图3 逻辑设计3.1 E-R 图向关系模型的转换在这个阶段,逻辑设计的主要任务就是要将上一步得到的E-R 图向关系模型转换,将实体和实体型间的联系转换为关系模式 ,确定这些模式属性和码。将E-R 图转换后,得到的关系模式如下,画有下划线的为主码:歌曲(歌曲编号,歌曲名字,歌曲存放位置,曲风类型编号,歌曲语言编号)曲风类型(曲风类型编号,名字)歌曲语言(歌曲语
9、言编号,名字)歌手(歌手编号,歌手名字,所属地区,性别) 演唱(歌曲编号,歌手编号)帐号(帐号编号,用户名,密码)一个视图:视图_歌曲(歌曲名字,歌曲存放位置,曲风类型名字,歌曲语言名字,歌手名字)3.2 设计 DBMS 的数据字典将得到的关系模式转换为 MS SQL 2000 所支持的数据模型,所得到的表格如下。图 25 帐号记录表图 26 歌手记录表图 27 歌曲记录表图 28 曲风类型记录表图 29 歌曲语言种类记录表图 30 演唱关系表图 31 “视图_歌曲” 视图3.2 约束条件本系统选择的数据库管理系统为 MS SQL 2005。(1) 演唱关系表的主键为 (songid,sing
10、erid同时 songid 为 SONG(songid的外码,singerid 为 SINGER(singerid的外码。(2) 所有的关系表的主键都为自动递增的正整数 ,演唱关系表的主键例外。(3) SONG ( style ) 为 SONGSTYLE ( sytleid ) 的 外 码 , SONG(lanStyle为 SONGLANGUANGE(languageid)的外码。(4) SONG(sex)只能为M或者F。(5) SONGLANGUAGE(name)的值唯一。(6)SONGSTYLE(name)的值唯一。4 物理设计本系统选择的数据库管理系统为 MS SQL 2000。数据库的
11、存取方法,存取路径没有特殊要求,按照系统的默认值来设置。索引,聚族,日志,备份等参数,因为本数据库没有特殊要求,都没设置。5 数据库实施阶段由于时间上的限制,本人只是实现了系统的两个功能,一个是“系统的登录”, 另一个是就是“添加歌手”.5.1“添加歌手”功能的 代码#pragma once/SingerMan.h/ CSingerMan 命令目标#include class CSingerMan : public CObjectpublic:CSingerMan();CSingerMan(CString name, CString address, CString sex); static
12、bool AddSinger(CSingerMan& singer , CDatabase& db); virtual CSingerMan();public:CString m_singerName; CString m_address; CString m_sex;CString m_singerId;/ SingerMan.cpp : 实现文件/#include stdafx.h #include SingSong.h #include SingerMan.h/ CSingerManCSingerMan:CSingerMan()CSingerMan:CSingerMan( CString
13、 name, CString address, CString sex )m_singerName=name; m_address=address; m_sex=sex;CSingerMan:CSingerMan()bool CSingerMan:AddSinger( CSingerMan& singer , CDatabase& db )if(!db.IsOpen()/ failAfxMessageBox(_T(数据库的连接已经断开,无法执行操作!n 请重新登录!); return false;CRecordset rs(&db);CString strSql;strSql.Format(_
14、T(insert into SINGER (name,address,sex ) values (%s,%s,%s), singer.m_singerName, singer.m_address, singer.m_sex);db.ExecuteSQL(strSql); return true;/ SingerAddDlg.cpp : 实现文件/#include stdafx.h #include SingSong.h #include SingerAddDlg.h#include SingerMan.h #include extern CDatabase gal_db;/ CSingerAd
15、dDlg 对话框IMPLEMENT_DYNAMIC(CSingerAddDlg, CDialog)CSingerAddDlg:CSingerAddDlg(CWnd* pParent /*=NULL*/): CDialog(CSingerAddDlg:IDD, pParent), m_singerId(_T(), m_singerName(_T(), m_address(_T()CSingerAddDlg:CSingerAddDlg()void CSingerAddDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);
16、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 消息处理程序void CSingerAddDlg:OnBnClickedO
17、k()/ 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(成功信息); OnOK();elseMessageBox(_T(添加歌曲失败!),_T(失败信息);BOOL CSingerAddDl
18、g:OnInitDialog()CDialog:OnInitDialog();/ TODO:在此添加额外的初始化CButton* p=(CButton*)(GetDlgItem(IDC_RADIO_MALE); p-SetCheck(TRUE);m_sex=_T(M);return TRUE;/ return TRUE unless you set the focus to a control/ 异常: OCX 属性页应返回FALSE5.2 程序运行图图 32 系统初始界面图 33 系统登录图 34 添加歌手5 自我评价与总结总的来说,这次的课程设计的难度比较大 。一个课程设计,是对该们课程的一次实践,是一次具体的动手能力的考验,是理论联系实践的一个过程。数据库系统原理是一门比较难的课程,课程设计自然而然的就比较难了。做这个课程设计时,老师只是给了我一个题目和一些简短的需求描述 ,但是要完成一个系统的设计,这些需求是远远不够的。通过在网上搜索资料,去图书馆翻阅文献,最终把功能需求确定下来了。有了需求描述,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于催促完成季度销售报告函(5篇)
- 企业内控体系建设与实施指南
- 数字创意产业产品设计流程手册
- 企业创新文化建设与实施路径手册
- 古董鉴定准确度考评表
- 古地图复原绩效表
- 甲方催促乙方完成市场调研报告函(3篇)
- 电子商务平台用户体验评估表
- 新材料研发与产业化实施方案
- 职业培训讲师课程设计与实施方法指南
- Unit 1 Lesson 1-3 教学案-2025-2026学年冀教版(2024)英语八年级上册
- 2024人教版七年级数学上册全册教案
- 如何成为行业专家
- 机械清除危岩体施工方案
- 球墨铸铁管安装单元工程施工质量验收评定表
- 2025年预防接种技能竞赛理论考试题库(含答案)
- 2025年机关事务管理局招聘考试大纲
- 小学环境描写教学课件
- 丙烷存放安全管理制度
- 3完整版本.3探究对勾函数的图象与性质教学设计-高一上学期数学人教A版
- CJ/T 123-2016给水用钢骨架聚乙烯塑料复合管
评论
0/150
提交评论