用于歌手管理工作的数据库系统设计书.docx

上传人:b****7 文档编号:10209041 上传时间:2023-02-09 格式:DOCX 页数:30 大小:1,013.63KB
下载 相关 举报
用于歌手管理工作的数据库系统设计书.docx_第1页
第1页 / 共30页
用于歌手管理工作的数据库系统设计书.docx_第2页
第2页 / 共30页
用于歌手管理工作的数据库系统设计书.docx_第3页
第3页 / 共30页
用于歌手管理工作的数据库系统设计书.docx_第4页
第4页 / 共30页
用于歌手管理工作的数据库系统设计书.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

用于歌手管理工作的数据库系统设计书.docx

《用于歌手管理工作的数据库系统设计书.docx》由会员分享,可在线阅读,更多相关《用于歌手管理工作的数据库系统设计书.docx(30页珍藏版)》请在冰豆网上搜索。

用于歌手管理工作的数据库系统设计书.docx

用于歌手管理工作的数据库系统设计书

用于歌手管理工作的数据库系统设计书

一、系统需求分析

本系统是用于开发一套专门用于歌手管理工作的数据库系统,经过仔细研究分析,我们决定将系统分为三大部分,分别为歌手数据信息管理,歌曲管理,后台操作管理三部分。

为了便于使用者对歌曲情况的管理,其中主要侧重点在歌手人事档案管理方面。

在歌手人事档案管理又分为歌手人事维护打印和查询打印两个分支。

歌手成绩菜单具有查询打印功能。

系统管理分为操作员管理,密码管理,数据备份等部分。

1.歌手信息维护:

管理歌手号、姓名、星座等,一些主要功能:

数据录入、修改、删除、查询、浏览、保存、打印等。

2.歌手数据信息的查询:

提供歌手号,姓名,作曲查询。

分别利用不同的命令代码方式实现查询打印功能,功能是便于用户的检索查询

3.歌曲点歌次数查询的管理:

提供歌手号,姓名,作曲,与歌手信息查询相似。

4、三大部分紧密结合联系,包括歌手数据管理表、歌曲数据管理表、用户口令三个部分。

二、系统主要功能模块

歌手管理系统基于VisualFoxPro6.0中文版开发,VFP在数据库开发方面具有方面,实用,简单,直接等优点,同时其也具有一定的局限性。

本系统主要面向歌曲管理者,歌曲查询者等开发使用,因此主要侧重于系统的使用性和方便性,同时在安全性方面,我们也十分重视。

特别是操作员级别的划分等密码管理,我们都做了仔细的分析研究。

一、“电台歌曲点播系统”的开发

在开发应用程序时,可以利用“项目管理器”将应用程序的各个部分组织起来。

用集成化的方法建立应用系统项目,并进行项目测试。

1.建立电台歌曲点播系统项目文件

(1)创建子目录

一个完整的应用程序,即使规模不大,也会涉及多种类型的文件,如dbc数据库、dbf表以及菜单、表单、报表、位图等。

如果把这些文件都放在一个文件夹下,将会给以后的修改、维护工作带来很大的不便。

因此,需要建立一个层次清晰的目录结构,让不同类型的文件各归其所。

图1-4所示的就是一种目录结构的示例。

图1-4目录结构

(2)建立电台歌曲点播系统项目文件

选择“文件”菜单中的“新建”命令或单击常用工具栏上的“新建”按钮,在dgxt文件夹位置建立一个名为“Dgxt.PJX”的项目文件,如图1-5所示。

图1-5项目管理器——Dgxt

2.建立数据库与数据表

(1)建立数据库

1)在项目管理器上切换到“数据”选项卡,选取该选项卡中的“数据库”选项。

2)单击右边的“新建”按钮,出现“新建数据库”对话框,单击“新建数据库”按钮,在弹出的“保存新建文件”对话框中;输入数据库名称“Order”,保存在“\DATA”子目录下。

3)单击“保存”按钮,进入Order数据库设计器

三、数据库设计

数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。

本系统的数据库包括3个表,即歌手数据管理表,歌曲数据管理表、用户口令表。

1.歌手数据表(歌手.dbf)

