当前位置:文档之家› VFP数据库系统开发实例(附图)

VFP数据库系统开发实例(附图)

VFP数据库系统开发实例(附图)
VFP数据库系统开发实例(附图)

VFP基本数据库系统开发实例(附图)

西南大学计信院

导学

在Visual Foxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。

11.1 系统需求分析

传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能:

1. 数据需求

通过调查,总结出该应用程序对数据的需求大致有如下这些:

(1) 学生信息

包括学号,姓名,性别,出生日期,系科,备注,照片

(2) 管理员信息

包括用户名,密码,管理员姓名,权限,说明信息

(3) 学生成绩信息

主要包括学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否

(4) 课程信息

包括课程编号,课程名称

2. 功能需求

功能分析的任务是了解用户对数据的处理方法和输出格式。

(1) 基本数据录入

基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。

(2) 查询

能够查询出学生成绩,和补考人员名单等。

(3) 学生和管理员信息的维护

要求能够根据需要对学生和管理员信息进行维护修改等。

(4)成绩的审核

根据学生的总评成绩审核学生的计算机成绩是否通过。

(5) 打印输出

打印学生成绩表和补考人员名单等。

11.2 系统设计

1. 程序总体结构设计

在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分

层设计和实现。图1所示为公共计算机成绩管理系统的功能模块图。

图1公共计算机成绩管理系统功能模块

2. 数据库逻辑设计

进行数据库设计的依据有三个:第一是在进行系统调查时由成绩管理员提供的各种处理数据;第二是功能设计结果;第三是数据库设计规范化理论。数据库设计是系统设计的一项基本工作,其效果的好坏,对后续设计、调试、使用、维护等工作关系极大,因此,一定要高度重视这一部分工作。当然,我们不能简单地将数据库设计理解为在计算机上用可视化的方法建立表的过程,其主要工作是建立一种完整、规范的数据模型以支持整个应用系统对数据的要求。

根据对实际情况进行分析建立关系模型

1) 学生信息表(学号,姓名,性别,出生日期,系科,备注,照片)

2) 管理人员信息表(用户名,密码,管理员姓名,权限,说明信息)

3) 学生成绩表(学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否)

4) 补考名单表(学号,姓名, 总评成绩,补考成绩)

5) 课程表(课程编号,课程名称)

11.3 创建项目

Visual Foxpro推荐在项目管理器中开发应用程序,因为项目管理器会为开发工作带来很多方便。在项目管理器中创建一个项目后,应用程序就具备了一个开发框架,然后在这个框架中,再利用项目管理器所提供的强大功能,按照需求来实现应用程序的设计。

用户可以启动Visual Foxpro,选择【文件】|【新建】命令,在打开的对话框中,选择“项目”单选按钮,然后单击“新建文件”按钮,接着在“创建”对话框中,输入项目文件名并确定项目路径(本例使用的路径为D:\公共计算机成绩管理系统),然后单击“保存”按钮,即可启动项目管理器。

一个完整的应用程序,即使规模不大,也会涉及到多种类型文件,如dbc数据库、dbf表以及菜单、表单、报表、位图等。为了以后的修改、维护工作方便进行,就需要把这些文件放在不同的文件夹中便于管理维护,例如一般把dbc数据库文件、dbf表文件和cdx索引文件放在DA TE 目录,表单、报表、标签等放在FORMS目录等。

11.4数据库的物理设计

a) 数据库名为公共计算机成绩管理.dbc

b) 数据表

i. 学生信息表.dbf

学号/C/10,姓名/C/10,性别/L/1,出生日期/D/8,系科/C/30,备注/M/4,照片/G/4

ii. 管理人员信息表.dbf

用户名/C/10,密码/C/10,管理员姓名/C/10,权限/C/4,说明信息/C/20

iii. 学生成绩表.

dbf学号/C/10, 课程编号/C/2,平时成绩/N/6/2,笔试成绩/N/6/2,上机成绩/N/6/2,总评成绩/N/6/2,审核否/L/1

iv. 补考名单表

学号/C/10,姓名/C/10, 总评成绩/N/6/2,补考成绩/N/6/2

v. 课程表

课程编号/C/2,课程名称/C/14

图2 公共计算机成绩管理数据库及其表结构

11.5界面设计

1) 创建启动表单

下面设计应用程序的封面,主要由一个表单来实现,其效果如图10.4所示。

在项目管理器中,打开“文档”选项卡,选择“表单”选项,单击“新建”按钮,在打开的对话框中单击“新建表单”按钮,这时,将弹出一个表单设计器和表单Form1。单击表单设计器工具栏中的标签和命令按钮,分别在表单中添加一个标签控件(采用系统默认名称Labell)和两个命令按钮控件(采用系统默认名称command1和command2)。

下面分别设置各对象的主要属性。属性设置见表10.6所示。

设置command1对象的click事件代码为:

do form 密码.scx

*打开“密码”表单

设置command2对象的click事件代码为:

thisform.release

*释放本表单

Quit

*清除事务处理退出VF

2) 创建身份验证表单

在项目管理器中,与主表单的创建方法相类似,可以创建“身份验证”表单的界面如图10.5所示。首先通过表单控件工具栏在表单上添加二个标签控件、一个文本框控件及两个命令按钮控件。

其中“密码”表单中各对象的属性设置情况如表10.7所示:

设置密码表单的init事件为:

Thisform.text1.SetFocus()

Thisform.text1.passwordchar='*'

设置密码表单的load事件为:

SELE 1

USE 密码

设置option1对象的click事件代码为:

PUBLIC M.权限,M.密码

sele 1

SET EXAC ON

LOCA FOR 密码=ALLTRIM(Thisform.text1.Value)

IF FOUND()

M.密码=密码

M.权限=权限

KUAN=1

thisform.release

ELSE

Thisform.text1.passwordchar=''

Thisform.text1.Value='密码错误!'

A=INKEY(1)

Thisform.text1.Value=''

THISFORM.OPTIONGROUP1.VALUE=0

Thisform.text1.SetFocus()

Thisform.text1.passwordchar='*'

KUAN=0

ENDIF

设置option2对象的click事件代码为:

thisform.release

*释放本表单

clear event

11.6主菜单设计

下面利用Visual FoxPro的菜单功能设计应用程序的子系统,其结构示意如图10.8所示。

图10.8

打开项目管理器中的“其他”选项卡,选中【菜单】项,然后单击“新建”按钮,在弹出的对话框中

单击“菜单”按钮,参照总体结构图10.8,在打开的菜单设计器中,设计主菜单,如图10.9所示。

图10.9

单击菜单项后的“创建”按钮,即可在打开的菜单设计器窗口中创建该菜单项的子菜单。如果要设置命令

的快捷键,可以单击其后的选项按钮,然后在打开的对话框中,输入快捷键的名称,如图10.10所示。

