第9章 数据应用系统设计与开发_第1页
第9章 数据应用系统设计与开发_第2页
第9章 数据应用系统设计与开发_第3页
第9章 数据应用系统设计与开发_第4页
第9章 数据应用系统设计与开发_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1Access数据库技术及应用讲授单位:计算机与通信学院2第9章数据应用系统

设计与开发《Access数据库技术及应用》3学习目标:掌握数据库应用系统的开发方法。掌握数据库设计的方法综合应用Access对象

目录一种多方互动式学教系统(发明专利)9.1应用系统开发概述一种多方互动式学教系统(发明专利)9.2系统功能概述一种多方互动式学教系统(发明专利)9.5本章小结9.3数据库设计9.4主要功能模块设计

9.1应用系统开发概述9.1应用系统开发概述

结构化系统开发方法(StructuredSystemDevelopmentMethodology)是目前应用得最普遍的一种开发方法。

用结构化系统开发方法开发一个系统,要经过系统分析、系统设计、系统实施和系统维护几个不同的阶段。系统分析阶段对相关信息进行收集,确定该数据库应用系统的总需求目标、开发的总思路及开发所需要的时间。分析业务流程、分析数据与数据流程、分析功能与数据之间的关系。提出分析处理方式和系统逻辑方案。即明确目标到底要“做什么”。9.1应用系统开发概述系统设计阶段根据目标系统的逻辑模型确定目标系统的物理模型。包括总体设计和详细设计。

即解决目标系统“怎么做”的问题。9.1应用系统开发概述系统设计阶段总体设计是首要任务,是对数据库应用系统在全局性把握的基础上进行全面的总体规划。详细设计是对每一个模块的设计,目的是确定模块内部的过程结构,特别是要明确数据的输入、输出的要求等。9.1应用系统开发概述系统实施阶段按系统功能模块的设计方案,具体实施系统的逐级控制和建立独立模块,从而建立一个完整的应用开发系统。按系统论的思想,把数据库应用系统视为一个大的系统,将这个大系统再分为若干相对独立的系统,保证高级控制程序能够控制各个子功能模块功能的实现。9.1应用系统开发概述系统维护阶段系统的日常运行管理、系统评价、系统维护三个方面。在系统维护方面,测试数据库应用系统的性能尤为关键,不仅要通过调用工具检查和调试数据库应用系统,还要通过模拟实际操作或实际验证数据库应用系统,若出现错误或有不适当的地方,要及时加以修正,或增加新的性能。9.1应用系统开发概述

