点歌管理系统数据库设计

上传人:huo****ian 文档编号:143951387 上传时间:2022-08-26 格式:DOC 页数:17 大小:281.01KB
收藏 版权申诉 举报 下载
点歌管理系统数据库设计_第1页
第1页 / 共17页
点歌管理系统数据库设计_第2页
第2页 / 共17页
点歌管理系统数据库设计_第3页
第3页 / 共17页
资源描述:

《点歌管理系统数据库设计》由会员分享,可在线阅读,更多相关《点歌管理系统数据库设计(17页珍藏版)》请在装配图网上搜索。

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层数据流图。 歌曲 歌曲 歌曲 歌曲 歌曲不存在 歌曲已存在,添加失败 添加成功信息 歌曲 删除歌曲 歌曲 歌曲 歌曲存在 歌曲不存在,删除歌曲失败信息 删除成功信息 歌曲 歌曲 歌曲 歌曲 歌曲 歌

4、曲不存在,修改失败信息 修改成功信息 歌曲 查找歌曲的参数 查找参数 歌曲 歌曲不存在信息 歌曲(3) 以上只是给出了一部分功能的数据流图,其它的数据图和给出的数据流图的流程大体相似。1.3数据字典名字帐号别名无描述用于系统的身份验证定义帐号 = 帐号编号 + 密码 + 用户名位置帐号记录表名字帐号编号别名无描述唯一确定一个帐号定义帐号编号 = 正整数位置帐号记录表名字密码别名无描述帐号的密码定义密码 = 字符串位置帐号记录表名字用户名别名无描述帐号的用户名字定义用户名 = 字符串位置帐号记录表名字歌曲别名无描述描述歌曲的属性定义歌曲 = 歌曲编号 + 歌曲的存放路径+歌曲名字 + 歌手编号

5、+ 歌曲类型 + 歌曲语言位置歌曲信息记录表 图10 歌曲数据定义名字歌曲编号别名无描述确定唯一首歌曲定义歌曲编号 = 正整数位置歌曲记录 图11 歌曲编号数据定义名字歌曲的存放位置别名无描述描述歌曲所在的文件夹定义歌曲的存放位置= 磁盘中的路径格式位置歌曲记录图12 歌曲存放位置数据定义名字歌曲名字别名无描述描述歌曲的名字定义歌曲名字 = 字符串 +.+ 音频文件扩展名位置歌曲记录 图13 歌曲名字数据定义名字曲风类型别名无描述描述歌曲的曲风类型定义曲风类型= 流行音乐 | 民族音乐 | 摇滚音乐 | 爵士音乐位置歌曲记录 图14 曲风类型数据定义名字歌曲语言别名无描述描述歌曲的演唱语言种类

6、定义歌曲类型= 粤语 | 国语 | 英语 | 日语 | 韩语位置歌曲记录 图15 歌曲语言数据定义名字歌手别名无描述描述歌手的信息定义歌手 = 歌手编号 + 歌手名字 + 所属地区 + 性别位置歌手信息记录表图16 歌手数据定义名字歌手编号别名无描述唯一确定一个歌手的标识符定义歌手编号 = 字符串位置歌手记录 图17 歌手编号数据定义名字歌手名字别名无描述描述歌手的名字定义歌手名字 = 字符串位置歌手记录 图18 歌手名字数据定义名字所属地区别名无描述描述歌手工作的地方定义所属地区 = 字符串位置歌手记录 图19 所属地区数据定义名字性别别名无描述描述歌手的性别定义性别 = 男 | 女 位置歌

7、手记录 图20 性别数据定义2 概念设计2.1 局部视图设计对需求分析阶段收集到的数据按照E-R模型的要求进行分类,组织,形成实体,实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分E-R图。 n 1歌曲歌曲编号歌曲存放位置歌手编号歌曲名字曲风类型歌曲语言图22 歌曲属性图歌手歌手编号所属地区性别歌手名字 图23 歌手属性图帐号帐号编号密码用户名 图 24 帐号属性图3 逻辑设计3.1 E-R图向关系模型的转换在这个阶段,逻辑设计的主要任务就是要将上一步得到的E-R图向关系模型转换,将实体和实体型间的联系转换为关系模式,确定这些模式属性和码。将E-R图转换后,得