图10.10

最后单击确定按钮,返回到菜单设计器窗口,在“退出”菜单项的文本框中,输入clear events,然后单击

关闭按钮,将菜单保存为“主菜单.mnx”。运行该菜单,其效果如图10.11所示。

图10.11

接着,创建应用程序的主文件,将其保存为“主程序.prg” 。在代码编辑窗口中,输入以下代码:

_screen.windowstate=2

_screen.caption="公共计算机成绩管理系统 "

_screen.closable=.f.

_screen.picture="图片\news_2003816214445.jpg"

close all

clear all

clear

set sysmenu off br> set sysmenu to

set talk off

set safety off

set status bar off

do form 封面.scx

DO 菜单1.MPX

read event

set sysmenu to default

set sysmenu on

set status bar on

close all

clear all

return

图10.12

如图10.12所示,在项目管理器中,将“主程序.prg”设置为主文件,然后选中“主程序.prg”并单击

“运行”按钮,即可得到如图10.13所示的效果。

图10.13运行主程序后的效果

11.7表单设计

为了实现和完善“公共计算机成绩管理系统”应用程序的功能,下面通过表单

的调用来实现某些特定的底层功能。在此,我们主要介绍“学生信息输入”表单、

“成绩查询”表单、“学生信息维护”表单的制作过程,其他的表单制作过程与此

类似,读者可以自己完成。

1)“学生信息输入”表单(学生信息输入.scx)

“学生信息输入”表单主要用于输入学生的信息。首先创建“学生信息输入”表单,

然后选择【显示】|【数据环境】命令,

在打开的“添加表或视图”对话框中添加“学生信息表”表到数据环境设计器中,如图10.14所示。

图10.14

接着,设置“学生信息输入”表单的属性,见表10.9所示。

然后设置标签和文本框。从数据环境设计器中,将下列字段拖放到表单中规定的位置,生成相应的标签和文本框:“学生信息表”表中的学号、姓名、性别、系科、出生日期、

备注等字段。从数据环境直接拖动到表单中定义标签和文本框不仅速度快,而且标签的Coption 和Name属性、文本框的Name属性都会自动设置与源字段有关的名字,文本框也会自动与源表中的源字段绑定,效果如图10.15所示。

图10.15

最后,设置命令按钮组与事件代码。从表单控件工具栏中单击“命令按钮组” 工具,

在窗口的相应位置单击,创建命令按钮组控件。在属性窗口,分别设置各个command的属性,并且在

编辑状态下,对按钮命令组中的command进行排列与设定。双击该控件,在打开的代码编辑窗口中,

输入Click事件的代码。

Command1的Click事件的代码:

select 学生信息表

append blank

thisform.refresh()

Command2的Click事件的代码:

SET EXACT on

IF ALLTRIM(学号)=''

DELETE

PACK

ENDIF

IF thisform.Optiongroup1.Option1.value=1

REPLACE 性别 with .t.

ELSE

REPLACE 性别 with .f.

endif

Command3的Click事件的代码:

if !bof()

SKIP -1

else

go top

ENDIF

IF 性别

thisform.Optiongroup1.Option1.value=1

thisform.Optiongroup1.Option2.value=0

ELSE

thisform.Optiongroup1.Option1.value=0

thisform.Optiongroup1.Option2.value=1

endif

thisform.refresh()

Command4的Click事件的代码:

if !eof()

skip

else

go bottom

ENDIF

IF 性别

thisform.Optiongroup1.Option1.value=1

thisform.Optiongroup1.Option2.value=0

ELSE

thisform.Optiongroup1.Option1.value=0

thisform.Optiongroup1.Option2.value=1

endif

thisform.refresh()

Command5的Click事件的代码:

SET EXACT on

GO top

scan

IF ALLTRIM(姓名)=''

DELETE

PACK

ENDIF

endscan

use

release thisform

关闭该窗口,保存代码,然后单击项目管理器中的运行按钮,可以得到如图10.16所示的表单效果。

用户可以通过单击表单中的相关按钮,实现对图书信息的相关操作。

图10.16

2) “学生信息查询”表单(学生信息查询.scx)

学生信息查询表单用于查询学生信息,需要使用学生信息表。在学生信息查询表单的数据环境中加入这个表,如图10.17所示。

图10.17

和“学生信息输入”表单相似,从数据环境中将需要的数据拖放到表单窗口的相应位置,创建“学生信息查询”表单如图10.18所示。

图10.18

属性窗口的设置也和“学生信息输入”表单类似,其中命令组对象的事件的代码如下: Commandgroup1的init事件的代码如下:

open database 公共计算机成绩管理.dbc

IF 学生信息表.性别

thisform.text5.Value='男'

ELSE

thisform.text5.Value='女'

endif

command1的click事件的代码如下:

go top

https://www.doczj.com/doc/3f12382309.html,mand2.enabled=.f.

https://www.doczj.com/doc/3f12382309.html,mand3.enabled=.t.

thisform.refresh()

command2的click事件的代码如下:

if !bof()

SKIP -1

else

go top

ENDIF

IF 学生信息表.性别

thisform.text5.Value='男'

ELSE

thisform.text5.Value='女'

endif

https://www.doczj.com/doc/3f12382309.html,mand3.enabled=.t.

thisform.refresh

command3的click事件的代码如下:

if !eof()

skip

else

go bottom

ENDIF

IF 学生信息表.性别

thisform.text5.Value='男'

ELSE

thisform.text5.Value='女'

endif

https://www.doczj.com/doc/3f12382309.html,mand2.enabled=.t.

thisform.refresh()

command4的click事件的代码如下:

go bottom

IF 学生信息表.性别

thisform.text5.Value='男'

ELSE

thisform.text5.Value='女'

ENDIF

https://www.doczj.com/doc/3f12382309.html,mand3.enabled=.f.

https://www.doczj.com/doc/3f12382309.html,mand2.enabled=.t.

thisform.refresh()

运行该表单,效果如图10.19所示。

图10.19

3) “补考查询”表单(补考查询.scx)

补考查询表单用于查询补考学生信息,需要使用学生信息表、学生成绩表和补考名单表。在补考查询表单的数据环境中加入这三个表,同时建立学生信息表和学生成绩表之间的关联,学生成绩表和补考名单表之间的关联,如图10.20所示。

图10.20

和“学生信息输入”表单相似,在表单窗口的相应位置设置定义标签“补考名单”、定义显示成绩的

表格控件和三个按钮,创建“补考查询”表单如图10.21所示。

图10.21

属性窗口的设置和“学生信息输入”表单类似,其中表格的设置可以采用表格生成器完成,如图10.22所示:

图10.22

另外“查询”按钮的Click事件的代码如下:

UPDATE 学生成绩表 set 学生成绩表.综合成绩=学生成绩表.笔试成绩*0.6+;