歌手数据管理表(歌手.dbf)用于记录歌手编号、姓名、性别、生日、星座等信息,其逻辑结构如表1所示。

字段

类型

描述

索引

说明

歌手编号

C(3)

歌手编号

000~999,不允许为空

姓名

C(16)

姓名

中文1~8,西文16个字符

XB

C

(2)

性别

男或女

生日

D

生日

星座

C(6)

星座

最多3个汉字,如天秤座

代表作

C(30)

代表作

1~15个汉字

国籍

C(10)

国籍

最多5个汉字

档案

M

档案

表1歌手基本信息表

2.歌曲数据表(歌曲.dbf)

歌曲数据表(歌曲.dbf)用于歌曲的基本信息,包括歌曲编号、歌曲名、歌手编号、点歌次数等信息,其逻辑结构如表2所示。

表1-2歌曲数据表.DBF描述如下

字段

类型

描述

索引

说明

歌曲编号

C(4)

歌曲编号

0000~9999,不允许为空

歌曲名

C(30)

歌曲名

1~15个汉字

歌手编号

C(3)

歌手编号

001~999

作词

C(30)

作词

一个人、两个人或乐队,最多15个汉字

作曲

C(30)

作曲

同上

歌曲

G

歌曲

记录歌曲,便于播放

点歌次数

I

点歌次数

普通

0~999

另外,为了便于系统管理,还需增设一个口令管理数据表,如表1-3所示。

表1-3口令管理数据表KLB.DBF

字段

类型

描述

说明

用户名

C(8)

用户名

最多4个汉字,8个字符

用户口令

C(8)

用户口令

最多8个字符

3.用户口令数据管理表(用户口令.dbf)

用于记录系统用户的基本信息,包括用户名,密码等,其逻辑结构如表3所示。

表3用户表

字段

类型

描述

说明

用户名

C(8)

用户名

最多4个汉字,8个字符

用户口令

C(8)

用户口令

最多8个字符

下一步就是设计软件的大概功能图,根据本系统的情况,其概要图如图1-2所示。

 

图1-2电台歌曲点播系统概要图

第三步就是详细设计,这里要求对VisualFoxPro有一定的了解。

如果知道VisualFoxPro能提供什么样的组件,就可以比较轻松地细化系统。

本系统初步细化的框图如图1-3所示。

 

图1-3电台歌曲点播系统框图

这里,还要听取用户的意见,如果用户同意方案,就可以开工了。

否则,还要根据用户的意见进行修改。

第四步就是运行调试。

当我们将系统开发完毕以后,就要交付给用户使用,就是所说的运行了。

一般来说半年以内不出现错误,并且验收合格后,开发工作结束。

第五步,编写使用说明书。

作为开发者,我们并不希望为用户开发的软件,用户却不会用。

对用户来讲,使用说明书是比较重要的。

因此,软件不仅仅是程序本身,还要包括相关的文档信息。

二、具体设计步骤

1、数据库的建立

1)在‘文件’菜单中,点击‘新建’选择‘数据库’,保存在f:

\周琦文件夹下,进行表的设计,如图所示:

2)表的建立

在数据库设计器中点击新建

然后在索引选项卡中,将歌手编号选为主索引。

歌手数据表、歌曲数据表、口令管理数据表如图所示:

四、、各功能模块的具体设计

密码验证作为系统最基本的安全管理步骤。

用户如果不输入合法的用户名和密码,系统是不能进入的。

当用户输入合法的用户名和密码时,系统管理会自动判断此用户,使用户的操作具有合法性。

密码验证页包括操作员姓名和密码两个部分。

具体的代码实现也将在详细设计书说明。

下面是密码登陆页的图示(图4):

用户在文本框输入操作员及口令,若正确则调用系统主界面(菜单)。

允许输入三次,若三次均不正确刚自动退出系统。

若用户输入的操作员姓名及口令正确,要完成下列工作:

图4登陆界面

1)要参数设置

(1)设置一个全局变量operat,用于记录登陆系统的操作员姓名,系统中有3个地方要用到操作员的姓名和代号:

一是进入主界面后在标题栏显示的操作员姓名;二是操作员在系统管理模块的口令设置中更改自己的口令,系统要知道是哪个操作员;三是退出系统时系统日志中要记录操作员的退出时间。