9.2系统功能目标以“学生成绩管理系统”为案例阐述数据库应用系统的开发过程。数据库应用系统开发的一般过程,其核心内容是设计数据库应用系统的逻辑模型或规划模型,这是数据库系统设计过程的第一步。而这种规划性设计的核心内容是要规划好系统的主控模块和若干主要功能模块的规划方案,这是整个数据库应用系统设计开发的关键。9.2系统功能目标9.2系统功能目标9.3数据库设计9.3数据库设计数据库规划与设计是数据库应用系统开发的关键问题与核心技术。它是决定数据库应用系统好坏的关键因素之一。如果数据库中的数据量不大,而且数据的逻辑关系比较简单,则数据库的结构设计比较容易,编辑修改也比较方便;相反,如果数据库内容庞杂、关系复杂,编辑修改将很困难。特别是如果在使用中发现问题而不得不回过头修改就有可能丢失数据。9.3.1数据库设计步骤1.需求分析需求分析阶段是数据库设计的基础,是数据库设计的第一步。这个阶段的主要任务是对数据库应用系统所要处理的对象进行全面了解,大量收集支持目标实现的各类基础数据,以及用户对数据库信息的需求、对基础数据进行加工处理的需求、对数据安全性和完整性的要求。9.3.1数据库设计步骤2.概念结构设计概念结构设计是整个数据库设计的关键,是对现实世界的第一层面的抽象和模拟,最终设计出描述现实世界且独立于具体DBMS的概念模型。设计概念模型常用的方法是E-R方法,即建立E-R模型(实体-关系)模型。9.3.1数据库设计步骤3.逻辑结构设计逻辑结构设计是根据已设计好的概念模型(E-R模型),将其转换为与DBMS支持的数据模型相符的逻辑结构。在关系模型中,要设计优良的符合逻辑的数据库逻辑结构就需要知道关系的规范化和完整性约束。9.3.1数据库设计步骤3.逻辑结构设计(1)关系规范化关系规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以划分为六个等级五个范式。9.3.1数据库设计步骤3.逻辑结构设计(1)关系规范化第一范式(1NF),NF是NormalForm的缩写。表中都是不可再分的基本字段(1NF)。例如,假设“学生”表中要存储一个学生的成绩,可设置“分数”字段。但成绩如果还有考试成绩、平时成绩等时,而且成绩一般与课程是相关的,就要分别设置相应的字段。这样造成数据冗余,就可考虑再创建一个新表,专门存放成绩相关数据。9.3.1数据库设计步骤3.逻辑结构设计(1)关系规范化第二范式(2NF)表中所有字段都必须依赖于主键。一个表只存储一种实体对象。例如,在建立“学生”表时,不能把“教师”、“课程”的数据放在同一个表中。9.3.1数据库设计步骤3.逻辑结构设计(1)关系规范化第三范式(3NF)表中每个记录的所有字段都是唯一的且不互相依赖。例如,“学生”表中已有“出生年月”字段,就可以不要“年龄”字段。。9.3.1数据库设计步骤3.逻辑结构设计(1)关系规范化高度规范化的数据库固然有结构清晰、操作不易出错等各种优点,但相关表之间大量的连接在执行查询等操作时都需要耗费大量资源,所以,并非规范化程度越高效果就越好。在设计数据库时,需要具体情况具体分析,权衡利弊,再进行决策。9.3.1数据库设计步骤3.逻辑结构设计(2)关系模型的完整性约束关系完整性约束是对要建立关联关系的两个关系的主键和外键设置约束条件,即约束两个关联关系之间的有关删除、更新、插入操作,约束它们实现关联操作,或限制关联操作,或忽略关联操作。关系模型提供了三种完整性约束:用户自定义完整性、实体完整性、参照完整性。9.3.1数据库设计步骤3.逻辑结构设计(2)关系模型的完整性约束用户自定义完整性约束是用户自行定义的删除约束、更新约束、插入约束。例如,在对“学生”关系进行插入数据操作时,限制学号、姓名不能为NULL。9.3.1数据库设计步骤3.逻辑结构设计(2)关系模型的完整性约束实体完整性是对关系中元组的唯一性约束,也就是对组成主键的属性的约束,即关系中组成主键的属性不能是空值(Null)。例如,在“学生”关系中,若“学号”为主键,则设置“学号”属性对应的属性域不能为Null(空),而且属性值不能重复。9.3.1数据库设计步骤3.逻辑结构设计(2)关系模型的完整性约束参照完整性是输入或删除记录时,为维持表之间已定义的关系而必须遵循的一个规则。系统如果实施了参照完整性,则当用户不小心要将与基本表无关的记录加入相关表时,Access会提出警告。如果要从基本表中删除记录,而该记录在相关表中也有对应记录。则Access还会防止用户删除该记录。9.3.1数据库设计步骤3.逻辑结构设计(3)E-R模型与关系模型的转换E-R模型转换成关系模型,就是将实体型和实体型间的联系转换为关系模式,确定关系模式的属性和码,转换过程中要做到不违背关系的完整性约束,尽量满足规范化原则。9.3.1数据库设计步骤3.逻辑结构设计(3)E-R模型与关系模型的转换将E-R图转换为关系模型一般遵循如下原则:①一个实体型转换为一个关系模式。②实体的属性就是关系的属性,实体的码就是关系的码。9.3.1数据库设计步骤3.逻辑结构设计(3)E-R模型与关系模型的转换③一个1∶1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。9.3.1数据库设计步骤3.逻辑结构设计(3)E-R模型与关系模型的转换④一个1∶n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。9.3.1数据库设计步骤3.逻辑结构设计(3)E-R模型与关系模型的转换⑤一个m∶n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。⑥三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。⑦具有相同码的关系模式可合并。9.3.1数据库设计步骤4.物理结构设计数据库物理结构设计就是为设计好的逻辑数据模型选择适合的应用环境。在Access数据库中,可以使用Access分析工具帮助改进数据库的设计。Access提供了两个工具:表分析器向导,性能分析器。9.3.2学生成绩管理系统数据库设计表9-1StudentInfo表字段名称数据类型字段大小描