学生成绩表.上机成绩*0.3+学生成绩表.平时成绩*0.1

thisform.grid1.recordsource='sele 学生信息表.姓名,学生成绩表.课程编号,;

学生成绩表.笔试成绩,学生成绩表.上机成绩,学生成绩表.综合成绩;

from 学生成绩表,学生信息表;

where 学生信息表.学号=学生成绩表.学号 and 学生成绩表.综合成绩<60 into cursor lsb1'

use

“打印”按钮的Click事件的代码如下:

UPDATE 学生成绩表 set 学生成绩表.综合成绩=学生成绩表.笔试成绩*0.6+;

学生成绩表.上机成绩*0.3+学生成绩表.平时成绩*0.1

sele 学生信息表.学号,学生信息表.姓名,学生成绩表.课程编号,学生成绩表.综合成绩; from 学生成绩表,学生信息表;

where 学生信息表.学号=学生成绩表.学号 and 学生成绩表.综合成绩<60 into;

table 补考

sele 补考名单表

APPEND FROM 补考

use

SELECT 姓名,课程名称,综合成绩 ;

from 补考名单表,课程表 ;

where 补考名单表.课程编号=课程表.课程编号 to printer

use

“退出”按钮的Click事件的代码如下:

thisform.release

运行该表单,效果如图10.13所示。

11.8用项目管理器连编成应用程序

在对应用程序各个模块分别进行设计并调试之后,需要对整个项目进行编译,生成.EXE可执行程序,这在Visual Foxpro中称为连编项目。

1) 设置文件的“排除”与“包含”

刚刚添加的数据库文件左侧有一个排除符号?(如图3所示),表示此项从项目中排除。Visual Foxpro假设表在应用程序中可以被修改,所以默认表为“排除”。

(1) 文件的“排除”与“包含”

“排除”与“包含”相对。将一个项目编译成一个应用程序时,所有项目包含的文件将组合为一个单一的应用程序文件。在项目连编之后,那些在项目中标记为“包含”的文件将变为只读文件。如果应用程序包含需要用户修改的文件,必须将该文件标记为“排除”。排除文件仍然是应用程序的一部分,因此Visual Foxpro仍可跟踪,并将它们看成项目的一部分。但是这些文件没有在应用程序的文件中编译,所以用户可以更新它们。

作为通用的准则,可执行程序,例如表单、报表、查询、菜单和程序文件应该在应用程序文件中为“包含”,而数据文件则为“排除”。但是,可以根据应用程序的需要包含或排除文件。通常将所有不需要用户更新的文件设为包含。但应用程序文件(.app)不能设为包含,对于类库文件(.ocx、.fll和.dll)可以有选择地设为排除。

(2) 将标记为“排除”的文件设置成“包含”的操作

在项目管理器中设置:要将标记为“排除”的文件设置成“包含”,只要在选定文件之后,右击鼠标,从快捷菜单上选择“包含”即可,如图3所示。

图3

2) 设置主程序

主程序是整个应用程序的入口点,主程序的任务是设置应用程序的起始点、初始化环境、显示初始的用户界面、控制事件循环,当退出应用程序时,恢复原始的开发环境。当用户运行应用程序时,将首先启动主程序文件,然后主文件再依次调用所需要的应用程序及其它组件。所有应用程序必须包含一个主程序文件。

设置主程序有两种方法:

(1) 在项目管理器中选中要设置的主程序文件,从“项目”菜单或快捷菜单中选择“设置主文件”选项。项目管理器将应用程序的主文件自动设置为“包含”,在编译完应用程序之后,该文件作为只读文件处理。

(2) 在“项目信息”的“文件”选项卡中选中要设置的主程序文件后右击鼠标,在弹出的快捷菜单中选择“设置主文件”。在这种情况下,只有把文件设置为“包含”之后才激活“设置主文件”选项。

由于一个应用系统只有一个起始点,系统的主文件是唯一的,当重新设置主文件时,原来的设置便自动解除。标记为主文件的文件不能排除。

3) 连编项目

对项目进行测试的目的是为了对程序中的引用进行校验,同时检查所有的程序组件是否可用。通过重新连编项目Visual Foxpro会分析文件的引用,然后重新编译过期的文件。

连编项目首先是让Visual Foxpro系统对项目的整体性进行测试的方法,此过程的最终结果是将所有在项目中引用的文件,除了那些标记为排除的文件以外,合成为一个应用程序文件。最后需要将应用程序软件、数据文件以及其它排除的项目文件一起交给最终用户使用。

连编项目有以下作用和注意事项:

(1) 当连编项目时,Visual Foxpro将分析对所有文件的引用,并自动把所有的隐式文件包含在项目中。如果通过用户自定义的代码引用任何一个其他文件,项目连编也会分析所有包含及引用的文件。在下一次查看该项目时,引用的文件会出现在项目管理器中。

(2) “项目管理器”解决不了对图(.bmp或.msk)文件的引用,因为它取决于在代码中如何使用图片文件。需要将这些文件手工添加到项目中。

(3) 连编项目也不能自动包含那些用“宏替换”进行引用的文件,因为在应用程序运行之

前,不知道该文件的名字。如果应用程序要引用“宏替换”的文件,应手工添加并包含这些引用文件。

在项目管理器中进行项目连编的具体步骤如下:

(1) 在项目管理器中打开相应的项目,单击“连编”按钮,弹出如图4所示的“连编选项”对话框。

图4

(2) 在“连编选项”对话框中,选择“重新连编项目”单选钮。

(3) 如果选择了“显示错误”复选框,可以立刻查看错误文件。这些错误集中收集在当前目录的一个<项目名称>.err文件中。编译错误的数量显示在状态栏中。

(4) 如果没有在“连编选项”对话框中选择“重新编译全部文件”复选框,只会重新编译上次连编后修改过的文件。当向项目中添加组件后,应该重复项目的连编。

(5) 选择了所需的选项后,单击“确定”按钮。

该操作等同于通过命令窗口执行BUILD PROJECT <项目名>命令。

如果在项目连编过程中发生错误,必须纠正或排除错误,并且反复进行“重新连编项目”,直至连编成功。

4) 连编应用程序

连编项目获得成功之后,在建立应用程序之前应该试着运行该项目。可以在“项目管理器”中选中主程序,然后选择“运行”命令。或者在“命令”窗口中,执行带有主程序名字的一个DO命令,如do main.prg。如果程序运行正确,就可以最终连编成一个应用程序文件了。应用程序文件包括项目中所有“包含”文件,应用程序连编结果有两种文件形式:

◆应用程序文件(.app):需要在Visual Foxpro中运行。

◆可执行文件(.exe):可以在windows下运行。

