第9章-数据库应用系统开发实例_第1页
第9章-数据库应用系统开发实例_第2页
第9章-数据库应用系统开发实例_第3页
第9章-数据库应用系统开发实例_第4页
第9章-数据库应用系统开发实例_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章

数据库应用系统开发实例主编:潘惠勇

夏敏捷Access数据库技术及应用1教学目标了解数据库开发的一般过程。掌握导航窗体的建立。掌握应用程序的打包和发布。第9章数据库应用系统开发2第9章数据库应用系统开发实例9.1系统开发的一般过程9.2系统需求分析9.3系统设计9.4系统模块设计与实现9.5设置启动窗体9.6生成ACCDE文件第9章数据库应用系统开发39.1系统开发的一般过程1需求分析2系统设计3系统实现4测试5系统维护第9章数据库应用系统开发49.1系统开发的一般过程1.需求分析开发数据库应用系统首先必须明确用户的各项需求,确定系统目标和软件开发的总体构思。简单地说这一阶段有两个任务,一是要做深入细致的调查研究、摸清人们现在完成任务所依据的数据及其联系、使用什么规则、对这些数据进行什么样的加工、加工结果以什么形式表现等;二是要明确系统要“做什么”,客户要求系统完成什么样的功能,最终达到什么样的目的等。第9章数据库应用系统开发59.1系统开发的一般过程2.系统设计在了解用户需求后,接下来就要考虑“怎样做”,即如何实现软件的开发目标①设计工具和系统支撑环境的选择,如数据库、开发工具的选择、系统所运行的软硬件环境等。②怎样组织数据,也就是数据库的设计,确定应用系统所需的各种数据的类型、长度、组织方式等。数据库设计的优劣将影响数据库应用系统的性能以及功能的实现。数据库设计分为概念设计、逻辑设计和物理设计。概念设计主要通过综合、归纳与抽象,形成一个独立于DBMS的概念模型(E-R模型);逻辑设计是将概念模型转换为某个DBMS所支持的数据模型,如Access所支持的关系模型;物理设计是为逻辑模型选择一种合适的存储结构和存储方法。③系统界面的设计,如窗体、菜单、报表的设计等。④系统功能模块的设计,也就是确定系统需要哪些功能模块,怎样组织各个功能模块,以便完成系统数据的处理工作。对一些较为复杂的功能,还应该利用各种辅助工具进行算法设计。第9章数据库应用系统开发69.1系统开发的一般过程3.系统实现系统实现就是根据系统的设计,在所选择的开发环境之上,建立数据库和表,建立各种查询;编写事件响应代码,实现系统菜单、窗体、报表等各种对象的功能等。第9章数据库应用系统开发79.1系统开发的一般过程4.测试

测试阶段的任务就是验证系统能否稳定的运行,系统功能是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正,确保系统交付运行时的安全性和可靠性。第9章数据库应用系统开发89.1系统开发的一般过程5.系统维护系统交付使用后,还要进行系统的日常运行管理、系统评价和系统维护。如果系统在使用过程中出现问题,还需要进行不断修改、调整和完善,以便修正系统程序的缺陷。第9章数据库应用系统开发99.2系统需求分析本系统是针对高等院校的学生学籍管理。在对当前系统进行详细调查,了解业务处理流程后得出,该系统所涉及的用户包括学生、教师、系统管理人员,主要包含学生信息、教师信息、课程信息、院系信息、班级信息以及选课成绩等多种数据信息。对于本系统实现的具体功能要求:

管理基本信息——各种基本信息的录入、修改、删除等操作。

管理学生成绩——对学生成绩的录入、修改、删除操作。

信息查询功能——对各种信息的查询操作。

统计输出功能——对各种数据进行统计并且按照一定的格式输出。性能要求:

用户还要求系统运行效率高、查询速度快、能够保证数据的安全性第9章数据库应用系统开发109.3系统设计9.3.1系统模块设计9.3.2数据库的设计第9章数据库应用系统开发119.3.1系统模块设计通过对学籍管理业务的分析,“学籍管理”系统主要有“学生管理”模块、“教师管理”模块、“课程管理”模块、“成绩管理”模块、“系统管理”模块,功能结构图如图第9章数据库应用系统开发129.3.1系统模块设计院系信息和班级信息作为系统基础数据,一般由管理员录入后,修改的概率比较小,这里放到系统管理模块中,也可以将其单独作为一个功能模块设计。数据导入导出模块用于和外围系统进行交互,比如现在很多高校已经有选课系统,可以将选课信息直接导入数据库中。第9章数据库应用系统开发139.3.2数据库的设计经过了以上对系统的分析,可以说从整体上把握了整个系统的工作流程和系统的功能要求,以此为基础就可以进入数据库的设计阶段在本系统中确定的实体有学生、课程、教师、选课成绩、院系和班级(其关系模式见第2章所示)。第9章数据库应用系统开发14另外,使用本系统需要身份验证,即需要“用户”这一实体,其关系模式如下:用户(用户名,密码,备注)9.3.2数据库的设计第9章数据库应用系统开发15数据库的逻辑结构设计就是把概念结构设计阶段设计好的E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。主要规划字段的名称、类型、大小等。例如,“用户”表的逻辑结构如表9.1所示。字段名称数据类型字段大小允许空值说明user_name文本10必填用户名称user_psw文本6必填用户密码user_memo文本20允许备注信息其他数据表的逻辑结构如第3章所述9.3.2数据库的设计依据数据库的逻辑设计,就可以创建数据库。Access2016创建数据库时首先建立数据库,然后创建各个数据表。“学籍管理”系统数据库的创建详见第3章,这里不再介绍创建方法第9章数据库应用系统开发169.3.2数据库的设计在数据库创建后,根据应用系统功能的需要,可以先建立常用的查询,在后面模块功能实现的过程中,根据实际编程的需要,还要不断地增加新的查询、修改查询等操作。数据库一旦建立好,在数据库应用系统开发过程中,万不得已情况下,最好不要修改数据库,但查询可以修改。本系统根据实际需要,需要将立一些常用的查询。例如,“学生成绩”查询,用来查询学生的学号、姓名、课程号、课程名、任课老师、开课学期、课程性质、成绩;“班级入学成绩统计”查询,用来统计每个班学生入学成绩的最高分、最低分、平均分;“课程选修人数统计”查询,用来统计每门课选修的学生人数等。第9章数据库应用系统开发179.4系统模块设计与实现在确定系统的功能模块之后,就要对每个模块进行设计,实现每个模块的功能。下面主要以“学生管理”模块为例,介绍数据录入窗体及输出报表的设计过程。第9章数据库应用系统开发189.4.1学生信息维护窗体学生信息维护窗体能够实现学生基本信息的录入、添加、修改、保存功能。Access设计窗体时,一般要利用Access自带的向导功能设计窗体的初型,然后再对窗体进行修改,成为自己想要的风格。学生信息维护窗体界面如图9.4所示。第9章数据库应用系统开发199.4.2学生信息查询窗体一个好的数据库应用系统必须提供灵活强大的查询功能,方便用户使用。简单的选择查询可以事先建立好查询,然后以该查询作为数据源建立查询窗体;实际应用中用户往往希望根据一个条件或者多个条件的组合进行查询,如学生信息查询,可以按照学号、姓名、性别、班级查询,甚至也可以按照多个条件组合查询等。对于要求通过窗体界面输入查询条件,并将查询结果通过窗体显示的这类查询窗体的设计,可以根据Access数据库的特点,选择利用参数查询或者VBA编程实现其功能。第9章数据库应用系统开发20利用参数查询作为数据源建立学生信息查询窗体例如,要建立如图9.5所示的查询窗体“学生信息查询-参数”。分析:可以通过窗体界面的性别和班级文本框中输入的数据作为一个参数查询的条件,进行数据库查询。第9章数据库应用系统开发21利用参数查询作为数据源建立学生信息查询窗体第一步建立窗体。建立窗体,名称为“学生信息查询-参数”。在“设计视图”下打开窗体,在窗体页眉节下添加相应控件并进行调整,效果如图9.5所示。其中标签标题为“性别:”后的文本框必须命名为“txtxb”,标签为“班级:”后的文本框必须命名为“txtbj”;查询命令按钮的名称命名为“cmdSelect”。第9章数据库应用系统开发22利用参数查询作为数据源建立学生信息查询窗体第二步,建立参数查询,名称为“参数查询-学生基本信息”。在xb条件下输入“[forms]![学生信息查询-参数]![txtxb]”,在xb条件下输入“[forms]![学生信息查询-参数]![txtxb]”,如图9.6所示。第9章数据库应用系统开发23利用参数查询作为数据源建立学生信息查询窗体第三步,为窗体绑定数据源,在查询命令按钮的单击事件下书写如下代码:PrivateSubcmdSelect_Click()'为窗体绑定数据源Me.Form.RecordSource=″参数查询-学生基本信息″'刷新当前窗体Me.RefreshEndSub第9章数据库应用系统开发24VBA编程实现查询利用VBA编程能够实现查询条件更加复杂、功能更加强大的查询,在使用宏或者Access提供的设计工具无法实现想要的结果或者实现起来比较麻烦时,可以使用VBA编程去实现需要的功能。查询设计模块经常是用VBA编程去实现的。第9章数据库应用系统开发25VBA编程实现查询举例实现按照姓名、性别和班级3个条件组合查询学生的信息,要求当条件为空的时候查询所有记录,界面如图9.7所示。第9章数据库应用系统开发26VBA编程实现查询查询设计分析:该窗体中性别和班级条件用到了组合框控件,使用组合框可以选择查询条件值,也可以输入查询条件值,方便用户操作。首先要依据“学生”表建立查询,命名为“性别-分组”,按“性别”字段分组,并且仅含“性别”一个字段;同样要建立查询“班级-分组”,按“班级”字段分组,含有“班级”一个字段。设计查询界面时要作为这两个组合框的数据来源第9章数据库应用系统开发27VBA编程实现查询窗体设计①首先以学生表作为数据源,利用窗体向导建立表格窗体“学生信息查询-VBA”。②在设计视图下打开该窗体,确保“使用控件向导”处于选中状态下,在窗体的页眉节添加一个组合框,在弹出的向导窗口中选择“使用组合框获取其他表或查询中的值”,接下来选择查询“性别-分组”,标签标题设置为“请选择性别”,名称设置为“cmbXb”。同样方法添加选择班级名称的组合框“cmbBj”。③添加一个文本框,名称为txtXm,标签标题设置为“请输入姓名”,添加一个命令按钮,名称为“btnSelect”。第9章数据库应用系统开发28VBA编程实现查询PrivateSubcmbXb_AfterUpdate()IfcmbXb.Value<>""ThenIfcmbXb.Value<>"男"AndcmbXb.Value<>"女"ThenMsgBox"输入数据有误,性别只能输入男或女!"cmbXb.SetFocusEndIfEndIfEndSubPrivateSubcmdSelect_Click()Dimstrxm,strxb,strbj,strSqlAsString'如果txtxm文本框为空,查找全部数据,否则支持模糊匹配姓名信息,比如查找“张*”Iftxtxm<>""Thenstrxm="xmlike'"&txtxm&"'"Elsestrxm="xmlike'*'"EndIf第9章数据库应用系统开发29'如果cmbXb组合框值为空,查找全部数据,否则按条件查找IfcmbXb<>""Thenstrxb="xb='"&cmbXb&"'"Elsestrxb="xb='男'orxb='女'"EndIf'如果cmbBj组合框值为空,查找全部数据,否则支持模糊匹配查找班级信息IfcmbBj<>""Thenstrbj="bjmclike'"&cmbBj&"'"Elsestrbj="bjmclike'*'"EndIfstrSql="selectxh,xm,xb,csrq,rxsj,gkcj,bjmcfrom学生where"&strxm&"and("&strxb&")and"&strbj'设置窗体数据源Me.Form.RecordSource=strSqlMe.RefreshEndSub9.4.3学生信息打印报表“学生信息打印”模块主要功能是将需要的数据信息或者查询统计的结果按照一定的格式打印出来,可以用报表打印,也可以将数据导出为Excel、Txt格式形式打印,学生信息模块主要是以报表的形式输出数据。报表设计在开发数据库应用系统中是件很麻烦、很烦琐的事情,需要不断地调整字体大小、纸张宽度、控件布局等,以便按照用户需要的格式输出数据。Access提供了灵活、简便的报表设计工具,能够快速的设计报表。第9章数据库应用系统开发309.4.3学生信息打印报表根据系统需求,学生信息输出模块主要设计的报表有“班级学生名单”报表、“学生综合信息主子报表”报表、“学生入学成绩统计”报表等第9章数据库应用系统开发319.4.4创建主控界面前面创建了应用系统的各个功能模块,现在需要将各个模块集成起来,才能够形成完整的应用系统,发挥应有的功能。Access2016提供的切换面板和导航窗体能够很容易的将各项功能集成起来,能够创建出具有统一风格的主控界面。第9章数据库应用系统开发32使用切换面板创建主控界面切换面板可以很方便的将系统的功能模块集成在一个或者几个切换面板上,形成一个主控界面,切换面板上布局一些命令选项(按钮),单击这些选项可以打开相应的窗体和报表,也可以打开其他切换面板。设计人员可以根据系统模块的划分,将每级模块分别对应一个切换面板,然后由一个主切换面板组装起来Access2016没有将“切换面板管理器”工具放在默认的功能区中,使用时首先要将该功能按钮添加到功能区中第9章数据库应用系统开发33使用切换面板创建主控界面下面创建“学籍管理”系统切换面板,创建之前由功能结构图写出详细的切换面板页、每一个切换面板页上的项目和每一个项目的操作。以“学生管理”模块为例第9章数据库应用系统开发34切换面板页切换面板页上的项目(按钮)每一个项目(按钮)的操作主切换面板学生管理转至“切换面板”:学生管理页教师管理转至“切换面板”:教师管理页课程管理转至“切换面板”:课程管理页成绩管理转至“切换面板”:成绩管理页系统管理转至“切换面板”:系统管理页退出系统退出应用系统学生管理学生信息维护在“编辑”模式下打开窗体:学生信息维护学生信息查询在“编辑”模式下打开窗体:学生信息查询-VBA学生信息打印转至“切换面板”:学生信息打印选择返回上一级转至“切换面板”:主切换面板学生信息打印选择打印班级学生信息打开报表:班级学生信息报表打印学生综合信息打开报表:学生综合信息主子报表打印学生入学成绩统计打开报表:班级学生入学成绩统计报表返回上一级转至“切换面板”:学生管理其他模块按照同样方法可以详细划分和设计,规划后利用“切换面板管理器”进行设计使用切换面板创建主控界面第9章数据库应用系统开发35使用切换面板创建主控界面第9章数据库应用系统开发36使用导航窗体创建主控界面Access2016提供了一种新型的窗体,称为导航窗体,使用导航窗体创建应用系统控制界面相对切换面板来说更简单、更直观。图9.17所示为创建好的“学籍管理”系统导航窗体,窗体上面是顶层选项卡,左侧是二级选项卡,右侧是数据展示区域。第9章数据库应用系统开发37使用导航窗体创建主控界面从导航窗体的布局视图来看,顶层选项卡和二级选项卡是命令按钮,所以可以创建事件过程或者设置相应的宏来实现该选项卡的功能。例如,“退出系统”顶层选项卡,可以在“单击”事件下创建嵌入式宏,利用宏操作“QuitAccess”实现退出系统的功能;“学生信息打印”选项卡,可以在“单击”事件下创建嵌入式宏,利用宏操作“OpenForm”,打开已经设置好的窗体“学生信息打印窗体”(见图9.19)。此时运行该功能时,窗体“学生信息打印窗体”不会在数据展示窗口显示,而是弹出一个窗口。第9章数据库应用系统开发389.4.5创建登录窗体登录窗体是应用系统的一个重要的组成部分,设计一个既具有足够安全、又美观大方的登录窗体,也是非常重要的。下面介绍登录窗体的设计。Access2016提供了一种模态窗口,模态窗口就是当前窗口一直处于激活状态,当前窗体没有关闭之前,不能够执行其他窗体和菜单的操作。下面创建的登录窗体是基于模态的第9章数据库应用系统开发399.4.5创建登录窗体使用聚合函数DLookUP访问数据库,获取用户名和密码,三次输入错误禁止使用该登录窗口第9章数据库应用系统开发409.5设置启动窗体经过上面的分析设计实现,“学籍管理”系统已经创建成功。当用户双击创建的数据库应用系统时,都会进入Access2016的BackStgage视图。有时为了用户使用的方便或者为了系统的安全性,需要直接打开某个窗体,作为应用系统执行程序

温馨提示

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

评论

0/150

提交评论