8、到的关系模式如下,画有下划线的为主码:歌曲(歌曲编号,歌曲名字,歌曲存放位置,曲风类型编号,歌曲语言编号)曲风类型(曲风类型编号,名字)歌曲语言(歌曲语言编号,名字)歌手(歌手编号,歌手名字,所属地区,性别)演唱(歌曲编号,歌手编号)帐号(帐号编号,用户名,密码)一个视图:视图_歌曲(歌曲名字,歌曲存放位置,曲风类型名字,歌曲语言名字,歌手名字)3.2 设计DBMS的数据字典将得到的关系模式转换为MS SQL 2000 所支持的数据模型,所得到的表格如下。图25 帐号记录表图26 歌手记录表图27 歌曲记录表图28 曲风类型记录表图29 歌曲语言种类记录表图30 演唱关系表图31 “视图_歌曲

9、” 视图3.2 约束条件本系统选择的数据库管理系统为MS SQL 2005。(1) 演唱关系表的主键为(songid,singerid)同时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) SONGSTYL

10、E(name)的值唯一。4 物理设计本系统选择的数据库管理系统为MS SQL 2000。数据库的存取方法,存取路径没有特殊要求,按照系统的默认值来设置。索引,聚族,日志,备份等参数,因为本数据库没有特殊要求,都没设置。5 数据库实施阶段由于时间上的限制,本人只是实现了系统的两个功能,一个是“系统的登录”,另一个是就是“添加歌手”.5.1“添加歌手”功能的 代码#pragma once/SingerMan.h/ CSingerMan 命令目标#include class CSingerMan : public CObjectpublic:CSingerMan();CSingerMan(CStri

11、ng 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;/ SingerMan.cpp : 实现文件/#include stdafx.h#include SingSong.h#include SingerMan.h/ CSingerManCSingerMan:C

12、SingerMan()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(!db.IsOpen()/ failAfxMessageBox(_T(数据库的连接已经断开,无法执行操作!n请重新登录!);return false;CRecordset r

13、s(&db);CString strSql;strSql.Format(_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 ext

14、ern CDatabase gal_db;/ CSingerAddDlg 对话框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*

15、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 消息处理程序vo

16、id 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(成功信息);OnOK();elseMessageBox(_T(添加歌曲失败!),

17、_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 you set the focus to a control/ 异常: OCX 属性页应返回FALSE5.2程序运行图图32 系统初始界面图33系统登录图34 添加歌手5 自我评价与总结总的来说,这次的课程设计

18、的难度比较大。一个课程设计,是对该们课程的一次实践,是一次具体的动手能力的考验,是理论联系实践的一个过程。数据库系统原理是一门比较难的课程,课程设计自然而然的就比较难了。做这个课程设计时,老师只是给了我一个题目和一些简短的需求描述,但是要完成一个系统的设计,这些需求是远远不够的。通过在网上搜索资料,去图书馆翻阅文献,最终把功能需求确定下来了。有了需求描述,接下来的几个阶段都是比较好实现的,但是到了数据库实施这一步时,就出现问题了。原因是本人对具体数据库的实施不是很了解,是第一次做这个工作。对其中的某些名词不是很明白,例如,聚族索引,也不知道如何科学的确定存取方法,确定数据库的存储结构。这些知识都是实践上的知识,感觉课本上学到的理论不知如何才能运用到实践当中。总的来说,这次的课程设计锻炼了我的理论结合实践的能力,尽管效果不是很好,但是这种能力确实提高了,并且我得到了很多实践的经验。6 参考文献 1王珊编著 【数据库系统简明教程】,高等教育出版社2王海龙,董智勇等编著 【Visual C+ 6.0设计师之路】,电子工业出版社

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!