(2)在系统日志表log.dbf中增加一条记录,并同时记录此操作员的登录系统的时间。

从权限表menuright.dbf中读出此操作员对应各菜单项的权限,并赋值给数组。

调用菜单文件,显示系统主界面。

2)登陆表单界面中主要控件属性如表5所示。

表5登陆表单控件属性

对象名称

属性名称

属性值

Form1

caption

口令输入窗口

AutoCenter

.T.

Command1

caption

确定

Command2

caption

退出

3)事件代码:

Form1的init事件代码:

SETEXACTON&&精确比较

PUBLICARRAYrr[18]&&数组用于实现菜单项权限

PUBLICi&&i用于记录用户名及口令输入次数

PUBLICoperat&&operat用于保存操作员姓名

i=0

THISFORM.Text1.Setfocus

“确定”按钮(COMMAND1)CLICK事件代码:

*判断密码是否正确

i=i+1

SELECToperator

LOCATEFOR操作员姓名=ALLTRIM(THISFORM.Text1.Value)

DOCASE

CASEi<=3ANDFOUND()ANDTHISFORM.Text2.Value=operator.口令

*输入次数未超过3次且用户名正确、口令正确

operat=THISFORM.Text1.Value

INSERTINTOlog(操作员代号,操作员姓名,登录时间)VALUES(operator.操作;员代号,operator.操作员姓名,DATETIME())

_SCREEN.Caption="05计专歌手管理系;

统"+SPACE(40)+DTOC(DATE())+SPACE(40)+"操作员:

"+operatSELECT权限FROMmenurightINTOARRAYrrWHERE操作员代号;

=operator.操作员代号ORDERBY菜单项编号

RELEASETHISFORM

DO.\main\main_menu.mpr

CASEi<=3ANDFOUND()ANDTHISFORM.Text2.Value!

=operator.口令

*输入次数未超过3次且用户名正确、口令不正确

MESSAGEBOX("密码错误,请重输!

","警告")

THISFORM.Text2.Value=""

THISFORM.Text2.Setfocus

CASEi<=3ANDNOTFOUND()&&输入次数未超过3次且用户名不正确

MESSAGEBOX("操作员姓名错误,请重输!

","警告")

THISFORM.Text1.Value=""

THISFORM.Text2.Value=""

THISFORM.Text1.Setfocus

CASEi>3&&输入次数超过3次

MESSAGEBOX("禁止进入系统!

","警告")

THISFORM.Release

ENDCASE

退出按钮(COMMAND2)CLICK事件代码:

RELEASETHISFORM

CLEAREVENTS

4)系统主页面

当操作员的名称和密码均正确的时候,系统便会进入系统主界面使用主菜单。

主菜单共分为三个分菜单项:

歌手信息管理,歌手成绩管理,系统管理。

如图:

 

在歌手信息管理中分为歌手信息维护和歌手信息查询两个菜单项,在歌手信息管理中含有歌手点歌次数查询打印菜单项,在系统管理中分为:

操作员管理、口令设置、权限管理、系统日志、数据备份、数据恢复、退出系统七项。

以下为各个界面的成果图:

界面

6、系统菜单设计

1、歌手信息管理系统的菜单

在应用系统中,各个了模块是通过菜单组织在一起的。

通过对歌手信息管理系统功能模块的设计,可以交系统划分为3大模块:

歌曲信息管理、点歌次数查询、系统管理,具体的菜单设计见表6:

表6系统菜单

歌手信息管理

点歌次数管理

系统管理

歌手信息维护

点歌次数查询

操作员管理

口令设置

歌手信息查询

权限管理

系统日志

数据备份

数据恢复

退出系统

在菜单设计器中实现权限设置

在菜单项设计器中,通过[提示选项]对话框设置菜单项的跳过条件可以实现用户权限。

每个操作员对每个菜单项有两种权限:

0或1。

“0”表示此操作员对该菜单项没有操作权,系统运行后,该菜单项为灰色。

不能打开对应的表单,“1”代表该操作员对该菜单项具有操作权,系统运行后,该菜单项可用,鼠标单击菜单项能打开对应的表单。

操作员对各菜单项的权限保存在表文件menuright.dbf中,在登录系统时读出该操作员对应各菜单项的权限,并赋值给一个数组RR。

本系统共10个菜单项,所以定义的数组也包含10个元素。

6.歌手信息查询表单(歌手.dbf)的设计

歌手数据信息的查询如图8,是基于RSB.dbf表,提供歌手号,姓名,全体查询。

分别利用不同的命令代码方式实现查询打印功能。

功能是便于使用者,歌手用户的检索查询。

1)歌手信息查询表单界面中主要控件属性如表8所示。

表8歌手信息查询表单控件属性

对象名称

属性名称

属性值

Form1

caption

歌手信息查询

AutoCenter

.T.

Grid1

recordsourcetype

1-别名

recordsource

rsb

Optiongroup1

buttoncount

4

value

1

Command1

caption

查询

2)各事件的代码如下:

