版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第七章 管理信息系统的系统设计,主要内容: 前言 系统结构化设计 1. 系统设计的任务和主要内容 2. 代码设计 3.功能结构图设计 系统物理配置方案设计,2,第七章 管理信息系统的系统设计,5. 数据存储设计 6. 输出设计 7. 输入设计 8. 编写程序设计说明书和系统设计报告,3,前言 系统结构设计,系统结构设计是从计算机实现的角度出发,对前一阶段划分的子系统进行校核,使其界面更加清楚和明确,并在此基础上,将子系统进一步逐层分解,直至划分到模块。在众多的系统结构设计方法中,结构化设计方法是应用比较广泛并且比较受重视的一种方法。,1、结构化设计的概念和原理,(1)结构化设计的起因,在进
2、行系统结构设计时,必须把系统的可变更性放在首要位置考虑。因为整个系统的工作效率、工作质量和可靠性等都在很大程度上依赖于系统的可变更性。,4,如果能将一个系统分解为由一些相互独立、功能简单、易于理解的模块所组成的系统,则这样的系统就会容易修改和维护。由模块组合构成的系统一般称之为模块化结构系统。在模块化结构系统中,由于各个模块之间基本上是相互独立的,所以每个模块都可以独立地被理解、编程、调试和修改,使复杂的系统设计工作变得相对简单。模块的相对独立性也能有效地防止某个模块出现错误在系统中扩散的问题,从而可以提高系统的可靠性。另外,在模块化结构系统中,想要增加或删除一些功能时,只要增加或删除相应的模
3、块就可以了,对系统的其他功能和结构不会产生太大的影响,使系统的修改和维护工作比较容易进行。而采用结构化设计发法就是要将系统设计成模块化结构系统。,前言 系统结构设计,(1)结构化设计的起因,5,(2)结构化设计的原理,结构化设计方法的基本思想是使系统模块化,即把一个系统自上而下逐步分解为若干个彼此独立而又有一定联系的组成部分,这些组成部分称为模块。在这一基本思想的指导下,系统设计人员以逻辑模型为基础,并借助于一套标准的设计准则和图表等工具,逐层地将系统分解成多个大小适当、功能单一、具有一定独立性的模块,把一个复杂的系统转换成易于实现、易于维护的模块化结构系统 。,(3)结构化设计的工具,系统结
4、构化设计的主要工具是结构图。结构图的构成主要有以下几个基本部分:,前言 系统结构设计,模块。模块用矩形方框表示。矩形方框中要写有模块的名称、模块的名称应恰当地反映这个模块的功能。,6,调用。用从一个模块指向另一个模块的箭头线,表示前一个模块中含有对后一个模块的调用关系。,图7.1(a)的结构图说明了模块A调用模块B的情况。当模块A调用模块B时,同时传递数据x和y,处理完后将数据z返回模块A。如果模块B对数据y修改后,再送回给模块A,则数据y应该出现在调用箭头线的两边,如图7.1(b)所示。图7.1(c)表示模块A调用模块B,且模块A把数据x和y及控制信息C传送给模块B,模块B把数据z返回到模块
5、A。,前言 系统结构设计,(3)结构化设计的工具,数据。调用箭头线旁边带圆圈的小箭头线,表示从一个模块传送给另一个模块的数据。,控制信息。调用箭头线旁边带圆点的小箭头,表示从一个模块传递给另一个模块的控制信息。,7,图7.1 结构图的简单示例,在结构图中,除了以上几个基本符号之外,还有表示模块有条件调用和循环调用的符号。图7.2(a)表示模块A有条件地选择调用模块B或C或D,图中的菱形符号表示选择调用关系。图7.2(b)表示模块A循环地调用模块B和C,图中的弧形箭头表示循环调用关系。,前言 系统结构设计,8,图7.2 选择调用和循环调用示意图,应该指出的是,我们把结构图设定为树状组织结构,以保
6、证系统的可靠性。一个模块只能有一个上级,可以有几个下级。在结构图中,一个模块只能与它的上一级模块或下一级模块进行直接联系,而不能越级或与它同级的模块发生直接联系。若要进行联系时,则必须通过它的上级或下级模块进行传递。另外,这里谈到的结构图与程序框图是两个不同的概念。结构图是从空间角度描述了系统的层次特征,而程序框图则主要描述了模块的过程特征。,前言 系统结构设计,9,(4)模块划分的标准,评价和衡量系统的结构化程度及模块的独立性可以通过模块与模块之间的关联度和模块内部各个组成部分之间的聚合度两条标准。,模块的关联度 模块的关联度是用来表示系统中一个模块与其他外部模块之间联系的紧密程度。关联度越
7、低则说明模块之间的联系越少,模块的独立性就越强,就越容易独立地进行编程、调试和修改,一个模块中产生的错误对其他模块的影响也就越小。,模块的聚合度 模块的聚合度是用来描述和评价模块内部各个组成部分之间联系的紧密程度。一个模块内部的各个组成部分之间联系的越密切,其聚合度越高,模块的独立性也就越强。,前言 系统结构设计,10,在划分系统模块的设计时,除了要考虑降低模块之间的关联度和提高模块的聚合度这两条基本原则之外,还要考虑到模块的层次数和模块结构的宽度。而且尽量要把相关子问题划分到一个模块中,把不相关的问题划归到不同的模块中。如果一个系统的层数过多或宽度过大,则系统的控制和协调关系也就相应复杂,系
8、统的模块也要相应地增大,结果将使设计和维护的困难增大。,前言 系统结构设计,(4)模块划分的标准,返回,11,2.模块之间的关联度,按关联程度由低到高分为: 数据关联:如果两个模块彼此之间通过数据交换信息,而且每一个参数仅仅为数据,称为数据关联,或数据耦合。 内容关联:如果一个模块需要涉及另外一个模块的内部信息时,称为内容关联或内容耦合。 控制关联:如果两个模块之间彼此传递的信息中有控制信息,则称为控制关联或控制耦合。,前言 系统结构设计,12,3.模块内部聚合度类型(1),偶然性聚合:将几个毫无联系的程序组合成一个模块。只是为节省存储空间,提高运算速度。 逻辑性聚合:将几个逻辑上相似的程序组
9、合成一个模块。内部功能靠控制变量选择调动,类似子程序调动。 时间性聚合:将几个需要在同一时间段内执行的程序聚合成一个模块。如系统的初始化模块,关机模块等。 过程性聚合:将为完成某一工作,执行条件受同一控制流支配的几个程序聚合成一个模块。如若干报表的制作。,前言 系统结构设计,13,模块内部聚合度类型(2),数据性聚合:将对同一数据库(数据文件)加工处理的几个程序聚合成一个模块。如工资输入、工资查询、做工资报表的聚合。 顺序性聚合:将几个顺序执行,一个程序的输出是另一个程序输入的程序聚合成一个模块。如:“销售数据采集程序”与“销售数据分析”程序的聚合。 功能性聚合:将为完成一项工作所必须的几个小
10、程序聚合成一个模块。如 “打印工资发放表”由“打印机设置”、“读工资数据”、“打印表头”、“循环输出每行数据”,“打印表尾”聚合而成,缺一不可,切不宜再分。,前言 系统结构设计,14,模块内部聚合度的比较,前言 系统结构设计,15,本节内容: 1.1 系统设计的任务 1.2 系统设计的主要内容 1.3 系统设计的原则,1 系统设计的任务,16,1.1 系统设计的任务,系统设计的任务是:在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计。 如前所述,物理模型主要解决“怎样做”的问题。,17,系统设计的主要内容包括:总体结构设计和具体物理模型的设计。,总体结构设计包括划分子系统、功能结
11、构图设计、处理流程图设计、代码详细设计、物理系统配置方案设计、数据文件和数据库设计等。,具体物理模型的设计包括数据存储设计、输入输出设计和编写程序模块设计说明书等。,返回,1.2 系统设计的内容,18,1.3 系统设计的原则,系统性 系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。 灵活性 尽量采用模块化结构,提高各模块的独立性,尽可能使各子系统间的数据依赖减至最低限度。 可靠性 安全保密性、检错及纠错能力、抗病毒能力等。 经济性 在硬件投资上不能盲目追求技术上的先进,而应以满足应用需要为前提; 系统设计中应尽量避免不必
12、要的复杂化,各模块应尽量简洁,以便缩短处理流程、减少处理费用。,19,2 代码设计,本节内容: 2.1 代码的功能 2.2 代码的种类 2.3 代码结构中的校验位,20,2.1 代码的功能,代码是代表事物名称、属性、状态等的符号,为了便于计算机处理,一般用数字、字母或它们的组合来表示。 代码的功能 为事物提供一个概要而不含糊的认定,便于数据的存贮和检索。 可以提高处理的效率和精度。 提高了数据的全局一致性。 是人和计算机的共同语言,是两者交换信息的工具。,21,2.2 代码的种类,顺序码 顺序码又称系列码,是一种用连续数字代表编码对象的码。 例如: 用1代表厂长 2代表科长 3代表科员 4代表
13、生产工人等,22,2.2 代码的种类,区间码 区间码把数据项分成若干组,每一区间代表一个组,码中数字的值和位置都代表一定意义。 典型的例子是邮政编码。 区间码的分类: 多面码 上下关联区间码 十进位码,23,2.2 代码的种类,区间码 多面码一个数据项可能具有多方面的特性。如果在码的结构中,为这些特性各规定一个位置,就形成多面码。 例如,对于机制螺钉,可作如下表那样的规定。代码2342 表示材料为黄铜的1.5mm方形头镀铬螺钉。,多面码示例,24,2.2 代码的种类,区间码 上下关联区间码。上下关联区间码由几个意义上相关的区间码组成,其结构一般由左向右排列。 例如,会计核算方面,用最左位代表核
14、算种类,下一位代表会计核算项目。 十进位码。此法相当于图书分类中的十进位分类码。 如610.736,小数点左边的数字组合代表主要分类,小数点右边的指出子分类。,25,2.2 代码的种类,助忆码 助忆码用文字、数字或文字来描述,也可用文字与数字结合起来描述。 例如,用TV-C-20代表20英寸彩色电视机,其中C代表彩色。 助忆码适用于数据项数目较少情况(一般少于50个),否则可能引起联想出错。,26,2.2 代码的种类,27,2.3 代码结构中的校验位,加入校验位的原因: 人们重复抄写代码和将它通过人手输入计算机时,发生错误可能性更大。为了保证正确输入,有意识地在编码设计结构中原有代码的基础上,
15、另外加上一个校验位,使它事实上变成代码的一个组成部分。 校验位的计算: 校验位通过事先规定的数学方法计算出来。代码一旦输入,计算机会用同样的数学运算方法按输入的代码数字计算出校验位,并将它与输入的校验位进行比较,以证实输入是否有错。,28,2.3 代码结构中的校验位,算术级数法 原代码1 2 3 4 5 各乘以权 6 5 4 3 2 乘积之和6+10+12+12+10=50 以11为模去除乘积之和,把得出的余数作为校验码: 50/11=46 因此代码为123456,29,2.3 代码结构中的校验位,几何级数法 原代码 1 2 3 4 5 各乘以权 32 16 8 4 2 乘积之和 32+32+
16、24+16+10=114 以11为模去除乘积之和,把得出的余数作为校验码: 114/11=104 因此代码为123454,30,2.3 代码结构中的校验位,质数法 原代码 1 2 3 4 5 各乘以权 17 13 7 5 3 乘积之和 17+26+21+20+15=99 以11为模去除乘积之和,把得出的余数作为校验码: 99/11=90 因此代码为123450,31,3 功能结构图设计,功能结构图是按功能从属关系画成的图表,图中每一个框称为一个功能模块。 功能分解的过程就是一个由抽象到具体、由复杂到简单的过程。功能模块可以根据具体情况分得大一点或小一点。分解得最小的功能模块可以是一个程序中的每
17、个处理过程,而较大的功能模块则可能是完成某一任务的一组程序。 功能结构图中各层功能与新的信息系统中数据流程图中的处理(功能)是对应的。,32,3 功能结构图设计,工资管理子系统被分解为建立主文件、更新主文件、建立扣款文件以及计算和打印等四个子功能,其中每个子功能还可以继续分解下去。,工资管理子系统功能结构图,33,4 系统物理配置方案设计,本节内容: 4.1 设计依据 4.2 计算机硬件选择 4.3 计算机网络的选择 4.4 数据库管理系统的选择 4.5 应用软件的选择,34,4.1 设计依据,系统的吞吐量 系统的响应时间 系统的可靠性 集中式还是分布式 地域范围 数据管理方式,35,4.2
18、计算机硬件选择,计算机硬件的选择取决于数据的处理方式和运行的软件。 管理对计算机的基本要求是速度快、容量大、通道能力强、操作灵活方便,但计算机的性能越高,其价格也就愈昂贵。 系统的数据处理是集中式的,系统应用的主要目的是利用计算机的强大计算能力,则可以采用主机终端系统,以大型机或中小型机作为主机。 系统应用的目的是进行企业管理,其应用本身就是分布式的,则应选择微机网络方式。,36,4.2 计算机硬件选择,确定了数据的处理方式以后,在计算机机型的选择上则主要考虑应用软件对计算机处理能力的需求,包括: 计算机主存; CPU时钟; 输入、输出和通信的通道数; 显示方式; 外接转储设备及其类型。,37
19、,4.3 计算机网络的选择,网络拓扑结构 网络拓扑结构一般有总线型、星型、环形、混合型等。在网络选择上应根据应用系统的地域分布、信息流量进行综合考虑。网络的逻辑设计 按软件将系统从逻辑上分为各个分系统或子系统,然后按需要配备设备,如主服务器、主交换机、分系统交换机、子系统集线器(Hub)、通讯服务器、路由器和调制解调器等,并考虑各设备之间的连接结构。 网络操作系统 目前,流行的网络操作系统有UNIX、Windows 等。,38,4.4 数据库管理系统的选择,在数据库管理系统的选择上,主要考虑: 数据库的性能 数据库管理系统的系统平台 数据库管理系统的安全保密性能 数据的类型 目前,市场上数据库
20、管理系统较多,流行的有Oracle、Sybase、SQL Server、Informix、Foxpro和Visual Basic等,,39,4.5 应用软件的选择,选择应用软件应考虑: 软件是否能够满足用户的需求。 根据系统分析的结果,验证软件在功能上能否满足数据表示(如记录长度、文件最大长度等)、数据存储量和查询等方面的要求。 软件是否具有足够的灵活性。 软件是否能够获得长期、稳定的技术支持?,40,5 数据存储设计,本节内容: 5.1 文件的分类 5.2 文件组织方式 5.3 文件设计 5.4 数据库设计的基础知识 5.5 数据库设计,41,5.1 文件的分类,文件是系统中存放数据的基本方
21、式。 (一) 按文件的用途可把文件分为以下几种: 主文件 主文件是系统中最重要的共享文件,主要存放具有固定值属性的数据。 处理文件 处理文件又称事务文件,是用来存放事务数据的临时文件,包含了对主文件进行更新的全部数据。 工作文件 工作文件是处理过程中暂时存放数据的文件。 周转文件 周转文件用来存放具有固定个体变动属性的数据 。 其它文件,42,5.1 文件的分类,(二) 按文件的组织方式可把文件分为: 顺序文件 索引文件 直接存取文件,43,5.2 文件组织方式,顺序文件: 顺序文件刚建立时,记录按其来到的先后次序顺序排列,其物理顺序和逻辑顺序并不一定完全一致,称之为串行文件。 文件的记录按照
22、鉴别键大小依次重新排列所得到的文件叫做排好序的顺序文件( 简称顺序文件)。因此,排好序的顺序文件是物理顺序和逻辑顺序一致的文件 一切存于磁带上的记录,都只能是顺序的 在磁盘上存放记录,既可以顺序地存放,也可以随机地存放。,44,5.2 文件组织方式,索引文件: 带有索引表的数据文件叫索引文件。 增加索引表是为了加快检索记录的速度。 索引表的索引项应当按顺序排列,而数据文件本身则可以按顺序排列,也可以不按顺序排列。 按索引文件组织方式组织文件时,文件包括索引区和数据区。 索引表建立在索引区 数据文件建立在数据区 索引表本身也是一个文件,其中列有每个记录的关键字和相应的物理存储地址,这两项合称为索
23、引项。,45,5.2 文件组织方式,数据文件,索引文件的建立过程(原始文件),46,5.2 文件组织方式,排序前的索引表,排序后的索引表,索引文件的建立过程(索引表的建立),47,5.2 文件组织方式,索引文件 查找时将外存上含有索引表的块送入内存,查得被找记录的地址,然后再将含有该记录的块送入内存。 删除一个记录时,删去相应的索引项,而数据本身则保持不动。 插入时,将插入记录置于数据区之末,而将添上相应索引项以后的索引重新排序。这些排序工作,也是由软件自动进行的。,48,5.2 文件组织方式,索引文件: 优点: 加快检索记录的速度 索引文件组织方式可以保证地址的唯一性,而不产生重号。访问记录
24、时,只要从索引表找到地址,就可得到所需记录,其存取机构的动作也比较简单。 缺点: 索引表本身需要占有一定存储空间。,49,5.2 文件组织方式,直接存取文件 直接地址法: 程序员或数据库管理员可以直接把存放某一记录的地址作为该记录的键号。 直接地址法的优点是:存取机构动作简单,用户使用方便,不会产生重号。 缺点是:把记录的存贮地址作为键号,不易记忆。,50,5.2 文件组织方式,直接存取文件 直接地址法: 程序员或数据库管理员可以直接把存放某一记录的地址作为该记录的键号。 直接地址法的优点是:存取机构动作简单,用户使用方便,不会产生重号。 缺点是:把记录的存贮地址作为键号,不易记忆。 浪费存储
25、空间:有一个文件,其鉴别键号分散在10000到50000号之间,但其记录总数只有5000个。如果用直接地址法存贮记录,就要浪费35001 个记录空间。,51,常用文件组织方式性能比较,表中活动率指的是更新过程中作用到记录的百分数。例如,针对10000 个记录,需要处理8000个,则活动率为80%。,5.2 文件组织方式,52,5.3 文件设计,文件设计通常从设计共享文件开始。 文件由记录组成,所以设计文件主要是设计文件记录的格式。 文件记录设计表中详细填写了记录中每一数据项的名称、变量名、类型、宽度和小数位数。记录设计中还应注明记录由哪个程序形成,又输出到哪个程序。,53,5.3 文件设计,5
26、4,5.4 数据库设计的基础知识,(一) 数据模型: 数据模型是数据库系统设计中用于提供信息表示和操作手段的形式构架,是数据库系统实现的基础。 根据模型应用的不同目的,可以将模型分为两个层次: 概念模型(也称信息模型), 数据模型 网状模型 层次模型 关系模型,55,5.4 数据库设计的基础知识,概念模型: 概念模型是将现实世界的客观对象抽象为某一种不依赖于计算机系统和数据库管理系统(DBMS)的信息结构。 建模过程: 现实世界中的对象概念模型数据模型 实体(Entity) “实体”即现实世界中存在的对象或事物。 属性 “属性”指实体具有的某种特性。 联系 在信息世界中,事物之间的联系可分为两
27、类:一是实体内部的联系,如组成实体的各属性之间的关系;一是实体之间的联系,这里我们主要讨论实体之间的联系。,56,5.4 数据库设计的基础知识,概念模型: 实体之间的联系方式可分为三类: 一对一联系(1:1) 如果对于A中的一个实体,B中至多有一个实体与其发生联系,反之,B 中的每一实体至多对应A 中一个实体,则称A 与B 是一对一联系。 一对多联系(1:n) 如果对于A中的每一实体,实体B中有一个以上实体与之发生联系,反之,B 中的每一实体至多只能对应于A 中的一个实体,则称A 与B 是一对多联系。 多对多联系(m:n) 如果A 中至少有一实体对应于B 中一个以上实体,反之,B 中也至少有一
28、个实体对应于A 中一个以上实体,则称A 与B 为多对多联系。,57,5.4 数据库设计的基础知识,(二) ER方法 E-R 方法即实体联系方法(Entity-Relation Approach,简称E-R方法),是由P.P.S.Chen 于1976 年提出的,其方法是用E-R 图来描述某一组织的信息模型,是概念模型的最常用的表示方法。 在模型设计中,首先根据分析阶段收集到的材料, 利用分类、聚集、概括等方法抽象出实体,并一一命名,再根据实体的属性描述其间的各种联系。 ER图中用矩形表示实体。实体之间的关系用菱形表 示,用无向边把菱形与有关实体连接,在边上标明联系的类型。实体的属性可用椭圆表示,
29、并用无向边把实体与属性联系起来。,58,5.4 数据库设计的基础知识,59,5.4 数据库设计的基础知识,上图涉及的实体包括: 供方单位 属性有单位号、单位名、地址、联系人、邮政编码 物资 属性有物资代码、名称、规格、备注 库存 属性有入库号、日期、货位、数量 合同 属性有合同号、数量、金额、备注 结算 属性有结算编号、用途、金额、经手人,60,5.4 数据库设计的基础知识,上图涉及的关系包括: 入库1:n联系。 验收1:n联系。 购进多对多的联系 付款多对多的联系 订货这是一个数量超过两个的不同类型实体之间的联系。在订货业务中,一种物资可由多家供应,产生多笔合同。反之,一个供应单位可供应多种
30、物资,产生多笔合同,所以,在图中用M:N:L的结构来表示。订货联系的属性为:物资代码、单位号、合同号、数量、单价。,61,举 例,图3.2 某校教学管理ER图,对象,教师属性,学生属性,课程属性,联系属性,联系,62,5.4 数据库设计的基础知识,(三) 数据模型 目前,主要的数据模型是关系模型(Relational Model)。 关系模型应用关系代数和关系演算等数学理论来处理数据库系统中的数据关系。 从用户的观点来看,在关系模型下,数据的逻辑结构是一张二维表。每一个关系为一张二维表,相当于一个文件。实体间的联系均通过关系进行描述。,关系表,一个记录,用来描述一个实体。,63,5.4 数据库
31、设计的基础知识(三)数据模型,关系模型中的主要术语有: 关系:一个关系对应于一张二维表。 元组:表中一行称为一个元组。 属性:表中一列称为一个属性,给每列起一个名即为属性名。 主码(Primary Key,也称主关键字) :表中的某个属性组,它的值唯一地标识一个元组,如表3.4中,结算编号和合同号共同组成了主码。 域:属性的取值范围。 分量:元组中的一个属性值。 关系模式:对关系的描述,用关系名(属性1,属性2,.,属性n)来表示。,64,5.4 数据库设计的基础知识 (三)数据模型,关系模型具有以下特点: 关系模型的概念单一。 对于实体和实体之间的联系均以关系来表示。 关系是规范化的关系。
32、规范化是指在关系模型中,关系必须满足一定的给定条件,最基本的要求是关系中的每一个分量都是不可分的数据顶。 高度的数据独立性和易操作性 关系模型中,用户对数据的检索和操作实际上是从原二维表中得到一个子集,该子集仍是一个二维表。因而易于理解,操作直接、方便 关系模型把存取路径向用户隐藏起来,用户只需指出“做什么”, 而不必关心“怎么做”,从而大大提高了数据的独立性。,65,5.4 数据库设计的基础知识,(四) 关系的规范化 规范化理论是E.F.Codd在1971年提出的。他及后来的研究者为数据结构定义了五种规范化模式(Normal Form,简称范式),即第一范式、第二范式、第三范式、BCNF范式
33、和第四范式 关系必须是规范化的关系,应满足一定的约束条件。范式表示的是关系模式的规范化程度,也即满足某种约束条件的关系模式,根据满足的约束条件的不同来确定范式 在五种范式中,通常只使用前三种。,66,为什么数据要规范化?,67,规范化的目的是: 消除数据冗余,即消除表格中数据的重复; 消除多义性,使关系中的属性含义清楚、单一; 使关系的“概念”单一化,让每个数据项只是一个简单的数或字符串,而不是一个组项或重复组; 方便操作。使数据的插入、删除与修改操作可行并方便; 使关系模式更灵活,易于实现接近自然语言的查询方式。,68,如 何 规 范 化?,规范化 - 将数据的逻辑结构归结为满足一定条件的二
34、维表(关系)。即: 1. 表格中每个信息项必须是一个不可分割的数据项,不可是组项。 2. 表格中每一列 (列表示属性)中所有信息项必须是同一类型,各列的名字 (属性名) 互异,列的次序任意。 3. 表格中各行 (行表示元组) 互不相同,行的次序任意。,69,用教学管理例说明如何规范化,有三个实体型,即课程、学生和教师,用三个关系保存它们的信息: 学生(学号,姓名,性别,年龄,年级,专业,籍贯) 教师(职工号,姓名,年龄,职称,职务,工资级别,工资) 课程(课程号,课程名,学分,学时,课程类型),70,为表示实体型之间的联系,又建立两个关系: 选课 (学号,课程号,听课出勤率,作业完成率,分数)
35、 教课 (职工号,课程号,授课效果) 这五个关系,组成了数据库的模型。 在每个关系中,属性名下加下划线)指明关键字。并规定关键字能唯一地标识一个元组。,71,通常用“范式(Normal Forms)”定义消除数据冗余的程度。第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。但是:,1、范式级别越高,存储同样数据就需要分解成更多张表,因此,“存储自身”的过程也就越复杂。,2、随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳定性较差。,3、范式级别提高则需要访问的表增多,因此性能(速度)将下降。从实用角度看来,在大多数
36、场合选用第三范式都比较恰当。,所以,从实用角度看来,在大多数场合选用第三范式都比较恰当。,72,5.4 数据库设计的基础知识,第一范式(1NF) 属于第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。简言之,第一范式指在同一表中没有重复项存在。,73,第 一 范 式,每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。 如:,学生(学号,姓名,性别,年龄,年级,专业,籍贯) 教师(职工号,姓名,年龄,职称,职务,工资级别,工资) 课程(课程号,课程名,学分,学时,课程类型),74,5.4 数据库设计的基础知识,第二范式 所谓第二范式,指的是这种关系不仅满足第一
37、范式,而且所有非主属性完全依赖于其主码。 上表所示关系虽满足1NF,但不满足2NF,因为它的非主属性不完全依赖于由教师代码和课题代码组成的主关键字,其中,姓名和职称只依赖于主关键字的一个分量教师代码,研究课题名只依赖于主关键字的另一个分量研究课题号。 这种关系会引起数据冗余和更新异常,当要插入新的研究课题数据时,往往缺少相应的教师代码,以致无法插入;当删除某位教师的信息时,常会引起丢失有关研究课题信息。,75,5.4 数据库设计的基础知识,第二范式 解决的方法是将一个非2NF的关系模式分解为多个2NF的关系模式。 可将上表所示关系分解为如下三个关系: 教师关系:教师代码、姓名、职称 课题关系:
38、研究课题号、研究课题名 教师与课题关系:教师代码、研究课题号 这些关系都符合2NF要求。,76,第 二 范 式,满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。 如:,选课 ( 学号,课程号,听课出勤率,作业完成率,分数 ) 教课 ( 职工号,课程号,授课效果 ),77,5.4 数据库设计的基础知识,第三范式(3NF) 所谓第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 上表所示产品关系属第二范式,但不是第三范式。这里,由于生产厂名依赖于产品代码(产品代码唯一确定该产品的生产厂家),生产厂地址又依赖于厂名
39、,因而,生产厂地址传递依赖于产品代码。这样的关系同样存在着高度冗余和更新异常问题。,78,5.4 数据库设计的基础知识,第三范式 消除传递依赖关系的办法,是将原关系分解为如下几个3NF关系: 产品关系:产品代码、产品名、生产厂名 生产厂关系:生产厂名、生产厂地址 3NF消除了插入、删除异常及数据冗余、修改复杂等问题,已经是比较规范的关系。,79,第 三 范 式,符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)。如:,教师(职工号,姓名,年龄,职称,职务,工资) - 工资依赖于
40、职称或职务 教师(职工号,姓名,年龄,职称,职务,工资级别,工资),80,5.5 数据库设计,数据库设计与系统开发阶段对照,数据厍设计是在选定的数据库管理系统基础上建立数据库的过程。数据库设计除用户要求分析外, 还包括概念结构设计、逻辑结构设计和物理结构设计等三个阶段。,81,5.5 数据库设计,数据厍的概念结构设计 概念结构设计应在系统分析阶段进行。 任务是根据用户需求设计数据库的概念数据模型(简称概念模型)。 概念模型是从用户角度看到的数据库 可用前面介绍的E-R模型表示,82,5.5 数据库设计,数据库的逻辑结构设计 逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管
41、理系统(DBMS)支持的数据模型。 数据模型 可以由实体联系模型转换而来 可以用本章介绍的基于第三范式(3NF)的方法来设计。,83,5.5 数据库设计,数据库的逻辑结构设计 将E-R模型转换为关系数据模型的规则: 每一实体集对应于一个关系模式。 实体间多对多的联系转化为一个关系,属性为相关实体的关键字和自己的属性;一对多的联系和一对一了联系不作为单独关系出现可以去掉。 实体和联系中关键字对应的属性在关系模式中仍作为关键字。 根据这些规则, 实体和联系就很容易转换成对应的关系数据模型,84,5.5 数据库设计,数据库的物理结构设计 物理结构设计是为数据模型在设备上选定合适的存储结构和存取方法,
42、以获得数据库的最佳存取效率。 物理结构设计的主要内容包括: 库文件的组织形式。如选用顺序文件组织形式、索引文件组织形式等。 存储介质的分配。例如将易变的、存取频繁的数据存放在高速存储器上;稳定的、存取频度小的数据存放在低速存储器上。 存取路径的选择等。,85,数据库设计举例:把下图转换为关系数据模型,86,6 输出设计,本节内容: 6.1 输出设计的内容 6.2 输出设计的方法 6.3 输出报告 6.4 输出设计示例,87,6.1 输出设计的内容,输出设计的内容包括: 有关输出信息使用方面的内容 信息的使用者、使用目的、报告量、使用周期、 有效期、保管方法和复写份数等; 输出信息的内容 输出项
43、目、位数、数据形式(文字、数字); 输出格式 表格、图形或文件; 输出设备 打印机、显示器、磁带、光盘等。 输出介质 输出到磁盘还是磁带上,输出用纸是专用纸还是普通白纸等。,88,6.2 输出设计的方法,输出设计的方法: 采用预印表格 打印多层表格 周转文件,89,6.3 输出报告,输出报告定义了系统的输出。 输出报告中既标出了各常量、变量的详细信息,也给出了各种统计量及其计算公式、控制方法。 设计输出报告时要注意以下几点: 方便使用者,尽量利用原系统的输出格式 如确需修改,应征得用户同意; 输出表格要考虑系统发展的需要。 是否必要在输出表中留出备用项目,以满足将来新增项目的需要。,90,6.
44、3 输出报告,输出设计书,91,6.4 输出设计示例,屏幕显示输出的设备调拨单,92,6.4 输出设计示例,输出格式定义,93,7 输入设计,本节内容: 7.1 输入设计的原则 7.2 数据输入设备的选择 7.3 输入检验 7.4 原始单据的格式设计 7.5 输入屏幕设计,94,7.1 输入设计的原则,输入设计包括数据规范和数据准备的过程。在输入设计中,提高效率和减少错误是两个最根本的原则。以下是指导输入设计的几个目标: 控制输入量 减少输入延迟 减少输入错误 输入过程应尽量简化,95,7.2 数据输入设备的选择,96,7.3 输入检验,输入错误的种类 数据本身错误。 由于原始数据填写错误等原
45、因引起的输入数据错误。 数据多余或不足。 在数据收集过程中产生的差错。如数据(单据等)的散失、遗漏或重复等原因引起的数据错误。 数据的延误。 数据收集过程中所产生的差错,不过它的内容和数据都是正确的,只是由于时间上的延误而产生差错。,97,7.3 输入检验,数据的校验方法有: 重复校验。 这种方法将同一数据先后输入两次,然后由计算机程序自动予以对比校验,如两次输入内容不一致,计算机显示或打印出错信息。 视觉校验。 输入的同时,由计算机打印或显示输入数据,然后与原始单据进行比较,找出差错。视觉校验不可能查出所有的差错,其查错率为75%85%。 检验位校验。,98,7.3 输入检验,数据的校验方法有: 控制总数校验。 用控制总数校验时,工作人员先用手工求出数据的总值,然后在数据的输入过程中由计算机程序累计总值,将两者对比校验。 数据类型校验 校验数据是数字型还是字符型。 格式校验。 校验数据记录中各数据项的位数和位置是否符合预先规定的格式。 姓名栏规定为18位,而姓名的最大位数是17位,则该栏的最后一位一定是空白。该位若不是空白,就认为该数据项错位。,99,7.3 输入检验,逻辑校验 根据业务上各种数据的逻辑性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵阳人文科技学院《中国古代文学一》2023-2024学年第一学期期末试卷
- 2025湖南省安全员知识题库及答案
- 2025四川建筑安全员B证考试题库
- 2025甘肃省建筑安全员知识题库
- 2025年海南建筑安全员C证(专职安全员)考试题库
- 2025陕西建筑安全员-A证考试题库及答案
- DB32T-传染病突发公共卫生事件应急处置技术规范 第3部分:风险评估编制说明
- 《戒烟病人的护理》课件
- 教师素质模版课件
- 单位人力资源管理制度展示合集十篇
- GB 17353-2024摩托车和轻便摩托车防盗装置
- 学校膳食管理委员会工作制度和职责
- 房租收条格式(3篇)
- 期末试卷(试题)2024-2025学年培智生活语文二年级上册
- 2024秋期国家开放大学本科《中国当代文学专题》一平台在线形考(形考任务一至六)试题及答案
- 期末(试题)-2024-2025学年人教PEP版(2024)英语三年级上册
- 2024伊利在线测评题
- 安徽省A10联盟2025届高二上数学期末考试试题含解析
- 红色简约中国英雄人物李大钊课件
- 小学师德考评细则
- 软件定义网络(SDN)实战教程课件
评论
0/150
提交评论