可执行文件需要和两个Visual Foxpro动态连接库(vfp6r.dll和vfp6enu.dll)链接,这两个库和应用程序一起构成了Visual Foxpro所需的完整运行环境,只有在Visual Foxpro的专业版才可用。还可以使用“安装向导”为可执行文件创建安装盘,使得该盘中带有所有应用程序所需的文件,例如数据库等必要的“排除”文件。

连编应用程序的操作步骤如下:

(1) 在“项目管理器”中,选择“连编”按钮。

(2) 如果在“连编选项”对话框中,选择“连编应用程序”复选框,则生成一个.app文件;若选择“连编可执行文件”复选框,则生成一个.exe文件。

(3) 选择所需的其他选项并单击“确定”按钮。

连编应用程序的命令是BUILD APP 或BUILD EXE。

例如,要从项目“图书管理系统.pjx”连编得到一个应用程序“图书管理系统.app”,在命令窗口键入:BUILD APP 图书管理系统 FROM 图书管理系统或BUILD EXE 图书管理系统 FROM

《数据库系统设计与开发》模拟实习教学大纲

《数据库系统设计与开发》 模拟实习教学大纲 (Database System Design and Development) 制定单位:工学院计算机科学与技术系 制定人:课程组 编写时间:2016年01月06日

第一部分课程概述 一、基本信息 (一)课程代码 课程代码:07110640 (二)课程属性、学分、学时 计算机专业的专业模拟实习、独立实验、2学分、40学时 (三)适用对象 本课程适用的对象为计算机科学与技术专业的本科生 (四)先修课程与知识准备 《C/C++程序设计》,《数据库原理》,《.Net编程》,《软件工程》 二、实验简介 《数据库系统设计与开发》模拟实习以数据库应用系统的设计与开发为主要目标,结合本专业的多门专业课程:《程序设计》、《数据结构》、《数据库原理》、《面向对象程序设计》、《.Net编程》、《软件工程》等开展专业模拟实习。《数据库系统设计与开发》模拟实习将针对一个现有的数据库应用领域,遵照《软件工程》课程中的生命周期法和软件开发规范进行系统分析与设计,按照《数据库原理》中的关系规范化理论进行数据库的模式设计,并结合《.Net编程》所学基于C#语言及.Net集成开发环境进行系统编码与调试,完成一个小型数据库应用系统的开发任务。最后,通过提交实习报告,提高学生科技论文的撰写能力。通过这一完整的实践教学过程,将进一步加强学生实践和动手能力的培养,真正理解和掌握数据库系统设计和开发的方法,提高学习效果,使学生可以学以致用,成为具有专业技能并有一定实际经验的人才。

