




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,档案管理自动化系统分析与设计,主讲教师:于英香,.,2,关于课程内容与目标,课程的主要内容数据库设计理论(撰写系统设计报告的依据)数据库管理系统设计实例授课方式:案例教学法考核方式运用VFP软件设计一个数据库管理系统撰写系统设计报告,.,3,实用数据库管理系统,文档一体化管理系统教学管理系统(Visualfoxpro数据库开发教程)音像管理系统(Visualfoxpro6.0程序设计上机实践教程)学籍管理系统(Visualfoxpro程序设计基础与实训教程客房管理系统(Visualfoxpro数据库开发案例精选)图书借阅信息系统、职员信息管理系统、公交线路查询系统、固定资产管理系统(新编Visualfoxpro6.0管理与开发从入门到精通)武汉城建管理系统演示,.,4,数据库设计理论,数据库设计概述系统需求分析概念结构的设计数据库逻辑结构的设计数据库的物理设计数据库的实施和维护,.,5,数据库设计概述,数据库设计的内容数据库的结构特性设计数据库的行为特性设计数据库的物理模式设计(把逻辑结构模型加以物理实现,得出数据库的存储模式和存储方法)数据库设计应注意的问题,.,6,数据库的结构特性设计,数据库的结构特性是指数据库的逻辑结构特征是静态结构设计设计过程:绘制E-R图得出概念结构模型转化为逻辑结构模型,.,7,数据库的行为特性设计,是指确定数据库用户的行为和动作(如查询、统计、报表等),并根据其行为特性设计出数据库的子模式.要与应用系统的设计结合进行是动态特性设计(用户行为总是更新数据库内容的存取数据操作)设计步骤:绘制数据流图和数据字典得出系统的功能模块结构和数据库的子模式。,.,8,数据库设计应注意的问题,考虑计算机硬件、软件和干件(用户和管理员)的实际情况数据库设计时应使结构特性和行为特性设计紧密结合,.,9,系统需求分析,需求分析的任务和方法数据字典及其表示数据项数据结构数据流数据存储处理过程,.,10,需求分析的任务和方法,系统需求调查的内容数据库中的信息内容、数据处理内容、数据完全性和完整性要求系统需求的调查步骤(组织机构、业务活动)系统需求调查的方法(跟班作业、开调查会、请专人介绍、询问等)系统需求分析方法(SA(StructureAnalysis)方法),.,11,概念结构的设计,概念结构的设计的结果是数据库的概念模型,它用E-R图进行描述。概念结构设计的步骤:1.抽象数据并设计局部视图;2.视图的集成,.,12,抽象数据并设计局部视图,三种数据抽象方法分类:定义某一概念作为现实世界一组对象的类型法,如E-R图中的实体集聚集:某一类型的组成部分。若干属性的聚集构成了实体型概括:定义了类型之间的一种子集联系。设计分E-R图根据数据流图确定E-R图中实体、实体之间的联系。现实世界中的事物能够作为属性对待的尽量作为属性对待,但要注意,属性必须是不可分割的数据项,且不能与其他实体具有联系。,.,13,视图的集成,分为一次集成法和逐步集成法步骤合并分E-R图,生成初步E-R图冲突:属性冲突(属性域与属性单位)、命名冲突(同名异义与异名同义)和结构冲突(抽象冲突、组成冲突与联系冲突)消除不必要的冗余(包括冗余数据和冗余联系),设计基本E-R图,.,14,概念结构的特点及设计方法,概念结构的特点现实世界的真实模型、易于理解、更改、转换概念结构设计的方法自顶向下、自底向上、逐步扩张、混合策略概念结构的设计步骤,.,15,数据库逻辑结构的设计,逻辑结构设计的任务是把概念模型结构转换成某个具体的DBMS所支持的数据模型。概念模型向关系模型的转换将实体集和实体间联系转换为关系模式确定这些关系模式的属性和码概念模型转换为关系模型的方法用户子模式的设计(视图的建立),.,16,概念模型转换为关系模型的方法,1.实体集的转换规则概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式2.实体集间联系的转换规则一对一联系的转换方法一对多联系的转换方法多对多联系的转换方法,.,17,一对一联系的转换方法,一对一联系可以转换为一个独立的关系,也可以与任意一端实体集所对应的关系合并。如果将一对一联系转换为一个独立的关系,则与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,且每个实体的码均为该关系的候选码如果将一对一联系与某一端实体集所对应的关系合并,则需要在被合并的关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码,.,18,一对一联系的转换方法举例,方案1:联系形成独立的关系,关系模型为:职工(职工号,姓名,年龄);产品(产品号,产品名,价格);负责(职工号,产品号)方案2:联系与”职工”合并,关系模型为:职工(职工号,姓名,年龄,产品号);产品(产品号,产品名,价格);方案3:联系与”产品”合并,关系模型为:职工(职工号,姓名,年龄);产品(产品号,产品名,价格,职工号);三种方案比较,方案1关系多,增加了系统的复杂性,方案2中由于不是每个职工都负责产品,就会造成产品号属性的NULL值过多,方案3相对比较合理.,.,19,一对多联系的转换方法,一对多联系可以转换为一个独立的关系,也可以与n一端实体集所对应的关系合并。如果将一对多联系转换为一个独立的关系,则与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,且n端实体集的码为该关系的候选码如果将一对多联系与n端实体集所对应的关系合并,则需要在n端实体集中增加属性,新增的属性为由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。,.,20,一对多联系的转换方法举例,方案1:联系形成独立的关系,关系模型为:仓库(仓库号,地点,面积);产品(产品号,产品名,价格);仓储(仓库号,产品号,数量)方案2:联系与”与n端对象合并,关系模型为:仓库(仓库号,地点,面积);产品(产品号,产品名,价格,仓库号,数量);两种方案比较,方案1虽然关系多,但对仓储变化大的场合比较适用;相反,方案2中适应仓储变化比较小的场合。,数量,.,21,多对多联系的转换方法,多对多联系直接转换成一个关系,转换方法:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。即联系的码为组合码。,.,22,多对多联系的转换方法举例,联系形成独立的关系,关系模型为:学生(学号,姓名,性别);课程(课程号,课程名,学时数);选修(学号,课程号,成绩),成绩,.,23,数据库应用系统开发步骤,系统功能分析数据库分析与设计数据库逻辑设计模块设计、编程与调试接口设计菜单与工具栏的设计顶层表单设计主程序设计连遍、调试与运行,.,24,数据库设计,1.数据需求分析:访谈和收集报表2.分析数据项应注意的问题3.规范化数据库,数据库设计步骤:,.,25,分析数据项应注意的问题,不要包含可由其他字段计算或推演得来的字段不要包含可自行计算得来的字段,如页码等不要包含内容相同而名称不同的字段选择适当的逻辑单位储存数据汇总整理所需全部字段。,.,26,规范化数据库,通过分解,避免出现数据重复、插入、删除、更新等数据存储异常问题,。规范化过程:明确系统需求的数据表;确定数据表的字段、关联数据表,使数据表达到BCNF,关联表要满足参照完整性。,.,27,文档一体化系统举例,.,28,教学管理系统开发举例,系统分析与规范化设计数据库逻辑设计系统总体逻辑设计教学管理系统项目、数据库、表文件的创建应用表单、视图的设计应用报表设计应用菜单设计(顶层表单),顶层表单设计音乐设计登录窗口设计启动程序设计项目集成、生成EXE程序制作安装盘撰写系统设计报告,.,29,项目集成,创建或者进入项目管理器添加项目所有文件设置主程序输入开发者信息(项目/项目信息)连编(应在当前目录下连编)运行程序脱离VFP运行时如果有些图形控件不可见,可在项目管理器/其他/其他文件中添加。,.,30,音乐设计,在程序的编制过程中,适当地使用声音,可达到意想不到的效果方法:1.使用setbellto命令(wav文件)2.使用windows媒体播放器(所有文件)3.使用OLE控件(所有文件),.,31,音乐设计方法一,使用setbellto命令,适用于给按钮加上声音效果,要在按下它时能发声,可在其CLICKEVENTS中加入如下代码:SETBELLONwav_name=“乐曲名.wav”setbelltowav_name,0?chr(7)缺点:文件类型受限,不能中止,.,32,音乐设计方法二,调用mplayer2.exe来播放Mplayer2.exe是Windows自带的媒体播放器,在VFP中,可使用如下命令来播放声音文件:Run/n7mplayer2.exe乐曲名若想在启动时播放声音,可将该语句放入表单的init事件中。这种方法适宜于用来播放背景音乐,其缺点是播放时,Windows工具栏上有一个最小化后的媒体播放器。,.,33,音乐设计方法三,1.创建OLE容器对象olecontrol1,随后将弹出OLE对象窗口,在左边的单选项中选“从文件中插入”,单击“浏览”,选择音乐文件,同时,设定为“链接方式”。最后,单击“确定”退出。2、用鼠标右键单击olecontrol1对象,选择“编辑包”对OLE对象的图标进行修改,可从VFP98SamplesGraphicsIcons中选一个合适的图标,选好图标后,单击“外观”,选择编辑菜单中的标识符项,输入“音乐”二字,最后关闭窗口。,.,34,音乐设计方法三,3.打开表单的属性窗口,在InitEvent方法中输入:this.olecontrol1.DoVerb(0)使得运行表单时就能自动播放背景音乐。这样,音乐播放器就可以使用了。4.运行表单,在表单上便可看到正在播放音乐的播放器,可以将其最小化,或移到合适的位置,以免播放器遮挡表单上的内容。若要停止播放,可关闭播放器窗口,若想再进行播放,可双击图标。如果想换一首曲子,可单击播放器的File菜单项,打开其他文件。也可以选定播放器的Repeat项,以进行不间断的重复播放.,.,35,系统分析与规范化设计(p115-119),系统分析(用户需求)学生成绩表、课程表、学生注册卡教学管理需求规范化设计将用户需求的日常表规范成VFP能够处理的规范表,选择数据项使每一个表达到BCNF,生成关系模型。学生注册表(学号,姓名,年龄,性别,班级,注册日期,注册,照片,说明)教师授课表(教师姓名,课号,课时,授课时间,班级)成绩表(学号,课号,成绩),为什么姓名、课程名称不能放入该关系?课程名称表(课号,课程名),规范化,.,36,教师授课表的设计,推导出课程表,思考:1.该关系的主码是什么?2.课程名称能否放入该关系中?为什么?,.,37,数据库逻辑设计,目的:将关系模型转换为VFP能够处理的形式任务:定义字段名称、规定数据类型等结构设计,索引、约束、参照完整性等设计(p119-121)学生注册表(STUDENT)(SNO,C,8;SNAME,C,8;SOLD,N,2;SSEX,C,2;SCLASS,C,10,SREGT,D,SREGL,L,SPOH,G,SDOC,M)主索引名称:SNO,主索引表达式:SNO约束:学号中不能出现字母;年龄在17-25;班级和学号间有联系,即学号的前6位是班级的后6位;有注册日期才能表示已注册;性别只能是”男”女”或空.,.,38,数据库逻辑设计,课程名称表(COURSE)(CNO,C,4;CNAME,C,16)主索引名称:CNO,主索引表达式:CNO成绩表(GRADE)(SNO,C,8;CNO,C,4;SCORE,N,6,2)主索引名称:SCNO,主索引表达式:SNO+CNO教师授课表(TEACHING)(TNAME,C,6;CNO,C,4;CDATE,C,12;SCLASS,C,10)主索引名称:TNCS,主索引表达式:TNAME+CNO+SCLASS,.,39,系统总体逻辑设计,.,40,教学管理系统项目、数据库、表文件的创建,文件与项目的建立无先后顺序注意区分项目的逻辑结构和文件的物理结构文件的调用必须用相对路径模块调试时设定默认子目录,.,41,应用表单的设计,查询与视图的设计学生管理表单:学生注册表表单(表单生成器、VFP组件应用、插入照片)学生花名册表单(视图为数据来源,个性化按钮)成绩管理表单视图为数据来源,系统类按钮成绩录查和成绩单表单按钮个性化,注意表单的显示模式,.,42,应用表单的设计,课程对照表表单设计教师授课表单设计使用新奇表单样式,既能看到课程号,又能显示课程名(非视图方式,可以利用查找组合框,或者利用课程表和教师授课表的参照关系)将数字时间转化为可以看懂的课程表(使用另一个表单,调用课程表按钮及CLICK事件代码,.,43,应用表单的设计,课程表表单设计既能被调用,又可以单独运行组合框既可以作为表单单独运行时班级课程表的显示框(可选择),又可以作为调用时传递过来的班级的显示框(不可选择)文本框作为调用时教师姓名的显示框数组变量与全局变量的设置,参数的设置程序技巧,接受调用设计以及调用报表等,.,44,VFP组件应用,组件软件(ComponentSoftware)与组件对象模型(ComponentObjectModel,简称COM)COM是一种编程思想,它的出现可以说是程序设计的革命.它不必将所有函数和过程内置于应用程序内部,可以将用其他语言编写的类对象直接用于自己的程序,提高了开发速度和质量.,.,45,VFP组件应用,COM可分为可视的和不可视的.VFP的ActiveX控件(可视);数据校验控件是非可视的.VFP提供了大量的可直接使用的组件,其组织方式是以类库的形式存在.选择工具/组件管理库,.,46,应用报表的设计,学生注册卡报表课程表报表创建课程表报表在课程表表单中调用课程表报表,报表的设计,.,47,查询与视图,1.查询与视图的关系2.VFP中的查询生成SQL-SELECT语句,可以粘贴到应用程序中,查询文件QPR中保存的是SQL语句,因此可以运行。(命令:DO文件名。)。3.查询和视图均可通过查询设计器和向导来建立。4.单表查询5.多表查询6.创建本地视图,.,48,查询设计器,字段选项卡的“函数和表达式”框,可以用来输入一个表达式。分组依据选项卡就是将一组类似的记录压缩成一个结果记录,以便完成对这一组记录的计算,通常查询结果要通过函数表达。,.,49,查询与视图的关系,视图与查询都是关系数据库中广泛使用的一种查找方式,但视图只能存在数据库中,是虚拟表,查询却可以是独立的数据文件视图与查询的重要区别是查询表中的数据,而视图中修改的数据能自动传递到原始的数据表,从而通过视图可更新数据。视图兼有表和查询的共同特点。,.,50,报表设计,1.在VFP中打印数据一般不会是将数据直接送打印机输出,而是先建立报表或标签文件,从数据表中提取内容,然后再打印报表或标签。2.报表和标签包括两个基本组成部分:数据源和数据布局。数据源可以是表、视图、临时表等。,.,51,报表设计,报表的设计报表向导快速报表报表设计器(报表设计器工具栏和报表控件工具栏)报表的带区说明使用报表设计器创建一个报表实例报表的预览与调用,.,52,报表的带区说明,.,53,使用报表设计器创建一个报表实例,1.打开或新建项目及数据库2.启动报表设计器3.使用快速报表,将字段添加到细节区4.添加报表标题5.移动报表标题6.调整与修改页标头区的字段标题,.,54,使用报表设计器创建一个报表实例,8.调节细节区的字段9.绘制线条10.添加制表日期11.添加页码12.添加总结区13.修改报表布局14.保存报表15.调用报表(预览与打印),.,55,菜单的设计,1.菜单与工具栏是应用系统的重要组成部分,菜单分普通菜单与快捷菜单。2.普通菜单的设计3.快捷菜单的设计,.,56,快捷菜单的设计,1.创建快捷菜单注意在“显示”菜单的“常规选项”对话框中选中“设置”复选框,可以定义参数2.生成菜单3.将快捷菜单添加到表单中在设计表单时必须在表单rightclick事件过程中添加运行快捷菜单的代码:do快捷菜单程序名withthis4.运行表单,.,57,普通菜单的设计,设计步骤:启动菜单设计器输入菜单名称及定义热键(如F)输入菜单项为菜单项指定任务定义快捷键及状态信息(选项)常规选项的设置预览菜单生成菜单(将mnx文件生成MPR命令文件)运行菜单菜单系统选择逻辑设计将系统菜单引入用户菜单系统如何使用户菜单脱离VFP环境,.,58,将系统菜单引入用户菜单系统,引入整个下拉式菜单:常规菜单选项(追加、之前、之后)将某个下拉式菜单引入用户菜单(setsysmenuto,如setsysmenuto_msm_edit)将系统下拉式菜单项引入用户菜单(编辑状态下单击“插入栏”按钮,选择系统菜单项)但若菜单加在顶层表单上,则上述方法无效,.,59,菜单系统选择逻辑设计,1.声明数组变量,并使所有菜单项可选利用视图中的常规选择菜单项的设置(Setup)和清理(Clearup)选项2.设置单个菜单项选择逻辑表达式(在菜单编辑状态下选择选项,在SkipFor中设置)3.设置指定菜单项不能被选择(将结果设置为过程,在过程中编写代码),以“学生注册”为例4.恢复所有菜单项可选,如在“学生注册”表单的Destroy方法中,添写代码:Dosetskipintms.mpr,.,60,选项设置,快捷键(Shortcut)的设置跳过(SkipFor):输入逻辑表达式,如果该表达式为.T.,表示当前菜单项不能被选中(灰色显示),否则,表示可以选择信息(Message):表示可以提示的信息主菜单名(PadName):该菜单项内部使用的名称,如果不指定,则系统随机给定。,.,61,普通菜单常规选项的设置,过程:如果菜单项的结果选择的是过程而有没有创建代码,可在此创建菜单代码设置(SETUP)相当于菜单的INIT(可以向菜单系统添加初始化代码,该代码运行在显示菜单的命令之前)清理(Cleanup)相当于菜单的Destroy(可以向菜单系统添加清理代码,运行在显示菜单的命令之后,因此可以将菜单中可调用的过程放在此处)如声明数组变量以控制菜单项的被选择情况代码可利用此功能位置用户菜单和系统菜单的关系顶层表单是否将菜单放在顶层表单上,.,62,如何使用户菜单脱离VFP环境,1.创建一个顶层表单2.将菜单设置成可用于顶层表单在“显示”菜单的“常规选项”对话框中选中“顶层表单”复选框3.将顶层表单添加到菜单所属项目中4.运行表单,.,63,创建一个顶层表单,1.设置表单的ShowWindow属性为“2-作为顶层表单”2.在表单的Init事件中输入代码:Application.visible=.f.(隐藏VFP主窗口)DO菜单程序名WITHTHIS,.T.This指表单,.t.指为菜单指定一个唯一的名字3.在表单的Destroy事件中输入代码:Application.visible=.t.,.,64,应用系统启动程序设计,直接使用顶层表单启动程序编译后脱离VFP运行时会一闪而过。更通用的方法是设计启动程序分初始化部分、运行菜单系统部分和现场恢复部分初始化部分可以存储与设置各种环境变量,声明全程变量,设置登录口令(可创建表单)等也可以不必设计顶层表单,直接将菜单放在系统窗口中,可共享系统资源.,.,65,如何撰写数据库系统设计报告,引言系统需求分析概念结构设计逻辑结构设计(模块处理过程设计)数据库设计接口设计系统安全设计测试设计,.,66,引言,软件设计背景、目的、主要功能介绍以及参考资料包括参考的文件(如经核准的计划任务书或合同、上级领导的批文等)、资料、技术标准等。编写本报告时查阅的Internet上杂志、专业著作、技术标准以及网址等。)其他需要说明的问题(如术语、缩写等)列出本报告中专门术语的定义和英文缩写词的原词组,如SPP精简并行过程,SimplifiedParallelProcess;SD系统设计,SystemDesign。,.,67,系统需求分析,主要指用户需求访谈,收集报表数据字典、数据流、数据存储的描述对数据库设计中涉及到的各种项目,如数据项、记录、表、数据库等建立数据字典,以说明它们的标识符、同义名及有关信息。系统运行环境设计教学管理需求系统运行环境(操作系统、数据库管理系统、以及其他支撑软件)硬件运行环境(主机、内存),.,68,概念结构设计,画出E-R图初步E-R图合成,P119页的关系模型不是规范的E-R图,规范的E-R图应该如右图的样式,.,69,逻辑结构设计(模块处理过程设计),绘制系统模块图说明“如何”以及“为什么”(howandwhy)如此分解系统。说明各子系统如何协调工作,从而实现原系统的功能。对各模块进行说明各模块的用途、使用(调用)方式;说明其每个子程序(方法,Method)、特性(Property)和反馈的事件(Event),相应的输入、输出项说明。,.,70,逻辑结构设计(模块处理过程设计),模块功能介绍(详细)主程序流程图,.,71,数据库设计,分析数据项规范化设计数据库逻辑设计(P119)(详细)表的结构设计代码设计:如学号代码。左起四位代表入学时间,左起4-5位表示班级,左起6-7位表示学号流水号,后三位表示专业编号。约束设计关联与参照完整性设计,.,72,接口设计,用户接口:描述该软件与用户的接口,包括用户输入输出界面样式、操作方式和界面间的转移关系。如具有等同作用的文件(使用开发工具编写的界面原型程序等)软件接口:描述该软件与其它系统的软件接口,主要说明其它系统提供的编程接口和本系统向其它系统提供的编程接口,如具有等同作用的文件(包含接口说明及注释的源文件程序头文件、接口帮助的超文本文件等)其他接口:描述该软件与其它系统的其它类型接口,主要说明其它系统提供的和本系统向其它系统提供的硬件接口、通信协议及规程、数据交换格式等,如具有等同作用的文件.,.,73,系统安全设计,说明在数据库的设计中,如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待。对用户使用权限的进行分级、与部门权力体系对应,如:一级,可以对系统的各项业务记录进行综合查询,用于经理决策人员;二级,可以对部门的信息进行查询,适合各个部门的负责人;三级,可以输入各项业务的记录信息,用于各部门的办事员。另外还须对各级权限的使用人员设置ID和PASSWORD,对一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天然石材订购合同范本
- 成都滴滴司机合同范本
- 永电施工合同范本
- 购买废弃瓷砖合同范本
- 钢材电子购销合同范本
- 社区居委会消防知识培训课件
- 文具公司加盟合同范本
- 商铺资源转让合同范本
- 种植土地承租合同范本
- 社区安全知识培训课件的意义
- 微写作 安慧作文 篇篇精彩(高考作文命题与佳作示范)第三辑
- 附着式升降架设备定期检查、保养记录
- 输电线路工程监理人员质量交底资料
- GB/T 8982-2009医用及航空呼吸用氧
- GB/T 40565.3-2021液压传动连接快换接头第3部分:螺纹连接通用型
- FZ/T 01137-2016纺织品荧光增白剂的测定
- 分镜头脚本设计-课件
- 2020数学花园探秘决赛三四年级A卷
- (精选word)2019《普速铁路线路修理规则》
- 《信念永恒》(朗诵稿)
- 开具生效证明申请书(申请开具生效证明用)
评论
0/150
提交评论