FORM1的INIT事件代码:

*输入编号、姓名提示标签及文本框

THISFORM.Label2.Visible=.F.

THISFORM.Text1.Visible=.F.

THISFORM.Text1.Setfocus()

*输入起始日期、截止日期提示标签及文本框不可见

THISFORM.Label4.Visible=.F.

THISFORM.Label5.Visible=.F.

THISFORM.Text2.Visible=.F.

THISFORM.Text3.Visible=.F.

THISFORM.Command4.Visible=.F.

*表格数据不可修改

THISFORM.Grid1.Readonly=.T.

Optiongroup1的CLICK事件代码:

*选定查询类别后,设置各控件是否可见

DOCASE

CASETHIS.Value=1&&按歌手号查询

THISFORM.Label2.Visible=.T.

THISFORM.Text1.Visible=.T.

THISFORM.Label4.Visible=.F.

THISFORM.Label5.Visible=.F.

THISFORM.Text2.Visible=.F.

THISFORM.Text3.Visible=.F.

THISFORM.Command4.Visible=.F.

THISFORM.Label2.Caption="请输入要查询的歌手号:

"

THISFORM.Text1.Value=""

THISFORM.Text1.Setfocus

CASETHIS.Value=2&&按姓名查询

THISFORM.Label2.Visible=.T.

THISFORM.Text1.Visible=.T.

THISFORM.Label4.Visible=.F.

THISFORM.Label5.Visible=.F.

THISFORM.Text2.Visible=.F.

THISFORM.Text3.Visible=.F.

THISFORM.Command4.Visible=.F.

THISFORM.Label2.Caption="请输入歌手姓名:

"

THISFORM.Text1.Value=""

THISFORM.Text1.Setfocus()

CASETHIS.Value=3&&按出生日期查询

THISFORM.Label2.Visible=.F.

THISFORM.Text1.Visible=.F.

THISFORM.Label4.Visible=.T.

THISFORM.Label5.Visible=.T.

THISFORM.Text2.Visible=.T.

THISFORM.Text3.Visible=.T.

THISFORM.Command4.Visible=.T.

THISFORM.Text2.Setfocus

CASETHIS.Value=4&&显示全体记录

THISFORM.Label2.Visible=.F.

THISFORM.Text1.Visible=.F.

THISFORM.Label4.Visible=.F.

THISFORM.Label5.Visible=.F.

THISFORM.Text2.Visible=.F.

THISFORM.Text3.Visible=.F.

THISFORM.Command4.Visible=.F.

SETFILTERTO

GOTOP

THISFORM.Grid1.Refresh

ENDCASE

GRID1的数据连接连接RSB表。

一一对应该对应的数据项,

COMMAND4(查询)的CLICK事件代码:

*按输入的日期条件在表格中显示查询的记录

SELECTrsb

PUBLICqsrq,jzrq

qsrq=THISFORM.Text2.Value

jzrq=THISFORM.Text3.Value

DOCASE

CASENOTEMPTY(qsrq)ANDEMPTY(jzrq)

SETFILTERTO出生日期>=qsrq

CASEEMPTY(qsrq)ANDNOTEMPTY(jzrq)

SETFILTERTO出生日期<=jzrq

CASENOTEMPTY(qsrq)ANDNOTEMPTY(jzrq)

SETFILTERTO出生日期>=qsrqAND出生日期<=jzrq;