述StudentXH文本20学号(主键)StudentName文本10姓名ClassNo文本9班级编号(外键)Sex文本2性别Telephone文本20电话号码Email文本50电子邮箱PhotographOLE对象照片Members是/否党员否9.3.2学生成绩管理系统数据库设计表9-2TeacherInfo表字段名称数据类型字段大小描

述TeacherNo文本10教师编号(主键)TeacherName文本10姓名Sex文本2性别DepNo文本2院系编号(外键)Telephone文本20电话号码Email文本50电子邮箱9.3.2学生成绩管理系统数据库设计表9-3CourseInfo表字段名称数据类型字段大小描

述CourseNo文本20课程编号(主键)CourseName文本10课程名称DepNo文本2院系编号(外键)ExpStuTime数字整型学时Credits文本20学分TeacherNo文本10任课教师编号(外键)9.3.2学生成绩管理系统数据库设计表9-4StudentCJ表字段名称数据类型字段大小描

述StudentXH文本20学号(主键)CourseNo文本8课程编号(主键)TestScore数字双精度考试成绩UsualScore数字双精度平时成绩TotalMark数字双精度总成绩9.3.2学生成绩管理系统数据库设计表9-5ClassInfo表字段名称数据类型字段大小描

述ClassNo文本9班级编号(主键)DepNo文本2院系编号(外键)ClassName文本30班级名称9.3.2学生成绩管理系统数据库设计表9-6Departments表字段名称数据类型字段大小描

述DepNo文本2院系编号(主键)Department文本50院系名称9.3.2学生成绩管理系统数据库设计表9-7UserInfo表字段名称数据类型字段大小描

述UserName文本10用户名(主键)Password文本2密码9.3.2学生成绩管理系统数据库设计表之间的关系

9.4主要功能模块设计9.4主要功能模块设计

9.4.1登陆窗体设计系统登陆窗体是用来让操作人员输入用户名和系统口令的窗口,通过登陆窗口才可以进入系统。“成绩管理系统”登陆窗体如图9-3所示。

9.4.2基本信息管理模块设计

“学生信息管理”窗体能实现数据的简单查询、添加、删除及修改功能,如图9-4所示。

9.4.3成绩管理模块设计设计一个“学生成绩录入”窗体,按学生班级、课程对学生成绩进行录入,窗体视图如图9-7所示9.4.4成绩查询窗体设计成绩查询界面提供按姓名、班级名、课程名等多条件进行成绩查询。各条件之间是逻辑或的关系,如图9-8所示。9.4.5成绩分布统计设计成绩分布统计界面主要功能是按班级名称和课程名称统计出各分数段的人数,并计算优秀率和不及格率。两条件之间是逻辑“与”的关系,如图9-11所示。9.4.6报表设计“学生信息”报表按班级分组显示学生的学号、姓名、性别、电话号码、E-mail等信息。当学生辅导员需要了解班上学生的联系方式等基本情况时,这个报表就发挥作用了。9.4.6报表设计以“成绩查询”做数据源,用报表向导的方法来创建“成绩单”报表。然后再设置计算总分的平均分和计算参加考试人数的功能。成绩单报表设计视图如下。9.4.7主控面板的设计主控面板是整个系统的入口,它主要起功能导航的作用。系统中各个功能模块在主控面板中都建立链接,当用户单击该窗体中按钮时,即可进入相应的功能模块。主控面板的设计有多种方法。9.4.7主控面板的设计自定义窗体来设计主控面板设计思想是:对窗体上的按钮设置相应的“单击”事件,事件功能是打开对应的功能模块窗体。事件可以用“宏”或VBA代码进行设置,宏可以用“OpenForm”命令来打开相应的窗体。9.4.7主控面板的设计2.使用Access的“切换面板管理器”3.用宏命令设置菜单9.4.8设置自动启动窗体通过Access设置自动启动窗体

温馨提示

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

评论

0/150

提交评论