三、实验项目 实验一:系统需求分析(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.理解需求分析在软件工程应用中的重要性 2.熟悉数据库建模的方法 3.掌握如何将客户的实际需求转化为描述性设计语言 (三)实习(实验)内容 为将要开发的系统作出一份明确、详细的需求分析报告。需求分析报告至少应该包含以下几部分: 1.系统的名称; 2.系统概述; 3.系统要实现哪些功能,每个功能的具体描述。 (四)实习(实验)地点 竞秀楼或竞慧楼机房 实验二:系统设计(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.掌握SQL Server数据库管理软件的使用,学习CASE工具(Visio或SA2001)的使用,用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统2.掌握系统设计的基本方法,提高解决实际问题、开发信息系统的实践能力 (三)实习(实验)内容 用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统。 1.根据实验时间选择适当规模大小的设计课题 2.根据合理的进度安排,按照软件工程系统开发的流程及方法,进行实验 3.实验过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后要

数据库设计案例-酒店管理系统精品

【关键字】方案、情况、方法、实效、空间、文件、模式、运行、认识、问题、系统、有效、充分、公开、持续、统一、发展、建立、制定、发现、了解、措施、特点、位置、安全、稳定、准则、根本、基础、需要、项目、职能、需求、方式、作用、标准、规模、结构、水平、速度、关系、设置、分析、简化、吸引、逐步、形成、严格、管理、维护、服务、发挥、解决、优化、调整、分工、保障、实现、提高、落实、系统性 酒店管理系统 一、背景说明 目前大多数酒店提供的服务多种多样,规模大小也各不相同,但稍具规模的酒店必含下面三类服务:饮食、住宿和娱乐。由于我们对酒店行业没有具体的接触和实质性的了解。此次数据库设计只能在一些收集到的基本材料与个人直观认识的基础上,简单模仿中等规模的酒店设计管理系统,并将其抽象成一个由三部门组成、实现三大服务的系统。 二、部门的划分 1.饮食部门 它是酒店基本部门之一。它提供服务的特点是实时性强、持续时间短,强调效率。例如,顾客人数、顾客所用的菜及其它饮料等种类繁多,数量不等;后勤各种活动如采购等频繁发生。通过分析可发现,用人工完成此类操作比计算机更具实效与时效,且此类信息也没有长时间保留的必要,因此这些信息没有必要采用数据库管理。对于饮食部门,需要较长时间保留的信息主要是财务信息,一方面便于期末汇总,另一方面便于向上级报告。 在规模较大的酒店餐饮服务部分,餐厅可分成几个等级或几个小部门,然后各自形成小系统,本系统为了简单起见,把饮食部门作为一个子系统,不再细分。 2.住宿管理部门 它也是酒店基本部门之一。住宿管理部门的主要职责有:A.给个房间布置各种设备、分类、编号、制定收费标准、分配服务人员。B.登记旅客信息,确认其身份,登记其入住、退房时间。C.统计各类房间的客满程度。D.对本部门的财务流动进行登记处理。以上信息处理可以通过计算机完成,其他不便于计算机操作的在此没有列出。 3.娱乐管理部门 娱乐是酒店非主流服务,它的存在除了赢利,更多的是为了吸引顾客食宿。娱乐部门的特点与饮食部门很相似,不便于使用计算机进行操作。可以用计算机完成并且有必要用计算机完成的有:A.制定收费标准,分配负责人.B.收入支出财务处理:编号、财务来源去处的摘要、数量、单价、数额、

vfp6.0第二章【数据库和表】

第二章.数据库和表 必备的知识点 1.二维表的每一列就是一字段(属性),每一行叫做一条记录(元组)。 一张表中最多255个字段,10亿条记录、 2.字段的属性、 每个字段有4个属性:字段名,字段类型,字段宽度,小数位数 字段名的命名:只能包含字母,数字,下划线,汉字;不能含有空格,不能以数字开头,不能以下划线开头。 字段变量的命名和内存变量的命名区别:内存变量可以下划线开头。 字段类型:

考点: 字符型字段最大的宽度是254个字节,127个汉字;日期型的宽度是8个字节,备注型是4个字节,备注型主要用于奖惩情况,个人简介,如果存储OLE对象,照片图片数据则应该设置为通用型。 (一)表的扩展名 .dbf ,表的备注文件的扩展名 .fpt 一个表如果有备注型字段,那么VFP会自动产生一个与表同名的备注文件。 不管备注型字段有多少个,一个表只有一个备注文件。 填写备注字段的内容快捷键:Ctrl+PageDn 或者双击 请问xsda表的备注文件名是xsda.fpt 。 (二)表分为两个部分表结构和表记录(数据)。 (三)表分为数据库表和自由表 数据库表:属于某个数据库的表。 自由表:不属于任何数据库的表。 在某一时刻,一张数据库表只能属于一个数据库。 数据库表和自由表可以相互转换

数据库表和自由表的区别: 1.数据库表支持长字段名(128个字符,64个汉字)。自由表的字段名不超过10个字符。 2.只有数据库表才能设置字段的有效性。 3.只有数据库表才能设置主索引。 create 表名 如:create d:\xs\xsda 打开表设计器创建表。 SQL命令创建表(无需打开表设计器) create table d:\xsda (姓名C (8),性别C (2),出生日期D ,入学成绩N (5,1),住校否L,照片G) use d:\abc in 0 alias bm noupdate again in 0在最小的暂未使用的工作区打开 alias bm 为打开的表到别名 noupdate 不允许修改表的数据,指定为只读 again 再一次打开已经在其它工作区打开的表 exclusive 独占方式。默认的方式 select <工作区号|别名> select 5 &&选择5号工作区为当前工作区。 use xsda in 1 use xscj in 2 alias cj select 2 (或者select cj ) 补充:可以使用alias 指定表的别名,如果没有使用alias指定别名,表的名字就是别名。

数据库应用系统开发报告

《专业技能训练—数据库应用系统开发》 报告 课程设计题目:医药管理信息系统 班级:13科技2班 姓名:詹文宏 学号:201324131251 任课教师:蔡文伟 开始时间:2015年09月7日 结束时间:2015年11月25日

目录 第一章系统概述 (3) 1.1 系统开发背景 (3) 1.2.系统开发目的 (3) 1.3.开发环境 (3) 第二章需求分析 (4) 2.1信息需求(基本信息) (4) 2.2功能需求 (4) 2.3数据库数据 (4) 2.4 模块图 (5) 2.5安全性与数据完整性要求 (10) 第三章概念结构设计 (11) 3.1系统E-R图 (11) 3.2逻辑结构设计 (12) 3.3主要模块的设计以及数据库操作 (14) 第四章设计总结 (24) 参考文献 (33)

第一章系统概述 1.1 系统开发背景 随着科技的不断进步,企业都在不断的注重管理的信息化以完善企业管理,增强企业自身的竞争力。医药业也不例外,通过较完善的信息系统实现自身企业对内部管理的方便性、合理性、快捷性、高效性等要求。 以前的手工管理效率低使最明显的缺陷,另外,数据的一致性不好维护,如某个药品信息的记录有所改动(如更改编号),那么该要品的其他记录就与此不一致,造成查询的费时费力。要把全部数据都更改又相当不方便。对药品库存的盘点也很不方便,而且需要较多的人来进行管理操作,而且容易出错,造成数据的不一致。而药品业是关民生的行业,错误信息可能会造成不可收拾的严重后果。因此,运用高效、准确的信息管理系统来替代手工管理是完善医药业管理的有效手段。 1.2.系统开发目的 利用数据库系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦。方便数据的更新和查询,降低错误率,方便药品信息的维护及库存的盘点。还可以运用较少的人员,高效的完成对医药的管理。由于社会的发展不断趋于信息化,各个行业都要加强自身的信息化程度以适应社会的发展。而管理信息化正迎合了这个趋势,数据库系统在医药业的应用业实现了医药业执行工具、业务管理等的信息化,在这个信息化社会为医药业的发展增加了新的动力。相信随着社会的不断发展对该类系统的需求会越来越高。医药管理信息系统,即服务于个人,又服务于企业,并最终服务于社会,这是让科技为人类服务的最好例证,其开发意义显而易见。 1.3.开发环境 1)数据库管理系统选用Microsoft SQL Server 2005。

数据库应用系统开发案例-程序代码

数据库应用系统开发 数据库系统开发案例—图书现场采购系统系统主窗体的实现 1.数据表结构的实现 经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。 (1)创建书商图书基本信息表bookseller_bookinfo CREATE TABLE bookseller_bookinfo( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (2)创建图书馆图书馆藏基本信息表library_bookinfo CREATE TABLE library_bookinfo ( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (3)创建用户注册表user_info CREATE TABLE user_info ( user_ID varchar(10) PRIMARY KEY , user_PWD varchar(10) null )

学生数据库设计实例

学生成绩管理系统 目录一:需求分析 二:系统功能描述 三:E-R图 四:数据库逻辑结构设计 五:数据库物理设计 六:代码设计 七:SQL代码 八:界面截图 一:需求分析: 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,对学生成绩信息的管理难度随之增大。面队如此庞大的信息量,这就需要学生成绩管理信息系统来提高学生管理工作的效率。通过这样的系统,做到信

息的规范管理、科学统计以及快速的查询和修改,从而减少管理方面的工作量。总体任务是要实现学生成绩信息关系的系统化、规范化和自动化。根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:学生基本信息的输入,其中包括学生学号、姓名、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。 学校基本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。 教师基本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况 学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。 识别每个用户的身份和密码,从而保证信息的安全性,防止信息的外泄和盗用。 还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。 二:系统功能描述 教务处(管理员) 教师学生

三:E-R图(概念结构建立)1)学生查询系统的分E-R图

2)教师查询更新系统的分E-R图 3)管理员分E-R图

数据库课程设计题目16个经典实例学习资料.doc

数据库课程设计题目16个经典实例 1.机票预定信息系统 系统功能的基本要求: 航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。 2.长途汽车信息管理系统 系统功能的基本要求: 线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。 3.人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。 4.超市会员管理系统 系统功能的基本要求: 加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。 5.客房管理系统 系统功能的基本要求: 客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。 6.药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。

简单数据库设计实例

