《管理信息系统教程—管理信息系统的系统设计.ppt》由会员分享,可在线阅读,更多相关《管理信息系统教程—管理信息系统的系统设计.ppt(164页珍藏版)》请在课桌文档上搜索。
1、管理信息系统,第七章 管理信息系统的系统设计,7.1 系统设计的任务7.2 代码设计7.3 功能结构图设计7.4 信息系统流程图设计7.5 系统物理配置方案设计7.6 输出设计7.7 输入设计7.8 数据存储设计7.9 处理流程图设计7.10 制定设计规范7.11 编写程序设计说明书和系统设计报告,本章教学目的要求 掌握系统设计的基本知识,了解系统设计的全过程,掌握系统设计报告编写方法。本章教学重点 系统设计的任务和原则;系统输入输出设计及屏幕设计的基本原则;系统设计报告编写方法。,详细设计,提出要求,可行性研究,系统评价,系统维护,验收,编程调试,系统转换,详细调查,初步调查,逻辑设计,开发
2、方案选择,审批,审查,审查,总体设计,系统规划,系统分析,系统设计,系统实施,系统运行 和维护,第一节 系统设计的主要工作,系统设计的任务:在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计,即建立系统的物理模型【系统模型分为逻辑模型和物理模型。逻辑模型主要确定系统做什么,而物理模型则主要解决怎样做的问题,前者是系统分析的主要任务,后者是系统设计的主要任务。系统设计的依据就是系统分析阶段所得到的数据流程图和数据字典】,逻辑模型,物理模型,做什么,如何做,科学合理地提出,从具体到抽象,从抽象又回到具体,系统分析,系统设计,一、系统设计的主要工作,主要内容,系统详细设计,系统总体设计,
3、系统设计报告,1、系统总体设计,系统总体设计的内容系统的组成部分,即有哪些模块组成系统的层次及调用关系模块的处理功能模块之间的接口,即模块间传递的数据 主要包括信息系统流程图设计、功能结构图设计和功能模块图设计(指系统总体功能结构的设计),让系统建设者了解要解决用户的问题所需要的硬件和系统。主要描述系统的硬件配置、人机界面、输入和输出、数据库和网络体系结构等。,2、系统详细设计,系统详细设计的内容,代码设计和设计规范的制定(是设计人员共同遵守的设计标准)系统物理配置方案设计:包括设备配置、通信网络的选择和设计以及数据库管理系统的选择等(系统运行环境)数据存储设计:包括数据库的设计、数据库的安全
4、保密设计等计算机处理过程设计:输入、输出、处理流程图设计及编写程序设计说明书等,系统设计目标,可靠性原则,灵活性原则,经济性原则,通常,可以采用以下设计目标来评价一个设计方案的优劣:,系统性原则,二、系统设计中应遵循的原则,第二节 代码设计,我们身边常用到的代码:学号身份证号码借书证编号手机号码。编码(代码)是信息系统实现的基础和前提,也是信息系统设计的有机组成部分。合理的编码结构是信息系统是否具有生命力的一个重要因素。,代码的定义:代码是代表事物名称、属性、状态等的符号,为了便于计算机处理,一般用数字、字母或它们的组合来表示。代码设计往往是系统设计的第一个步骤,有了良好的代码设计,才能保证整
5、个系统设计的一致性,是系统设计的共同指南。,一、代码的功能(代码的作用),它为事物提供一个概要而不含糊的认定,便于数据的存储和检索:代码缩短了事物的名称,节省了时间和空间(如数据流程图中,用F表示数据流;D表示数据存储。P表示处理过程)使用代码可以提高处理的效率和精度:按代码进行排序或按某种规定算法进行统计分析,可以十分迅速(如按学号排序),代码提高了数据的全局一致性(共享性):同一事物在不同场合有不同的叫法,可以通过编码统一起来,减少了因数据不 一致而造成的错误(如同一个项目P,有的部门叫项目、有的叫课题、有的叫工程)代码是人和计算机的共同语言:是两者交换信息的工具(如0037、0081等)
6、代码设计在系统分析阶段就应当开始。由于代码的编制需要仔细调查和多方协调,在系统设计阶段才能最后确定。,二、代码的设计 合理的编码结构是信息处理系统是否具有生命力的一个重要因素,在编码设计时,应遵循以下原则:设计的代码在逻辑上必须能满足用户的需要,在结构上应当与处理的方法相一致:(通过学号就可以了解学生所在的系以及所学的专业)一个代码应惟一标志它所代表的事物或属性:(如学号),代码设计时,要预留足够的位置,以适应不断变化的需要:在短时间内,随便改变编码结构对设计工作来说是一种严重浪费(如身份证号码的更换)代码要系统化,代码的编制应尽量标准化:尽量使代码结构对事物的表示具有实际意义(如用Name表
7、示姓名就比用N表示姓名更清晰)要注意避免引起误解,不要使用易于混淆的字符:如0、z、I、S、V与0、2、1、5、U易混,要注意尽量采用不易出错的代码结构:例如WW2就比W2W发生错误的机会要少一些;当代码长于4个字母或5个数字字符时,应分成小段(比如电话号码:0086-023-68668334)若已知码的位数为P,每一位上可用字符数为Si,则可以组成码的总数为:C=S1*S2*Sp 例如,对每位字符为09的三位码,共可组成:C1010101000种码。,三、代码的种类,代码的种类,顺序码,区间码,助忆码,顺序码是一种最简单、最常用的代码。这种代码是将顺序的自然数或字母赋予分类对象。例如,用1
8、代表厂长,2代表科长,3代表科员,4代表生产工人等。超市里收银小票的流水号,1、顺序码,优点:短而简单,易于管理 缺点:代码本身没有给出对象的任何其它信息(没有逻辑基础)新加的代码只能列在最后,删除则造成空码(如政府的车牌号码:渝AA0001)通常,顺序码作为其他码分类中细分类的一种补充手段。,2、区间码,区间码的定义:把数据项分成若干组,每一区间代表一个组,码中数字的值和位置都代表一定意义。典型的例子是邮政编码、电话号码等。,我国公民身份证代码的含义,区间码的优点:信息处理比较可靠,排序、分类、检索等操作易于进行区间码的缺点:码的长度与它分类属性的数量有关,有时可能造成很长的码,加重计算机处
9、理的负担在许多情况下,码有多余的数码的维护比较困难,助忆码用文字、数字或文字数字结合起来描述,其特点是,可以通过联想帮助记忆。例如,用TV-B-12代表12英时黑白电视机,用TV-C-20代表20英时彩色电视机(是一类特殊的区间码)助忆码适用于数据项数目较少的情况(一般少于50个),否则可能引起联想出错。此外,太长的助忆码占用计算机容量大多,也不宜采用。,3、助忆码,例:员工代码设计:一般员工编号能直接反映出该员工所在的部门,因此系统员工编号设计成“部门+编号”的形式,这里的部门使用部门编号,而后面的编号是指该名员工在所属部门的编号。例如员工编号10001,则10代表其所在的部门:财务部,而0
10、01是其员工本身的编号。具体设计如下图所示:,四、代码结构中的校验位 编码作为计算机的重要输入内容之一,其正确性直接影响到整个处理工作的质量(如产品价格的错误输入)由于人们抄写代码和将它通过人手输入计算机时发生错误难以避免,为了保证正确输入,有意识地在编码设计结构中原有代码的基础上,另外加上一个校验位,由它来证实输入是否有错(数据加密中的数字签名技术也是编码校验的一种应用),抄写错误,易位错误,隔位易位错误,如何解决,如何保证代码的正确性?,代码录入时出现错误的类型,在设计好的代码(代码本体)后,再增加一位,作为代码的组成部分。增加的这一位,即为校验位。,避免代码录入出现错误的办法,代码的校验
11、方法,YES,NO,计算校验位,计算的校验位与录入的校验位是否相同,录入包括校验位在内的完整代码,以算术级数作为代码本体的权数,1、算术级数法,问题:如将数据错误输入为21345,校验码能检查出来此错误吗?如何确定权的大小有一定的法则,不能随意安排,否则错误的数据输入经加权后,会得到正确的校验码,从而无法识别出错数据。,原代码 l 2 3 4 5 各乘以权 32 16 8 4 2 乘积之和 32十32十24十16十10114 以11为模去除乘积之和,把得出的余数作为校验码:11411104 因此设计输入代码为:123454。,2、几何级数法,原代码 1 2 3 4 5 各乘以权 17 13 7
12、 5 3 乘积之和 17十26十21十20十15=99 以11为模去除乘积之和,把得出余数作为校验码:991190 因此设计输入代码为:123450 注意,以11为模时,若余数是10,则按0处理。,3、质数法,举例:产品库存表中的Mac码校验 在系统中,对入库单、出库单等数据设置MAC码,MAC码以单据中的关键数据为参数,经过一个MAC码计算函数经过加密计算产生。在进行数据校验时,通过这些表中的关键数据计算其MAC码,看其是否与数据库中对应的MAC码相附,如果不相附则说明该条数据已经被恶意修改过,通过数据校验,可以告诉用户那些数据被恶意修改过了。通过这一功能,用户可以及时方便的了解到有那些数据
13、被恶意修改过,并针对这一情况作出响应的处理,以防止这种情况的再次发生,影响数据统计的真实性以及系统的正常使用。,数据输入时产生校验码,输出时重新计算校验码并与原始校验码进行比较,以判断数据是否被修改。,第三节 功能结构图设计,一相关概念 功能结构图:就是按功能从属关系画成的图表,图中每一个框称为一个功能模块(它是在系统分析阶段管理功能调查基础上设计完成的,表示开发的新MIS系统必须具备的功能),相关概念,模块:模块是数据说明、可执行语句等程序元素的集合,它是指单独命名的,可通过名字来访问的过程、函数、子程序或宏调用(如打印输出模块)。,模块化:就是将程序划分成若干个模块,每个模块完成一个子功能
14、,把这些模块汇总起来构成一个整体,可以完成所要求的整个系统的功能。模块化的根据就是把复杂的问题分解成许多容易解决的小问题,这些小问题将更有利于原有问题的解决。,模块独立性:通过制定具有单一功能并且和其他模块没有过多联系的模块来实现的,即每个模块只涉及该软件要求的一个具体子功能,而且与软件结构的其他部分的接口是简单的。模块独立性可用两个定性指标来度量:内聚与耦合 1、模块耦合:耦合是用来度量不同模块之间相互连接的紧密程度,耦合的强度取决于模块间接口的复杂程度,模块耦合程度越低越好,也易于理解和维护。2、模块的内聚(紧凑性):模块的内聚是度量一个模块内部各个元素彼此联系的紧密程度,模块的内聚程度越
15、高越好。即模块各个组成部分都是彼此密切相关的,是为了一个共同的功能而组合在一起的。,二模块设计的准则 1、提高模块独立性:通过模块分解或合并,力求降低耦合度,提高内聚性,改善模块的独立性;2、模块规模适度:模块的规模不应过大,否则模块的可理解性迅速下降;而模块过小会导致模块数目过多,系统接口复杂,往往造成开销大于有效操作(模块大小没有最好的标准)3、模块的作用域应保持在该控制域范围之内:最好局限于做出判定的那个模块本身及它的直属下级模块(模块只能调用其下层的子模块),4、降低模块接口的复杂性:软件发生错误的一个主要原因就是模块接口太复杂,应该仔细设计模块接口,使信息传递简单并且和模块的功能一致
16、(模块独立性的要求)5、设计成单入口、单出口的模块,避免病态连接:如果模块都是从顶部入口,从底部出口的话,这样的软件也更易于理解和易于维护;(如不能使用GOTO语句),功能结构图中各层功能模块与新的信息系统中数据流程图中的处理(功能)是对应的(如P114图6.8的功能结构图设计中就应包括以下功能模块:判断定货处理方式模块、开发货票处理模块、开付款通知单处理模块),第四节 信息系统流程图设计(简单了解),功能结构图主要从功能的角度描述了系统的结构,但并未表达各功能之间的数据传送关系。信息系统流程图:是用来描述模块间数据联系的工具,信息系统流程图是以新系统的数据流程图为基础绘制的,它以数据流程图中
17、的处理过程为中心来进行设计。,可按下述思路来绘制信息系统流程图:1首先为数据流程图中的处理功能画出数据关系图,它反映了数据之间的关系,即输入数据、中间数据和输出信息之间的关系;,2把各个处理功能的数据关系图综合起来,形成整个系统的数据关系图,即信息系统流程图。从数据流程图到信息系统流程图并非单纯的符号改换,信息系统流程图表示的是计算机的处理流程,而并不像数据流程图那样还反映了人工操作那一部分。因此绘制信息系统流程图的前提是已经确定了系统的边界、人一机接口和数据处理方式。,图7.5是工资管理子系统的信息系统流程图(其数据流程图见P128的图6.12,详细分析)。由图可知该子系统由主文件更新模块、
18、建立扣款文件模块和计算打印模块三部分组成。,第五节 系统物理配置方案设计,系统物理配置方案是指信息系统运行所依赖的硬件平台、网络平台和软件平台,因此其设计就是针对新系统的目标,构建能够支持新系统运行的软硬件环境,以满足新系统逻辑模型的功能和技术需求。,随着信息技术的发展,各种计算机软、硬件产品竞相投向市场。多种多样的计算机技术产品为信息系统的建设提供了极大的灵活性,使我们可以根据应用的需要选用不同生产者的性能各异的软、硬件产品,但同时也给系统设计工作带来了新的困难,那就是如何从众多厂家的产品中作出最明智的选择。,一、设计依据,系统的吞吐量:每秒钟执行的作业数称为系统的吞吐量,系统的吞吐量越大,
19、则系统的处理能力就越强(如文字处理和三维图象处理选用的计算机就一定不同)系统的响应时间:从用户向系统发出一个作业请求开始,到给出应答结果的时间称为系统的响应时间(系统响应时间与用户心理)系统的可靠性:系统的可靠性可以用连续工作时间表示(如银行数据库管理系统、航天飞机自动控制系统等),系统的处理方式:集中式主机系统;分布式微机网络地域范围:根据系统覆盖的范围决定采用广域网还是局域网(局域网的范围不能超过10公里)数据管理方式:如果数据管理方式为文件系统,则操作系统应具备文件管理功能;如果数据管理方式为数据库管理方式,系统中应配备相应的数据库管理系统(大型数据库管理系统的价格非常高),二、计算机硬
20、件选择(只是设备的选型设计,并不是购买)确定系统的体系结构(数据的处理方式):如果是集中式的处理,可以采用主机一终端系统;若企业应用是分布式的,则使用微机网络更为灵活、经济;(微机服务器与小型机服务器的选择)软件对计算机的要求:(如三维动画制作软件对计算机的要求),三、计算机网络的选择,系统网络平台的设计主要包括中、小型机方案与微机网络方案的选取,网络互连结构及通信介质的选择,局域网拓扑结构的设计,网络应用模式及网络操作系统的选型,网络协议的选择,网络管理,远程用户等工作。有关内容请参考计算机网络的技术书籍。,网络拓扑结构一般有总线型、星型、环形等。在网络选择上应根据应用系统的地域分布、信息流
21、量进行综合考虑。(涉及网络的安全),1、网络拓扑结构,2、网络的逻辑设计,通常首先按软件将系统从逻辑上分为各个分系统或子系统,然后按需要配备设备,如主服务器、主交换机、分系统交换机、子系统集线器(HUB)、通讯服务器、路由器和调制解调器等,并考虑各设备之间的连接结构。,3、网络操作系统,目前,流行的网络操作系统有UNIX、Windows NT等。UNIX(历史最早,是唯一能够适用于所有应用平台的网络操作系统);Windows NT由于其Windows软件平台的集成能力,随着Windows操作系统的发展和客户机/服务器模式(C/S)向浏览器/服务器模式(B/S)延伸,无疑是有前途的网络操作系统。
22、,四、数据库管理系统的选择(DBMS的选择)管理信息系统都是以数据库系统为基础。一个好的数据库管理系统对管理信息系统的应用有着举足轻重的重要影响。在数据库管理系统的选择上,主要考虑:数据库的性能数据库管理系统的系统平台数据库管理系统的安全保密性能数据的类型【市场上流行的数据库管理系统有:0racle、Sybase、SQL Server、Foxpro等,各种DBMS性能差异很大,价格也完全不同】,五、应用软件的选择 随着计算机产业的发展,出现了许多商品化应用软件,这些软件技术成熟、设计规范、思想先进,直接应用这些软件既可以节省投资,又能够规范管理过程、加快系统应用的进度。(现今的软件开发,大都采
23、取购买现有的软件平台,根据具体应用的需要进行二次开发,很少有一切从头做起的),选择应用软件的原则:,软件是否能够满足用户的需求:(最基本的要求)软件是否具有足够的灵活性:应用软件要有足够的灵活性,以适应应用环境变化的需求(容易修改,系统扩充)软件是否能够获得长期、稳定的技术支持:良好的售后服务是软件性能的重要指标之一,例:重庆长安汽车销售管理系统物理配置方案设计 硬件环境设计:赛扬900以上的计算机处理器,剩余硬盘空间5G以上,内存128M以上,配置有CD-ROM,鼠标,屏幕的分辨率为:800*600或以上,建议配置不间断电源,打印机为Windows2000支持的图形激光打印机。软件环境设计:
24、1、Windows 98/2000/XP作为操作系统平台;2、MS SQL SERVER 2000作为数据库平台;3、PB9.0作为应用系统开发工具;4、Microsoft Word作为文档编辑和阅读工具。,第六节 制订设计规范,(重点:设计规范的制订应该在代码设计时就进行,而不是所有设计完成后再设计)设计规范是整个系统的“公用标准”,它具体地规定了文件名和程序名的统一格式、编码结构、代码结构、统一的度量名等。如不统一标准,将来无论在系统的使用、操作方面,或者在管理方面,都会造成极大的混乱(如设计语言不同、数据接口不同、程序命名各异等)。(有关设计规范例子请参考TOP幼儿园管理系统程序编码规范
25、),PB开发标准与命名约定 在PB代码开发中,局部变量不使用作用域限定符,所有的运算符及赋值动词()的前后者应加上一个空格,并且函数的参数表中的每个变量前面也要加入一个空格。如:wf_GetAttrib(id,name,date)函数名,事件名或变量名一律用英文书写,首字母用大写,单词之间不用连字符()如:wf_RightTrim()数据库命令(INSERT,SELECT)使用全部大写 单行结构的语句应分解多行:If n_Rows 6 then dw_report.Retrieve()EndIf 而非 If n_Rows 6 then dw_report.Retrieve(),在函数或事件代码
26、中,应加入相应的注释内容与函数头(事件头)如下所示:/目标:/参数:Ag1/Ag2/返回值:/以下开始为代码,第七节 数据存储设计,管理信息系统总是基于文件系统或数据库系统的,文件是存放系统中要处理的和维护的数据的基本方式,既文件是数据管理的最基本方式。,一、文件的分类按文件的存储介质分类:纸带文件、磁盘文件、磁带文件和打印文件等按文件的信息流向分类:输入文件(如卡片文件)、输出文件(如打印文件)和输入输出文件(如磁盘文件)按文件的组织方式分类:顺序文件、索引文件和直接存取文件,按文件的用途分类:(本节的重点)主文件:主文件是系统中最重要的共享文件,主要存放具有固定值属性的数据(如职工姓名、职
27、务等数据)处理文件:又称事务文件,是用来存放事务数据的临时文件,包含了对主文件进行更新的全部数据,主要存放具有随机变动属性的数据工作文件:工作文件是处理过程中暂时存放数据的文件。如排序过程中建立的排序文件,打印时建立的报表文件等(此类文件用完后,不再保存),周转文件:周转文件用来存放具有固定个体变动属性的数据。例如,工资子系统中的住户电费扣款文件(见表7.4)其他文件:例如备份文件,档案文件等。,二、文件的组织方式:(数据的物理存储结构只要求记住概念)(一)顺序文件:即文件中的记录是按照某些关键字排列的文件(即顺序表存储结构)顺序文件是根据记录的序号或相对位置进行存取的文件组织方式。,其特点是
28、:存取第i个记录,必先存取前面的i-1个记录(磁带文件)插入记录只能加在末尾(由于文件记录的记录号是连续的,插入记录的记录号只能排在最后,如班上新进一个学生的学号)顺序文件的优点是:连续存取,速度快(在磁盘上连续读取数据)缺点是:修改和查找麻烦,速度慢。,(二)索引文件:为了便于检索,除文件本身外,另外建一张指示逻辑记录和物理记录之间对应关系的索引表,这类包括文件数据区和索引表两大部分的文件,称为索引文件(即链表存储结构)索引表的索引项应当按顺序排列,而数据文件本身则可以按顺序排列,也可不按顺序排列(如同根据学生住宿安排表,就能快速准确的找到某个学生一样),索引表是由系统程序自定生成的,在输入
29、记录建立数据的同时建立索引表。如对应于图3.7(a)的数据文件,其索引表如图3.7(b),图3.7(c)为输入过程中建立的索引表(此例中关键字为“职工号”,它也是职工表的主键),当记录数目很多时,索引表也将很大,一个物理块可能容纳不下,查询索引表时,可能要多次访问外存物理块。为了避免这种矛盾,可以为索引表再建一个索引,称为查找表。假设图3.7(b)的索引表需占用三个物理块,则可建立如表3.2所示的查找表。检索记录时,先查找查找表,再查索引表,最后读取记录,只需三次访问外存。,索引文件的优点:可以保证记录地址的唯一性,不产生重号,存取机制也比较简单。缺点:索引表本身要占用一定的存储空间,索引只是
30、一种静态索引,各级索引均为线性表结构,特别是当索引表为顺序存储结构时,修改不方便,效率低下(插入与删除操作复杂保持有序)。,(三)直接存取文件(散列文件):其组织方式:1、直接地址法:即直接把存放某一记录的地址作为该记录的鉴别键的值。如将图3.9(a)数据文件中的职工号直接换成物理记录号,就形成了一个直接存取文件。优点:存取机制简单,使用方便,不会重号 缺点:把记录的存储地址作为鉴别键,不易记忆。,2、杂凑法:是利用一种称之为杂凑函数的算法,把键号转换为记录的地址,以达到压缩存储空间的目的。如质数除余算法:DRK=K MOD 11 利用杂凑算法分配地址空间,都可能发生两个不同的键号经过计算得到
31、相同的地址,即出现地址冲突。(如上例中的K=3和K=14时,经计算分配的地址相同)为了解决键号在压缩过程中出现的这种矛盾,可以采用溢流法:既利用主表和溢流表两个表来存储记录的键号。(见P66)优点:存取速度快,比较节约存储空间 缺点:不易找到一个良好的算法,而且地址碰撞现象发生过多时,会延长存取时间。,三、文件设计 文件设计的定义:就是根据文件的使用要求、处理方式、存储量、数据的活动性以及硬件设备的条件等,合理地确定文件类别,选择文件介质,决定文件的组织方式和存取方法。文件设计通常从设计共享文件开始,而文件由记录组成,所以设计文件主要是设计文件记录的格式。表7.6是工资子系统中主文件记录设计表
32、,四、数据库设计的基本知识,汽车模型地图沙盘汽车调度模型。,什么是模型?,模型的概念:对现实世界事物特征的模拟和抽象就是这个事物的模型。,计算机不能直接处理现实世界中的具体事物,所以必须先把具体事物转换为抽象的模型,然后再将其转换为计算机可以处理的数据,从而以模拟的方式实现对现实世界事物的处理。,为什么要建立数据模型?,真实地反映现实世界易被人理解便于在计算机上实现,(一)概念模型 概念模型是按用户的观点对数据和信息建模,反映的是现实世界中的事物及其相互联系,与此有关的概念有:1、实体(Entity):是观念世界中描述客观事物的概念。实体可以是人,物或抽象的概念;2、属性:指实体具有的某种特性
33、,属性用来描述一个实体;3、联系:现实世界的事物总是存在着联系,这种联系必然要在信息世界中得到反映。在信息世界中,事物之间的联系可分为两类:实体内部的联系:(如学生中的领导联系)实体之间的联系:(如教师与学生的联系),实体有个体和总体之分:个体:如”张三”、”李四”等(是实体的值)总体:泛指个体组成的集合(是实体的型)总体又分为:同质总体:如学生实体;异质总体:异质总体是由不同性质的个体组成的集合,一个异质总体可以分解出多个同质总体(如学校实体由学生和老师构成)数据文件描述的是同质总体,而数据库描述的是异质总体。,两个实体型之间的联系可以分为三类:一对一联系:如果对于A中的一个个体,B中至多有
34、一个个体与其发生联系;反之,B中的一个体至多对应A中一个个体,则称A与B是一对一联系(如男女之间的夫妻关系)一对多联系:如果对于A中的每一个体,实体B中有一个以上的个体与之发生联系,反之,B中的每一个体至多只能对应于A中的一个个体,则称A与B是一对多联系(如学生与所在系)多对多联系:如果A中至少有一个体对应于B中一个以上的个体,反之;B中也至少有一个个体对应于A中一个以上的个体,则称A与B为多对多联系(如学生与课程),(二)E-R方法 概念模型的最常见的表示方法是实体联系方法(简称E-R方法)。E-R方法是P.P.S.Chen于1976年提出的,其方法是用E-R来描述某一组织的信息模型。E-R
35、图中用矩形表示实体;实体之间的关系用菱形表示;用无向边把菱形与有关实体连接,在边上标明联系的类型;实体的属性可用椭圆表示,并用无向边把实体与属性联系起来。,例1:教学管理中涉及到学生、课程两个实体,用E-R图可表示为下图所示。此E-R图中实体的相关属性如下:学生实体属性:学号,学生姓名,所属系,年龄课程实体属性:课程号,课程名,先行课程号选课联系的属性:学号,课程号,成绩,学期,例2:建立一个企业数据库,其中涉及到的实体有:单位,职工,项目,供应商。规定:每个单位有多个职工,一个职工只能在一个单位工作,用工作年限来描述;每个职工仅参加一个项目的工作,但一个项目可有多个职工参加建设;每个项目的原
36、材料由多个供应商供应,而每个供应商可按一定数量和单价向多个项目供应原材料。单位的属性有:单位号,单位名,电话职工的属性有:职工号,姓名,性别项目的属性有:项目号,项目名,项目地点供应商的属性有:供应商号,供应商名,地址,ER模型是对现实世界的一种抽象,它抽取了客观事物中人们所关心的信息、忽略了非本质的细节(如学生的身高、体重等就不是我们所关心的信息,但它们是存在的),并对这些信息进行了精确地描述。E-R图所表示的概念模型与具体的DBMS所支持的数据模型相独立,是各种数据模型的共同基础,因而是抽象和描述现实世界的有力工具。,(三)数据模型(数据库的逻辑设计),数据模型是对客观事物及其联系的数据化
37、描述,是数据库系统中用于提供信息表示和操作手段的形式构架,是数据库系统实现的基础。在实际数据库系统中支持的数据模型主要有以下三种:层次模型:(Hierarchical Model)网状模型:(Network Model)关系模型:(Relation Model)其中关系模型是最重要的数据模型,现今推出的数据库管理系统几乎全部支持关系模型。,关系模型的定义:关系模型是建立在数学概念的基础上,应用关系代数和关系演算等数学理论来处理数据库系统的方法。从用户的观点来看,在关系模型下,数据的逻辑结构是一张二维表。每一个关系为一张二维表,相当于一个文件,实体间的联系均通过关系进行描述。,例:下表用m行n列
38、的二维表表示了具有n元组(n-Tuple)的“学生”关系。每一行即一个N元组,相当于一个记录,用来描述一个实体。,关系模型中的主要术语有:关系:一个关系对应于一张二维表(学生关系,是关系的型)元组:表中的一行,相当于一个记录(学生记录,是关系的值)属性:表中一列称为一个属性(学号、姓名等)主码:表中的某个属性组,它唯一标识一个元组(学号属性),域:属性的取值范围(学生的性别只能取“男”或“女”两个值)分量:元组中的一个属性值(学号为“180110”的学生的姓名)关系模式:对关系的描述,用关系名(属性1,属性2,)来表示。如:学生(学号,姓名,性别,出生日期,.),关系模型的特点:1、关系模型的
39、概念单一:对于实体和实体之间的联系均以关系来表示,如:学生(学号,学生姓名,所属系,年龄)课程(课程号,课程名,先行课程号)选课关系(学号,课程号,成绩,学期)2、关系是规范化的关系:最基本的要求是关系中的每一个分量都是不可分的数据项,既表不能多于二维 3、关系模型中,用户对数据的检索和操作实际上是从原二维表中得到一个子集,该子集仍是一个二维表。因而易于理解,操作直接、方便。(如SELECT SNO FROM STUDENT.),由于关系模型概念简单、清晰、易懂、易用,并有严格的数学基础以及在此基础上发展起来的关系数据理论,简化了程序开发及数据库建立的工作量,因而迅速获得了广泛的应用,并在数据
40、库系统中占据了统治地位。,(四)关系的规范化,一个企业销售记录的关系模式PEQ(订单代码、订购日期、客户、发货日期、产品、单价、数量、雇员),如表6.12所示。如果关系模式设计得不好会带来以下问题:,冗余度高:如果“雇员”与客户的联系是固定的,而当该客户每购买一种产品时,“雇员”就重复存放一次。,修改问题:如果在PEQ中,某客户的联系雇员变动时,就需要对所涉及的雇员进行修改,这不仅增加了更新代价,而且有可能造成数据的不一致性。,删除问题:如果某客户暂时不需要任何产品,则删除时就丢失了其所联系雇员的一些信息,而该雇员可能在以后可能再次用到。,插入问题:在这个关系中,关键字由“订单代码、产品”组成
41、。如果新增一个客户的有关数据,而所购买产品未定,那么这个客户的数据无法插入,因为缺少关键字其他数据。,产生问题的原因?所设计的关系模式没有体现数据之间的结构关系规范化的提出:规范化理论是E.F.Codd在1971年提出的。以后人们为数据结构定义了五种规范化模式(Normal Form,简称范式)。即:1NF,2NF,3NF,4NF,5NF。规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。,范式:表示的是关系模式的规范化程度,也即满足某种约束条件的关系模式。(一)第一范式(1NF)1NF的定义:属于第一范式的关系应满足
42、的基本条件是元组中的每一个分量都必须是不可分割的数据项。例如,表7.6所示关系不符合第一范式,而表7.7则是经过规范化处理,去掉了重复项后而符合第一范式的关系(见P151),(二)第二范式(2NF)定义1:设R(U)是属性集U上的关系模式。X,Y是U(属性)的子集。若对于R(U)的任意一个可能的关系r(值),r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记 XY(即X的值唯一确定Y的值),定义2:在R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖。2NF的定义:若R1NF,且每一个非主属性都完全函数依赖于主
43、码,则R2NF。(如一个关系模式的主码由一个属性构成,则此模式一定满足第二范式?),例:关系模式S-L-C(SNO,SDEPT,SLOC,CNO,G),其中SLOC为学生住处,假设每个系的学生住在同一地方。此关系模式的主码为(SNO,CNO)。函数依赖有:(SNO,CNO)G SNOSDEPT SNOSLOC SDEPTSLOC(因为每个系的学生只住一个地方),图中可以看到非主属性SDEPT,SLOC并不完全函数依赖于码(只依赖于码中的SNO)。因此S-L-C(SNO,SDEPT,SLOC,CNO,G)不符合2NF定义,即S-L-C2NF。一个关系模式R不属于2NF,就会产生以下几个问题:插入
44、异常:无法插入一个没有选课的学生记录删除异常:无法保存一个没有选课的学生记录修改复杂:数学系(MA)的学生从宿舍转到宿舍,必须修改所有的数学系的学生记录,修改复杂。,分析上面的例子,可以发现问题在于有两种非主属性:一种如G,它对码是完全函数依赖。另一种如SDEPT,SLOC,对码不是完全函数依赖。解决的办法是用投影分解把关系模式S-L-C分解为两个关系模式。SC(SNO,CNO,G)S-L(SNO,SDEPT,SLOC)(模式SC和S-L进行自然连接后就等价于模式S-L-C)关系模式SC与S-L中属性间的函数依赖可以用下图表示:,(三)第三范式(3NF)定义3:在R(U)中,如果XY,(YX)
45、,YX,YZ,则称Z对X传递函数依赖。3NF的定义:指这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。在上例中关系模式SC没有传递依赖,而关系模式S-L存在非主属性对码传递依赖。在S-L中,由SNOSDEPT,(SDEPTSNO),SDEPTSLOC,因此非主属性SLOC传递依赖于主码SNO。因此SC3NF,而S-L3NF。,一个关系模式R若不是3NF,同样会产生产生插入异常、删除异常和数据冗余。解决的办法同样是将S-L分解为:S-D(SNO,SDEPT)D-L(SDEPT,SLOC)分解后的关系模式S-D与D-L中不再存在传递依赖,都满足第三范式的要求。3NF消
46、除了插入、删除异常及数据冗余、修改复杂等问题,已是比较规范的关系(范式并非越高越好),例:产品关系(产品代码,产品名,生产厂名,生产厂地址,单价)判断一个关系模式满足第几范式的正确求解过程。1、因为该关系模式的每一个分量都是不可分割的数据项,所以,该关系模式满足1NF 2、该关系模式的主码是:产品代码 3、由于关系模式的主码是由唯一的属性构成,因此,不会形成非主属性对主码的部分函数依赖,因此,该关系模式满足2NF 4、设:X=产品代码 Y=生产厂名 Z=生产厂地址 由于:XY,YX,YX,YZ 非主属性 生产厂地址 通过 生产厂名 传递依赖于主属性 产品代码,因此,该关系模式不满足3NF 5、
47、所以,该关系模式是满足2NF。,五、数据库设计 数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。数据库设计的任务:是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息需求和功能需求)。,要直接将现实世界中的内容映射到计算机世界是十分困难的,因此要引入观念世界和数据世界作为现实世界通向计算机世界的桥梁。因此,从客观事物到计算机内的数据,这里经过了四个世界(或称领域):现实世界观念世界数据世界计算机世界,客观 事物:事物 相关性质集合,人,实体 实体及 实体集联系 相关属性集合,加工、转换,数 记
48、录据 文件库 相关数据项集合,加工转换,存储 二进制数据集合结构,计算机世界,DBMS,数据世界,DBMS的数据模型,现实世界,观念世界,认识、选择和描述,将外部信息转化为计算机内部的数据,需经以下几个不同的状态。,数据库设计的基本步骤 与人们对现实世界的认识和描述过程相对应,数据库设计(不包含实施与运维)的内容也分为以下四个阶段:用户需求分析数据需求报告概念结构设计E-R模型逻辑结构设计关系模型物理结构设计表结构,数据库设计过程与系统开发阶段的对照,数据库的设计过程与信息系统应用设计的阶段融为一体。,(一)需求分析 需求分析的任务:通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明
49、确用户的各种需求,然后在此基础上确定新系统的功能。调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:1、信息要求:指用户需要从数据库中获得信息的内容与性质,即在数据库中需要存储哪些数据(数据库设计的基础),2、处理要求:指用户要完成什么处理功能,处理方式是批处理还是联机处理(应用系统设计的基础)3、安全性与完整性要求:如系统的恢复功能,双机备份等。确定用户的最终需求是一件很困难的事,设计人员必须不断深入地与用户交流,才能逐步确定用户的实际需求。,(二)数据库的概念结构设计 数据库概念设计的任务:根据用户需求设计数据库的概念模型。概念模型是从用户角度看到的数据库,
50、它可用前面介绍的E-R模型表示,也可以用3NF关系群来表示。,(三)数据库的逻辑结构设计 1、逻辑结构设计的任务:将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统(DBMS)支持的数据模型(如关系模型),并对其进行优化(规范化理论)。,2、E-R模型向关系数据模型的转换(重点掌握的内容),E-R模型可以向现有的各种数据库模型转换,对不同的数据库模型有不同的转换规则。将E-R图转换为关系模型实际上就是要将E-R图中的实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则:,实体的转换规则,1)一个实体型转换为一个独立的关系模式关系的属性:实体型的属性关系的码:实体