点歌管理系统数据库设计

  • 格式:doc
  • 大小:308.50 KB
  • 文档页数:20

下载文档原格式

  / 20
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

点歌管理系统数据库设计

1 需求分析

1.1 整体功能描述

点歌管理系统能够存储歌曲,并按多种不同方式查找歌曲,如歌曲名,歌手名,歌曲类型,歌曲语言等等,并能够方便的对歌曲库进行管理,如歌曲的增加和删除。具体的功能需求如下。

歌曲管理:

(1)添加歌曲:用户可以在系统中增加歌曲,在增加之前必须填写完整歌曲的属性。

(2)删除歌曲:用户可以删除系统中已经存在的歌曲。

(3)修改歌曲属性:用户可以自由修改系统中已经存在的歌曲的属性。

歌曲的属性包括:歌曲的存放的位置,歌曲名字,歌手名字,曲风

类型,歌曲语言。

歌手信息管理:

(4)添加歌手:用户可以向系统增加歌手的信息。

(5)删除歌手:用户可以删除系统中的歌手信息。

(6)修改歌手信息:用户可以修改歌手的信息。歌手信息包括:歌手名字,所属地区,性别。

查找歌曲方面的:

(7)按歌曲名查找:用户给定歌曲的名字,系统返回歌曲的信息。

(8)按歌手名查找:用户给定歌手的名字,系统返回该歌手的所有歌曲。

(9)按歌曲类型查找:用户给定歌曲的类型,系统返回该类型所有歌曲。

(10)按歌曲语言类型查找:用户给定歌曲的语言类型,系统返回该语言

类型的所有歌曲。

查找歌手方面:

(11)按性别查找:用户给定歌手的性别(男或女),系统返回符合条件的歌手信息。

(12)按地区查找:用户给定歌手的所属地区,系统返回符合条件的歌手信息。

(13)按名字查找:用户给定歌手的名字,系统返回符合条件的歌手信息。

系统安全性:

(14)登录系统:系统对用户的身份进行验证,授权用户才能操作系统。

1.2 数据流图

(1)根据系统的功能需求,可以画出系统的第1层数据流图。

(2)在系统的第1层数据流图之后,再画出系统的第2层数据流图。

歌曲已存在,添加失败

添加成功信息

图3 删除歌曲

图4 修改歌曲信息

图5 修改歌曲信息

(3)以上只是给出了一部分功能的数据流图,其它的数据图和给出的数据流图的流程大体相似。

1.3数据字典

图6 帐号数据定义

图7帐号编号数据定义

图8 密码数据定义

图9 用户名数据定义

图10 歌曲数据定义

图11 歌曲编号数据定义

图12 歌曲存放位置数据定义

图13 歌曲名字数据定义

图14 曲风类型数据定义

图15 歌曲语言数据定义

图16 歌手数据定义

图17 歌手编号数据定义

图18 歌手名字数据定义

图19 所属地区数据定义

图20 性别数据定义

2 概念设计

2.1 局部视图设计

对需求分析阶段收集到的数据按照E-R模型的要求进行分类,组织,形成实体,实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分E-R图。

图21 E-R实体

图22 歌曲属性图

图24 帐号属性图

3 逻辑设计

3.1 E-R图向关系模型的转换

在这个阶段,逻辑设计的主要任务就是要将上一步得到的E-R图向关系模型转换,将实体和实体型间的联系转换为关系模式,确定这些模式属性和码。将E-R图转换后,得到的关系模式如下,画有下划线的为主码:

歌曲(歌曲编号,歌曲名字,歌曲存放位置,曲风类型编号,歌曲语言编号)曲风类型(曲风类型编号,名字)

歌曲语言(歌曲语言编号,名字)

歌手(歌手编号,歌手名字,所属地区,性别)

演唱(歌曲编号,歌手编号)

帐号(帐号编号,用户名,密码)

一个视图:视图_歌曲(歌曲名字,歌曲存放位置,曲风类型名字,歌曲语言名字,

歌手名字)

3.2 设计DBMS的数据字典

将得到的关系模式转换为MS SQL 2000 所支持的数据模型,所得到的表格如下。

图25 帐号记录表

图26 歌手记录表

图27 歌曲记录表

图28 曲风类型记录表

图29 歌曲语言种类记录表

图30 演唱关系表

图31 “视图_歌曲”视图

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) SONGSTYLE(name)的值唯一。

4 物理设计

本系统选择的数据库管理系统为MS SQL 2000。数据库的存取方法,存取路径没有特殊要求,按照系统的默认值来设置。索引,聚族,日志,备份等参数,因为本数据库没有特殊要求,都没设置。

5 数据库实施阶段

由于时间上的限制,本人只是实现了系统的两个功能,一个是“系统的登录”,另一个是就是“添加歌手”.

5.1“添加歌手”功能的代码

#pragma once

//SingerMan.h

// CSingerMan 命令目标

#include

class CSingerMan : public CObject

{

public:

CSingerMan();

CSingerMan(CString name, CString address, CString sex);

static bool AddSinger(CSingerMan& singer , CDatabase& db);

virtual ~CSingerMan();