OTHERWISE

MESSAGEBOX("未输入查询时间!

","提示")

ENDCASE

THISFORM.Grid1.Refresh

COMMAND1的CLICK事件代码:

REPORTFORM.\menu1\rsb_bb1.frxPREVIEW

实现调用.\menu1\rsb_bb1.frx报表实现打印的功能。

 

7.歌手点歌次数查询表单(点歌次数.scx)设计

首先,歌手点歌次数菜单的设计与歌手信息查询菜单的设计比较类似。

菜单调用的是点歌次数.scx表单。

1)将点歌次数.dbf添加到该表单的数据环境中。

2)歌手成绩查询表单界面中主要控件属性如表9所示。

表9歌手成绩查询表单控件属性

对象名称

属性名称

属性值

Form1

caption

歌手成绩查询

AutoCenter

.T.

Grid1

recordsourcetype

1-别名

recordsource

cjb

Optiongroup1

buttoncount

3

value

1

Command1

caption

打印预览

设计界面如图10,界面如下:

3)各事件代码均类似于歌手信息查询的事件代码。

其打印预览按钮的CLICK的事件代码为:

DOCASE

CASETHISFORM.Optiongroup1.Option1.Value=1

SETFILTERTO歌手号=ALLTRIM(THISFORM.Text1.Value);

CASETHISFORM.Optiongroup1.Option2.Value=1

SETFILTERTO歌手姓名;=ALLTRIM(THISFORM.Text1.Value)

CASETHISFORM.Optiongroup1.Option4.Value=1

ENDCASE

REPORTFORM.\cjb_pri.frxPREVIEW

8.系统菜单的设计

系统菜单的设计主要分为操作员管理、口令设置、权限管理、系统日志、数据备份、数据恢复、退出系统七项。

各项调用相应的表单。

在操作员管理项可实现操作员的添加,删除,编辑等功能,口令设置实现口令修改的功能,权限管理实现该操作员相应的操作权限功能的设置,系统日志用来记录每个操作员的登陆动作,便于系统的安全管理,数据备份和数据恢复主要是为数据库的数据安全管理设置的。

退出系统菜单功能实现退出到操作系统界面,把内存归还给操作系统。

系统菜单的各项设计类似于前几项菜单的设计,代码也基本类似于歌手信息管理菜单的设计,在此不再详细给出。

操作员管理的菜单运行如下:

(图11)

图11歌手成绩查询

课程

3、建立报表文件

(1)打印歌单文件dygd.frx

打印歌单功能主要是设计打印的格式,如图1-18所示

图1-18打印歌单报表设计界面

打印歌单预览界面

打印排行榜界面

打印排行榜预览

打印歌手设计界面

打印歌手预览

4﹑菜单设计

主界面

歌曲管理菜单

歌手管理子菜单

系统子菜单

五、

设计总结

关于本次课程设计,本组一共9名成员,所选择的课题是<潍坊科技学院点歌系统>。

主要由以下几个部分组成:

数据表的设计(歌手数据信息表、歌曲数据信息表、用户口令表);数据库的建立;表单的建立;菜单的建立。

为了提高大家的熟练程度以及数据统一的需要,本组全体成员均练习了3个数据表的建立。

至于表单,根据难易程度的不同,大部分组员负责一个表单,少量组员负责2个表单。

在进行数据表的输入,建立以及表单的设计的过程中,组员同时一边撰写程序设计书。

虽然其中由于部分组员的基础不同,负责的表单不同,中间出现差错,所以在表单建立的过程中有些困难,但是在大家的齐心协力合作下,《潍坊科技学院点歌系统》得以顺利完成。

在本次程序设计过程中,我收获颇丰,也深深地感觉到团队合作的重要性,希望也能得到老师的肯定。

六、参考文献

[1]周永恒.VisualFoxPro基础教程(第3版).北京:

高等教育出版社,2006.

[2]李魁明.visualFoxPro程序设计(第4版).北京:

地质出版社,2008.

[3]郭元辉.visualFoxPro程序设计.北京:

科学出版社,2010.

[4]王永国.visualFoxPro程序设计(第2版).北京:

高等教育出版社,2009

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1