数据库设计实例 数据库设计是数据库应用系统设计的一个组成部分,其核心是针对于特定的应用环境,设计合理的数据模型,创建数据库及其应用系统,使之能够有效地存储和处理数据,以满足用户的应用需求。从实用角度出发,数据库设计可分为如下几个步骤: 第一步:创建概念数据模型 ◆确定实体和关系 ◆确定属性 ◆规化数据 第二步:生成物理数据模型 第三步:验证设计 为便于学习者理解和掌握,下面结合具体的实例来讲解和展示数据库设计的详细过程。假定我们要开发一个小型的ERP系统,以管理公司部资源,其应用业务场景描述如下: v512工作室由IT业界专业人士组成,在提供高端IT培训业务的同时,还自主制作并免费发布大量公益性学习资源,工作室以公司形式运营,目前共拥有18名员工,这些员工分属于4个部门,且员工之间存在上下级管理关系。计划将来根据业务的发展设立更多的部门,聘用更多的员工。为保证质量,工作室对其成员的各项专业技能进行了级别评定。 8.5.1 确定实体和关系 1. 确定高级别的活动 要确定本ERP系统数据库设计中的实体和实体间关系,首先应明确要基于该数据库执行的高级别活动,这里所谓的高级别活动是指从用户的视角出发,确定本数据库设计中系统所涉及到的业务活动。比如,存储和维护员工的个人信息等。 在前述的应用业务场景中,v512工作室需要考虑的高级别活动包括: -聘用新员工 -解雇现有员工 -维护员工的个人信息 -增设新部门 -裁撤现有部门 -维护部门信息 -维护工作室业务相关的技能信息 -维护各员工的业务技能掌握情况 2. 确定实体 接下来要确定的是,针对上述的高级别活动需要记录和维护有关哪些事物的信息,这些事物将被转换为实体。其中,员工相关信息可抽象为“Employee”实体、部门相关信息可抽象为“Department”实体、技能相关信息抽象为“Skill”实体,为规和方便起见,这些实体均采用英文命名,并尽量在名称中体现其含义。 3. 确定关系 进一步对上述高级活动进行分析,以确定实体间存在何种关系。具体包括: -Employee-Department实体之间存在隶属关系 员工必须且只能隶属于某一个特定的部门,一个部门可以包含0~多名员工,此为一对多关系。 这种从两个方向上对同一个关系的细化描述被称为关系的角色,每个关系都对应两种角色。

数据库系统课程设计--实例

摘要 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数据设计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。 本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本系统利用IBM DB2企业版本开发出来的。DB2是IBM公司开发的关系关系数据库管理系统,它把SQL语言作为查询语言。 本文的分为5章。其中第1章主要是课题简介及设计的内容与目的。第2章是需求分析,此阶段是数据库设计的起点。第3章是概念设计,它是将需求分析的用户需求抽象为信息结构,这是整个数据库设计最困难的阶段。第4章是逻辑结构设计,它将概念模型转换为某个DBMS所支持的数据模型。第5章是数据库的实施与运行,它包括数据的载入及数据库的运行。 关键词:SQL语言;IBM DB2;数据库设计;教学管理系统 I

VFP数据库试卷(带答案)

《VFP数据库》试卷 1.下列表达式的结果为真的是()。 A.'中国'<='' B.'电脑'$'电脑报' C.2*4.2<=11%6 D.'电脑报'=='电脑' 2.视图不能单独存在,它必须依赖于()。 A.视图B.查询C.数据表D.数据库 3.有如下SQL select语句: select * from 成绩where 数学between 80 and 100 与该语句等价的SQL语句是()。 A.select * from 成绩where 数学<100 and 数学>80 B.select * from 成绩where 数学>=100 and 数学<=80 C.select * from 成绩where 数学>100 and 数学<80 D.select * from 成绩where 数学<=100 and 数学>=80 4.SQL语句中修改表结构的命令是()。 A.alter table B.modify table C.alter structure D.modify structure 5.SQL中,select语句的功能是()。 A.定义B.查询C.修改D.控制 6.只有数据表中有而自由表中没有的索引类型是()。 A.普通索引B.唯一索引C.主索引D.候选索引7.要将当前数据库的“照片”字段删除,应使用()命令。 A.delete B.zap C.modify structure D.pack 8.一个工作区最多可以打开()个表。 A.32767 B.1 C.2 D.3 9.查询设计器的“筛选”选项卡,对应SQL语句的子句是()。 A.join on子句B.where子句 C.group by子句D.having子句 10.字符串长度函数len("学英语从ABC开始")的结果是()。 A.9 B.18 C.15 D.16.6 11.要为“成绩”表的所有学生的语文成绩增加10分,正确的SQL命令是()。 A.replace 成绩set 语文=语文+10 B.update 成绩set 语文=语文+10 C.edit 成绩set 语文=语文+10 D.change 成绩set 语文=语文+10

基于C#的数据库系统开发

基于C# 的数据库系统开发 图书馆管理系统

? ?第一讲认识数据库和掌握C#基本语法

什么是数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

主流数据库有哪些 ?微软:sql server 和access;瑞典:AB公司mysql;IBM公司:db2;美国Sybase公司:Sybase;IBM公司:informix;美国oracle公司:oracle; ?小型数据库:access、foxbase; ?中型数据库:sql server 、mysql、informix; ?大型数据库:db2、Oracle、Sybase。

数据库管理系统(DBMS) 数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL(Data Definition Language)与数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

c(sharp)#语言简介 ?C#是一种安全的、稳定的、简单的、优雅的,由C 和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特 性(例如:没有宏和模版,不允许多重继承)。 ?C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的 语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。 ?C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Pascal、Java、VB等。

数据库设计实例—教学管理系统

数据库课程设计报告 教学管理系统 数据库设计 课程设计题目教学管理系统学院软件学院 班级软件技术四班年级2013级 姓名彭超李新徐彤(2014 年11月)

用5行左右的文字对系统进行简要介绍 对教学管理信息统一规范整理,实现各种信息的自动管理。为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。 减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。以简单便捷的操作获取详尽的信息。 一、数据需求分析 某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。另外,为了管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。 本系统数据字典如下: 数据项表

数据流 数据流表 二、概念结构设计 1.首先确定系统中的实体 从以上数据需求可以看出,系统共包括5个实体:学生、专业、学院、教师、课程。

2.再确定系统中实体间的关系 根据数据需求描述推出:专业与学生是1对多关系;学生与课程是多对多关系;课程与老师是多对多关系;课程与学院是多对1关系;学院与专业是1对多关系;学院与教师是1对多关系。 3.转化成E-R图 图1 实体-属性图 图2 教学管理ER图 三、逻辑结构设计

VFP数据库和表的操作

自由表的创建方法: 一、表向导 1、在项目管理器中,“数据”选择自由表,单击“新建”,选择“表向导”; 2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“向导”; 3、“工具”菜单中“向导”中的“表” 二、表设计器创建自由表 1、在项目管理器中,自由表→新建→新建表 2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“新建文件”; 三、用命令创建表 1、 CREATE<表文件名> 命令功能:打开表设计器新建一个VFP表。例如:在D盘XS文件夹中新建ST表 CREATE D:\XS\ST 2、用SQL语言创建,例如:在D盘XS文件夹中新建ST表,包含字段姓名,性别 CREATR DBF D:\XS\ST(姓名 C(8),性别 C(2)) 3、复制表 COPY TO <表文件名>[FIELDS 字段列表] [FOR 条件] 命令功能:复制当前表并创建一个新表。例如:复制D盘XS文件夹中的ST表到同目录下的 USE D:\XS\ST COPY TO D:\XS\LX 如果只复制姓名: USE D:\XS\ST COPY TO D:\XS\LX FIELDS 姓名 4、复制表结构 COPY STRUCTURE TO <表文件名>[FIELDS 字段列表] 命令功能:复制当前表结构并创建一个新表。例如:复制D盘XS文件夹中的ST表的表结构到同目录下的 USE D:\XS\ST COPY STRUCTURE TO D:\XS\LX 如果复制结构中的姓名字段 USE D:\XS\ST COPY STRUCTURE TO D:\XS\LX FIELDS 姓名

VFP数据库系统开发实例(附图)

VFP基本数据库系统开发实例(附图) 西南大学计信院 导学 在Visual Foxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。 11.1 系统需求分析 传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能: 1. 数据需求 通过调查,总结出该应用程序对数据的需求大致有如下这些: (1) 学生信息 包括学号,姓名,性别,出生日期,系科,备注,照片 (2) 管理员信息 包括用户名,密码,管理员姓名,权限,说明信息 (3) 学生成绩信息 主要包括学号, 课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否 (4) 课程信息 包括课程编号,课程名称 2. 功能需求 功能分析的任务是了解用户对数据的处理方法和输出格式。 (1) 基本数据录入 基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。 (2) 查询 能够查询出学生成绩,和补考人员名单等。 (3) 学生和管理员信息的维护 要求能够根据需要对学生和管理员信息进行维护修改等。 (4)成绩的审核 根据学生的总评成绩审核学生的计算机成绩是否通过。 (5) 打印输出 打印学生成绩表和补考人员名单等。 11.2 系统设计 1. 程序总体结构设计 在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分

数据库设计实例

114801班 数据库综合题设计实例 一、问题描述:某集团公司拥有多个大型连锁商场,公司需要构建一个数据库系统以方便管理其业务运作活动 ? 需求分析结果: ? 1、商场需要记录的信息包括:商场编号(编号唯一)、商场名称、地址和联系电话; ? 2、每个商场包含有不同的部门,部门需要记录的信息包括:部门编号(编号唯一)、 部门名称、位置分布和联系电话; ? 3、每个部门雇佣多名员工处理日常事务,每个员工只能隶属于一个部门,员工需 要记录的信息包括:员工编号(编号唯一)、姓名、岗位、电话号码和工资; ? 4、每个部门的员工中有一名是经理,每个经理只能管理一个部门,系统需要记录 每个经理的任职时间。 1、E-R 图 2、关系模式 ? 商场(商场编号,商场名称,地址,联系电话) ? 部门(部门编号,部门名称,位置分布,联系电话,商场编号) – 外键:商场编号 ? 员工(员工编号,员工姓名,岗位,电话号码,工资,部门编号) – 外键:部门编号 ? 经理(员工编号,任职时间) – 外键:员工编号 ? 为使商场有紧急任务时能联系到轮休的员工,要求每位员工必须登记且只能登记一 位紧急联系人的姓名和联系电话,不同的员工可以登记相同的紧急联系人,则在E-R 图中还需添加的实体是什么?该实体和图中的员工存在什么样的联系(联系类型)。给出该实体的关系模式。 ? 紧急联系人,1:n 商场 经理 部门 员工 联系1 联系2 联系3 联系4 1 m n 1 m 1 1 1

? 紧急联系人(员工编号,姓名,联系电话) 二、问题描述:某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下: ? (1)邮件客户端系统支持多个用户,用户的信息主要包括用户名和用户密码,且 系统的用户名不可重复。 ? (2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地 址。 ? (3)一个用户可以拥有一个地址簿,地址簿信息包括联系人编号、姓名、电话、 单位地址、邮件地址1、邮件地址2、邮件地址3等信息。地址簿中的一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。 ? (4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包 括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。 2、E-R 图 3、关系模式 ? 用户(用户名,用户密码) ? 地址簿(用户名,联系人编号,姓名,电话,单位地址,邮件地址1,邮件地址2, 邮件地址3) – 外键:用户名 ? 邮件帐号(邮件地址,邮件密码,用户名) – 外键:用户名 ? 邮件(邮件号,发件人地址,收件人地址,邮件状态,邮件主题,邮件内容,发送 时间,接收时间) – 外键:发件人地址,收件人地址 ? 附件(邮件号,附件号,附件文件名,附件大小) – 外键:邮件号 地址簿 邮件帐 邮 件 附 件 用 户 拥有1 拥有2 属于 包含 1 1 1 m 1 1 m m

基于web的数据库系统开发与应用

基于web的数据库系统开发与应用 摘要:伴随着网络技术的迅速发展,基于Web的数据库应用也变得越来越广,本文从系统的用户特点和主要功能入手,结合实际应用,深入分析了Web数据库体系结构的发展,分析了其关键因素体系结构的升级对系统开发产生的影响。最后提出了数据库各种体系结构的工作原理及存在的问题, 关键词:Web;教学系统;数据库;设计 随着计算机技术的飞速发展, 社会信息化程度迅速提高, 作为信息系统核心和基础的数据库技术得到越来越广泛的应用, 甚至在计算机应用的各个领域, 数据库都起着至关重要的作用。然而, 在计算机网络技术和数据库技术的不断发展下, 原来基于主机的数据库技术应用程序已不能满足人们的需求, 因此, 基于的数据库应用越来越广, 数据库与网络技术的优势得到进一步发挥。 1 WEB 计算模式 目前,利用Web 计算模式来组织和发布单位内的信息资源已经成为网络应用中的发展方向,其目标是把Web 浏览器作为用户浏览单位内部信息的统一界面,允许用户对存放在任何平台服务器中的信息进行访问。由于历史和技术的原因,在单位中存在大量的各式各样的计算机和服务器,甚至还会存在不同类型的网络,从而使得单位网的结构非常复杂。同时,单位网中含有的信息量以及信息的重要程度也在不断增加。单位中各个部门地理上的分散以及MIS 产品的多样性,造成网络中的数据不集中,数据格式不统一,部门间的数据很难在更大规模上实现共享。为了保持市场竞争力,单位结构正朝着更精简、更灵活的方向转变。单位对信息的需求与日俱增,并且要求能够跨部门共享和传递信息。决策者在市场竞争的压力下需要利用最简单的方式获得单位的整体信息。 Web 技术的出现,使单位应用系统能有一个简化、低廉、以Web 为基础的客户端,并重建一个高效率的、节约的服务器端。Web 是一种新型的、以服务器为中心的结构体系,它使单位摆脱了以往那种需密集人力资源的、高成本的操作及管理方式,而转向Web 服务器(也有人称之为应用服务器),把注意

数据库管理系统

9.2 一个完整的数据库管理系统实例 很多人都有过到书屋租书的经历,我们往往会为老板的健忘以及业务的混乱恼火!那么我们就来建立图书租借系统为那些老板解忧吧! 9.2.1 数据分析并创建表 书店的业务看似简单,其实也需要仔细分析才能理出头绪。下面列出了需要的数据。 ●与顾客相关的数据:顾客姓名,顾客编号,电话,是否会员,会员编号,地址。 ●与书籍相关的数据:图书编号,几册装,图书名称,作者编号,作者,类型编号, 类型,出版社编号,出版社名称,电话,一般价,会员价。 ●租借记录:顾客姓名,借阅日期,是否归还,归还日期,借阅图书。 ●会员缴款记录:缴款编号,缴款日期,客户编号,缴款金额。 以上列出了需要的数据,但是依照上述数据建立的表格会出现数据的重复及冗余。因此,我们要在分析的基础上建立表间的关联。很显然,与书籍有关的数据可以分拆成四个表,分别为: ●图书清单表:图书编号(索引),几册装,一般价,会员价,图书名称。 ●作者名单表:作者编号(索引),姓名。 ●图书类型表:类型编号(索引),类型。 ●图书名单表:图书编号(索引),图书名称。 ●出版社名单:出版社编号(索引),出版社名称,电话。 在表的分析基础上,我们可以设计出8个表,分别为“书籍清单”,“顾客名单”和“租借记录”3个主表,以及“书籍类型”、“书籍名单”、“作者名单”、“出版社名单”与“会员缴款记录”5个附表。建立的关系如图1-1所示。 图9-1 建立的表关系视图

接下来我们将分别建立这8个表。 (1)书籍清单表:首先鼠标单击任务窗格中【新建】|【空数据库】选项,打开如图9-2所示窗口。 图9-2 新建空数据库窗口 在上图中选择保存路径及名称,本例保存在E:/数据库实例文件夹下,命名为书籍租借管理系统。鼠标单击【创建】按钮。打开数据库窗口如图9-3所示。 图9-3 数据库窗口 在这个窗口里就可以利用以前学的知识建立表了,下面以顾客记录表为例,其它表大家自己创建。首先选择表对象,鼠标单击【新建】按钮,选择“设计视图”后,单击【确定】按钮,如图9-4所示。

大型ERP等数据库系统常见的几种设计概要

. 自增长 primary key 采用自增长 primary key主要是性能。早期的数据库系统,经常采用某种编号,比如身份证号码,公司编号等等作为数据库表的 primary key。然而,很快,大家就发现其中的不利之处。 比如早期的医院管理系统,用身份证号码作为病人表的 primary key。然而,第一,不是每个人都有身份证;第二,对于国外来的病人,不同国家的病人的证件号码并不见得没有重复。因此,用身份证号码作为病人表的 primary key是一个非常糟糕的设计。考虑到没有医生或者护士会刻意去记这些号码,使用自增长 primary key是更好的设计。 公司编号采用某种特定的编码方法,这也是早期的数据库系统常见的做法。它的缺点也显而易见:很容易出现像千年虫的软件问题,因为当初设计数据库表的时候设计的位数太短,导致系统使用几年后不能满足要求,只有修改程序才能继续使用。问题在于,任何人设计系统的时候,在预计某某编号多少位可以够用的时候,都存在预计不准的风险。而采用自增长primary key 则不存在这种问题。同样的道理,没有人可以去记这些号码。 使用自增长 primary key另外一个原因是性能问题。略有编程常识的人都知道,数字大小比较比字符串大小比较要快得多。使用自增长 primary key可以大大地提高数据查找速度。 2. 避免用复合主键 (compound primary key 这主要还是因为性能问题。数据检索是要用到大量的 primary key 值比较,只比较一个字段比比较多个字段快很多。使用单个 primary key 从编程的角度也很有好处, sql 语句中 where 条件可以写更少的代码,这意味着出错的机会大大减少。 3. 双主键

典型案例数据库设计

本科学生综合性实验报告课程名称:数据库系统原理 电子商务数据库设计项目组长学号0061375 班级选课03班小组第12组 实验项目名称乐购电子商城销售系统设计 指导教师 开课学期2008至2009学年第一学期 完成时间2008年12 月30 日

目录 1、需求分析 (1) 1.1系统的功能描述 (1) 1.2系统总体功能图 (3) 1.3系统流程图 (5) 1.4数据流图 (6) 1.5实体与数据 (6) 1.6联系与数据 (6) 1.7数据字典 (7) 2概念结构设计 (16) 2.1实体图 (16) 2.2 多个实体间的联系图 (17) 2.3总体ER图 (20) 3逻辑结构设计 (21) 3.1关系设计 (21) 3.2关系优化 (22) 3.3约束的说明 (24) 3.4基本表 (25) 4物理结构设计 (30) 4.1确定数据库的存储结构 (30) 4.2确定数据库的存取方法 (30)

1、需求分析 1.1系统的功能描述 电子商城销售管理系统ESS用户分为三类: (1)商家管理员:此类客户可以取得商城管理员的权限,可以浏览所有客户信息,查找客户,给客户分配合理的权限,删除不合法客户等。 (2)商城游客:只可以浏览商城开放的业务和信息,不可以进行网上交 也不为该类客户提供个性化服务,该类客户无需注册。 (3)商城正式客户:必须在商城注册,登录本商城后,这类客户可以 览商城开放的业务和信息,可以进行网上交易,也可享受商城提供的个性化服务以及优惠服务等。 作为在线购物商城,前台销售系统提供以下功能:客户信息管理,商品信息管理,购物车管理,订单信息管理。 (1)客户信息管理 ①客户必须注册并登录本系统才能进行网上交易活动。一个客户只能拥有一个注册号(用户名),注册号可由客户根据自己的喜好自行定义,但必须唯一且在6-16位以内,且第一位必为字母C,其他只能由数字组成。 ②同一时间内一个注册号不能在多处登录。客户所填资料必须真实,其中注册号、密码、姓名、性别、地址、邮编为必填资料。 ③客户的积分将根据客户的订单金额逐次积累,即客户每购买一元的商品,则客户积分增加一分.其积分等级分为一钻,二钻,三钻,一钻客户为普通客户,积分为0-499分,不享受任何优惠;二钻客户积分为500-999分以内,所有商品九折优惠;三钻客户积分为1000分以上,所有商品八折优惠.当客户积分达到一定分数后,自动修改为相应等级。 ④客户注册成功以后,其注册信息将自动被加入客户表中。登录系统后,客户可以查询或修改个人信息。 (2)商品信息管理 ①客户登录本系统后,可以浏览本商城所展示的商品。 ②客户登录本系统后,可以查找自己所需要的商品。 ③客户登录本系统后,可以购买自己选中的商品。 (3)购物车管理

相关主题
文本预览
相关文档 最新文档