《第4章数据库设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第4章数据库设计优秀PPT.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4 4章章 数据库设计数据库设计现在学习的是第1页,共46页4.1 4.1 数据库设计概述数据库设计概述数据库设计是从数据库设计是从用户用户对数据的对数据的需要需要出发,创建一个性能良出发,创建一个性能良好、能满足不同用户需要、又能被选定的好、能满足不同用户需要、又能被选定的DBMSDBMS所接受的所接受的数数据模式据模式,进而构造出数据库结构的过程。这里所说的数据,进而构造出数据库结构的过程。这里所说的数据库结构包括数据库的库结构包括数据库的逻辑结构和物理结构逻辑结构和物理结构。数据库设计质量的优劣,不仅影响到当前应用,还影响到数据库设计质量的优劣,不仅影响到当前应用,还影响到数据库应用
2、过程的维护,从而也影响到数据库的生命周期。数据库应用过程的维护,从而也影响到数据库的生命周期。探索有效的数据库设计方法,应该探索有效的数据库设计方法,应该在在合理的合理的时间内付出时间内付出合合理的理的工作量的情况下,产生具有实用价值的数据库结构工作量的情况下,产生具有实用价值的数据库结构。数据库设计方法应具有足够的通用性和灵活性,适用于不数据库设计方法应具有足够的通用性和灵活性,适用于不同领域,适合于不同特征的数据库管理系统和不同素质的同领域,适合于不同特征的数据库管理系统和不同素质的数据库设计人员。数据库设计人员。更高目标:数据库设计方法应该具有更高目标:数据库设计方法应该具有再生产再生产
3、特征,即不同特征,即不同人应用该方法于同一问题时,应该得到相同或相近的数据人应用该方法于同一问题时,应该得到相同或相近的数据库结构。库结构。现在学习的是第2页,共46页4.1.1 4.1.1 数据库设计的目标数据库设计的目标 满足应用功能需求和良好的数据库性能。满足应用功能需求和良好的数据库性能。1、满足应用功能需求,主要是指把用户当前应用以及可、满足应用功能需求,主要是指把用户当前应用以及可预知的将来应用所需要的数据及其联系能全部准确地存预知的将来应用所需要的数据及其联系能全部准确地存放于数据库之中,并能根据用户的需要对数据进行规定放于数据库之中,并能根据用户的需要对数据进行规定的合理的增、
4、删、改、显示等操作。的合理的增、删、改、显示等操作。2、良好的数据库性能,主要是指数据库应具有良好的存储、良好的数据库性能,主要是指数据库应具有良好的存储结构、良好的数据共享性、良好的数据完整性、良好的数结构、良好的数据共享性、良好的数据完整性、良好的数据一致性(有效的、合理的和一致的)及良好的安全保密据一致性(有效的、合理的和一致的)及良好的安全保密性能等。性能等。现在学习的是第3页,共46页4.1.2 4.1.2 数据库设计的内容数据库设计的内容1数据库的结构特性设计数据库的结构特性设计2数据库的行为特性设计数据库的行为特性设计3数据库的物理模式设计数据库的物理模式设计现在学习的是第4页,
5、共46页 1数据库的结构特性设计数据库的结构特性设计 数据库的结构特性设计是确定数据库的框架和数据结数据库的结构特性设计是确定数据库的框架和数据结构构(逻辑结构特征逻辑结构特征)。它是汇总各用户视图产生的全局逻辑。它是汇总各用户视图产生的全局逻辑结构。他反映了现实世界及其联系,具有最小的数据冗余,结构。他反映了现实世界及其联系,具有最小的数据冗余,能够实现数据共享。结构特性是静态的,一旦形成一般不能够实现数据共享。结构特性是静态的,一旦形成一般不会轻易改变,因此称为静态结构设计。会轻易改变,因此称为静态结构设计。现在学习的是第5页,共46页 2数据库的行为特性设计数据库的行为特性设计 数据库的
6、行为特性设计是指确定数据库用户的行为和数据库的行为特性设计是指确定数据库用户的行为和动作,并根据其行为特性设计出数据库的子模式。在数据动作,并根据其行为特性设计出数据库的子模式。在数据库系统中,数据库的行为和动作反映在数据库应用程序中,库系统中,数据库的行为和动作反映在数据库应用程序中,这些行为和动作主要包括数据库的记录的添加、删除与修这些行为和动作主要包括数据库的记录的添加、删除与修改、数据库的查询和统计、事务处理及报表处理等。由于改、数据库的查询和统计、事务处理及报表处理等。由于用户的行为特征是动态的,所以数据库的行为特征也称数用户的行为特征是动态的,所以数据库的行为特征也称数据库的动态特
7、征设计。据库的动态特征设计。从使用方便和改善性能角度考虑,结构特征必从使用方便和改善性能角度考虑,结构特征必须适应行为特征,结构特征的设计是关键。须适应行为特征,结构特征的设计是关键。现在学习的是第6页,共46页 3数据库的物理模式设计数据库的物理模式设计 数据库的物理模式设计要求是数据库的物理模式设计要求是:根据数据库结构的根据数据库结构的动态特性,在特定的动态特性,在特定的RDBMS环境下,把数据库的逻辑环境下,把数据库的逻辑结构模型加以物理实现,从而得出数据库的存储模式和结构模型加以物理实现,从而得出数据库的存储模式和存取方法。存取方法。现在学习的是第7页,共46页4.1.3 4.1.3
8、 数据库设计的特点与过程数据库设计的特点与过程 1数据库设计的特点数据库设计的特点 由于数据库结构特征和行为特征的设计是分离的,由于数据库结构特征和行为特征的设计是分离的,决定了数据库设计是一种决定了数据库设计是一种“反复探寻,逐步求精反复探寻,逐步求精”的的过程。过程。用户的希望:数据库好用、安全、可靠、便于维用户的希望:数据库好用、安全、可靠、便于维护、具有数据共享性和完整性并能迅速响应用户操作护、具有数据共享性和完整性并能迅速响应用户操作请求。为了实现用户的目标,结构特征必须良好,但请求。为了实现用户的目标,结构特征必须良好,但是结构特征是体现在模式和子模式的定义中。而用户是结构特征是体
9、现在模式和子模式的定义中。而用户的行为特征体现在应用程序中,从而导致程序和设计的行为特征体现在应用程序中,从而导致程序和设计的不易结合,因此数据库的最佳设计不可能一次完成,的不易结合,因此数据库的最佳设计不可能一次完成,只能是一个反复探究的过程。只能是一个反复探究的过程。现在学习的是第8页,共46页 2数据库设计的过程数据库设计的过程 数据库设计目前有很多模式,但是一个完整的数据数据库设计目前有很多模式,但是一个完整的数据库系统的设计过程基本上分为三个阶段:库系统的设计过程基本上分为三个阶段:逻辑设计、逻辑设计、物理设计、数据库的运行与调试及维护物理设计、数据库的运行与调试及维护。而行为特征。
10、而行为特征设计与数据库的逻辑设计和物理设计是同时进行的。设计与数据库的逻辑设计和物理设计是同时进行的。现在学习的是第9页,共46页单位或组织单位或组织数数据据库库的的逻逻辑辑设设计计数数据据库库的的行行为为设设计计分析用户需求分析用户需求E-R模型设计模型设计逻辑模式设计逻辑模式设计分析用户需求分析用户需求模块功能说明模块功能说明编写程序代码编写程序代码存储结构的选择存储结构的选择属性的确定属性的确定索引的确定索引的确定数数据据库库的的物物理理设设计计加载实验数据并调试运行加载实验数据并调试运行应应用用程程序序的的调调试试、运运行行与与维维护护满意满意?否否是是加载数据库加载数据库数据库系统的
11、运行与维护数据库系统的运行与维护否否图图4-1 数据库设计过程数据库设计过程现在学习的是第10页,共46页4.2 4.2 数据库逻辑设计数据库逻辑设计 4.2.1 数据库逻辑设计的步骤数据库逻辑设计的步骤 逻辑设计阶段的目标是产生合理的数据库模式,可分为三个阶逻辑设计阶段的目标是产生合理的数据库模式,可分为三个阶段:段:收集和分析用户需求、概念模式设计和逻辑模式设计收集和分析用户需求、概念模式设计和逻辑模式设计。第一阶段主要分成四个步骤:第一阶段主要分成四个步骤:第一步:分析用户活动,产生第一步:分析用户活动,产生“用户活动图用户活动图”。第二步:确定系统范围,产生第二步:确定系统范围,产生“
12、系统范围图系统范围图”。第三步:分析用户活动所涉及到的数据,产生第三步:分析用户活动所涉及到的数据,产生“数据流图数据流图”。第四步:分析系统数据,产生数据字典。第四步:分析系统数据,产生数据字典。第二阶段可分为两个步骤:第二阶段可分为两个步骤:第一步:根据数据流图、数据字典,产生局部第一步:根据数据流图、数据字典,产生局部“E-R模型模型”。第二步:综合局部第二步:综合局部E-R模型产生总体模型产生总体E-R模型,并建立模型,并建立“总体总体E-R图图”。第三阶段也可分成两个步骤:第三阶段也可分成两个步骤:第一步:把总体第一步:把总体E-R图转换成逻辑模式(关系模型)。图转换成逻辑模式(关系
13、模型)。第二步:对逻辑模式进行优化,产生符合要求的合理最优的逻辑模式。第二步:对逻辑模式进行优化,产生符合要求的合理最优的逻辑模式。现在学习的是第11页,共46页4.2.2 4.2.2 收集和分析用户需求收集和分析用户需求 数据库的性能是由用户决定的,所以彻底弄清用户需求是数据库的性能是由用户决定的,所以彻底弄清用户需求是数据库设计任务能否顺利完成的关键。数据库设计任务能否顺利完成的关键。该阶段分为四个步骤,通过一个医院信息管理系统来说明该阶段分为四个步骤,通过一个医院信息管理系统来说明这四个步骤应完成的功能。这四个步骤应完成的功能。【例】某医院信息管理系统要完成以下功能:【例】某医院信息管理
14、系统要完成以下功能:办理病历(第一次来院治病时办理病历);办理病历(第一次来院治病时办理病历);查询药品情况(根据要求查询某种类或全部药品信息);查询药品情况(根据要求查询某种类或全部药品信息);病人项目入库(病人所用药、所做检查等治疗信息存入到病人项目入库(病人所用药、所做检查等治疗信息存入到指定的数据库中);指定的数据库中);催交欠费(根据病人项目计算出总费用,减去预交费用,催交欠费(根据病人项目计算出总费用,减去预交费用,若超过某一限度则催交欠费)。若超过某一限度则催交欠费)。现在学习的是第12页,共46页 1分析用户活动分析用户活动 该步骤从单位的日常工作流程入手,可以通过座谈该步骤从
15、单位的日常工作流程入手,可以通过座谈会、与职工共同工作、设计调查问卷、查阅历史业务记会、与职工共同工作、设计调查问卷、查阅历史业务记录等途径理清业务处理流程。如处理业务过于复杂可以录等途径理清业务处理流程。如处理业务过于复杂可以分解成子处理业务。在分析之后画出分解成子处理业务。在分析之后画出“用户活动图用户活动图”。接受申请接受申请病人数据存档病人数据存档打印病历封面打印病历封面接受申请接受申请查药品信息查药品信息打印药品目录清单打印药品目录清单接受申请接受申请项目信息录入与保存项目信息录入与保存打印项目信息打印项目信息接受申请接受申请查项目信息查项目信息计算逾期项目与费用并打印计算逾期项目与
16、费用并打印办理病历办理病历药品查询药品查询项目入库项目入库催交欠费催交欠费发给病人发给病人发给查询人发给查询人交给病人交给病人交给病人交给病人图图4-2 4-2 用户医院的业务流程所得到的用户医院的业务流程所得到的“用户活动图用户活动图”现在学习的是第13页,共46页 2确定系统范围确定系统范围 分工:把适合计算机处理的划归为系统范围,不适分工:把适合计算机处理的划归为系统范围,不适合计算机处理的划归为人工处理合计算机处理的划归为人工处理 上图中虚线框内的部分属于系统范围,而框外部分上图中虚线框内的部分属于系统范围,而框外部分则需人工处理。则需人工处理。现在学习的是第14页,共46页 3分析用
17、户活动所涉及到的数据分析用户活动所涉及到的数据 搞清系统需要处理的范围之后,还需要进一步分析搞清系统需要处理的范围之后,还需要进一步分析用户的业务处理,关注的焦点是用户活动图中所处理的用户的业务处理,关注的焦点是用户活动图中所处理的数据,并以数据,并以“数据流图数据流图”的形式来表示数据的流向和数的形式来表示数据的流向和数据所进行的加工。据所进行的加工。数据流图是描述企事业等组织的活动及来往于各数据流图是描述企事业等组织的活动及来往于各活动之间数据流动的有力工具,是一种从数据流的角活动之间数据流动的有力工具,是一种从数据流的角度描述一个企事业组织活动的图示,被广泛用于数据度描述一个企事业组织活
18、动的图示,被广泛用于数据处理系统开发设计中。处理系统开发设计中。现在学习的是第15页,共46页(1)数据流图的概念)数据流图的概念 数据流图是一种能全面描述系统逻辑模型的主数据流图是一种能全面描述系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出数据要工具,它可以用少数几种符号综合地反映出数据在系统中的流动、存储和处理情况。在系统中的流动、存储和处理情况。(2)数据流图的特征)数据流图的特征抽象性抽象性数据流图完全舍去了具体的物质,只剩下数据流图完全舍去了具体的物质,只剩下数据的流动、加工处理和存储。数据的流动、加工处理和存储。概括性概括性数据流图可以把系统中的不同业务处数据流图可以把系
19、统中的不同业务处理过程联系起来,形成一个整体。无论人工还是理过程联系起来,形成一个整体。无论人工还是计算机处理部分,都可以用数据流图系统的表达计算机处理部分,都可以用数据流图系统的表达出来。出来。现在学习的是第16页,共46页(3)数据流图的组成)数据流图的组成数据流:表示流动着的数据,可以是一个也可以是一组数据数据流:表示流动着的数据,可以是一个也可以是一组数据项,还可以是表示数据文件的存储操作。数据流通常用项,还可以是表示数据文件的存储操作。数据流通常用箭头箭头表示,在它上方标明数据流名称。表示,在它上方标明数据流名称。加工:又称功能或处理,它用一个加工:又称功能或处理,它用一个圆形圆形表
20、示表示处理处理逻辑,圆形逻辑,圆形内部填写处理名字。内部填写处理名字。文件:文件用一条文件:文件用一条横线横线表示,上方或旁边注明文件名字或内表示,上方或旁边注明文件名字或内容。一般文件使用表实现。容。一般文件使用表实现。源点和终点:用源点和终点:用方框方框表示,表示数据流的开始和结束。表示,表示数据流的开始和结束。数据流的每个成分都要用命名加以区分。数据流的每个成分都要用命名加以区分。SD1P1D2F1P2D3EF2图图4-3 简单的数据流程图简单的数据流程图现在学习的是第17页,共46页画数据流图应注意以下几点:画数据流图应注意以下几点:数据流图中反映的是数据流而不是控制流,这是与一般数据
21、流图中反映的是数据流而不是控制流,这是与一般程序流程图的最大不同之处;程序流程图的最大不同之处;在对数据流图中各个成份命名时,应该体现命名的含义;在对数据流图中各个成份命名时,应该体现命名的含义;流入文件或流出文件的数据流不必命名,因为文件名本流入文件或流出文件的数据流不必命名,因为文件名本身已经表示了数据内容;身已经表示了数据内容;源点和终点不是必须的,因为它们是属于系统之外的事源点和终点不是必须的,因为它们是属于系统之外的事物,但画出源点和终点有助于理解数据流的来龙去脉。物,但画出源点和终点有助于理解数据流的来龙去脉。现在学习的是第18页,共46页(4)数据流图的画法)数据流图的画法 一般
22、地说,画数据流图应遵循一般地说,画数据流图应遵循“由外向内,逐步细化由外向内,逐步细化”的原则。的原则。由外向内是指根据用户活动图表定义系统范围,系统范围由外向内是指根据用户活动图表定义系统范围,系统范围内的细节部分可以先不考虑,将其当成一个黑盒子。如前面讨内的细节部分可以先不考虑,将其当成一个黑盒子。如前面讨论的医院管理信息系统,最初的数据流可以表示如下:论的医院管理信息系统,最初的数据流可以表示如下:病人及其家属病人及其家属药品管理人员药品管理人员病人及其家属病人及其家属病人及其家属病人及其家属药品管理人员药品管理人员医生医生财务管理人员财务管理人员病人及其家属病人及其家属医院管理医院管理
23、信息系统信息系统交款通知交款通知门诊请求门诊请求查询请求查询请求处方项目处方项目催款请求催款请求病例病例药品清单药品清单本次项目清单本次项目清单图图4-4 医院管理系统的最初流程图医院管理系统的最初流程图现在学习的是第19页,共46页 逐步细化是指:逐一描述系统内部数据流,一般从每逐步细化是指:逐一描述系统内部数据流,一般从每个业务的输入端开始向输出端推进。个业务的输入端开始向输出端推进。当经过使数据流的组成或数值发生变化的地方,就用一个当经过使数据流的组成或数值发生变化的地方,就用一个“加工加工”将其连接起来。将其连接起来。注意:注意:不要把相互无关的数据画成一个数据流;不要把相互无关的数据
24、画成一个数据流;也不要把作为一个处理单位的数据画成二个数据流。也不要把作为一个处理单位的数据画成二个数据流。如果牵涉到文件,则应表示出如果牵涉到文件,则应表示出“文件文件”与与“加工加工”的读写的读写关系。在上图的基础上画出系统内各数据流图。关系。在上图的基础上画出系统内各数据流图。数据流图画出后要验证其正确性,对于一个大型的管数据流图画出后要验证其正确性,对于一个大型的管理信息系统,一开始的数据流不可能是完美的,要经过反理信息系统,一开始的数据流不可能是完美的,要经过反复修改,逐步地去伪存真,最后得到满意的数据流图。复修改,逐步地去伪存真,最后得到满意的数据流图。现在学习的是第20页,共46
25、页办理办理病例病例打印打印封皮封皮门诊请求门诊请求病人档案数据病人档案数据病例病例病人病人数据流说明:数据流说明:门诊请求:姓名、性别、年龄、职业、通信地址、电话号码、是否医保门诊请求:姓名、性别、年龄、职业、通信地址、电话号码、是否医保病人:病例号,姓名、性别、年龄、职业、通信地址、电话号码、是否医保病人:病例号,姓名、性别、年龄、职业、通信地址、电话号码、是否医保病例:病例号、姓名、性别、年龄病例:病例号、姓名、性别、年龄接受接受查询查询打印打印药品查询请求药品查询请求药品数据药品数据药品清单药品清单药品药品数据流说明:数据流说明:药品查询请求:药品名、制药厂药品查询请求:药品名、制药厂药
26、品:药品编号、药品名、制药厂、药品功效、单价、库存数量药品:药品编号、药品名、制药厂、药品功效、单价、库存数量药品数据:药品名、制药厂、库存数量药品数据:药品名、制药厂、库存数量图图4-5 门诊请求数据流图门诊请求数据流图图图4-6 药品查询数据流图药品查询数据流图现在学习的是第21页,共46页处方处方录入录入打印打印清单清单处方请求处方请求处方数据处方数据处方清单处方清单病人医疗项目病人医疗项目图图4-7 处方处理数据流图处方处理数据流图办理办理请求请求计算计算费用费用催款请求催款请求医疗项目数据医疗项目数据催款通知催款通知病人病人图图4-8 催款处理数据流图催款处理数据流图数据流说明:数据
27、流说明:处方请求:病例号,姓名、药品或器械名或检查项目名、剂量或次数处方请求:病例号,姓名、药品或器械名或检查项目名、剂量或次数病人医疗项目:病例号,药品号、剂量或次数、开始时间、终止时间病人医疗项目:病例号,药品号、剂量或次数、开始时间、终止时间处方数据:病例号,药品号、剂量或次数、开始时间、终止时间、单价处方数据:病例号,药品号、剂量或次数、开始时间、终止时间、单价处方清单:病例号,药品号、剂量或次数、单价、总价处方清单:病例号,药品号、剂量或次数、单价、总价数据流说明:数据流说明:催款请求:病例号或姓名催款请求:病例号或姓名 病人医疗项目:同上病人医疗项目:同上4 47 7病人医疗项目:
28、病例号,药品号、开始时间、终止时间、剂量或次数、单价病人医疗项目:病例号,药品号、开始时间、终止时间、剂量或次数、单价病人档案:同图病人档案:同图4 45 5病人病人催款通知:病例号、姓名、款数催款通知:病例号、姓名、款数病人病人药品药品病人医疗项目病人医疗项目药品药品现在学习的是第22页,共46页 4分析系统数据分析系统数据 逻辑设计的第一步是要产生逻辑设计的第一步是要产生“系统说明书系统说明书”,系,系统说明书主要由两部分组成统说明书主要由两部分组成数据流图和数据字数据流图和数据字典。数据流图只表示出系统由哪几部分组成或各个典。数据流图只表示出系统由哪几部分组成或各个部分之间的关系,并没有
29、什么组成部分的含义,只部分之间的关系,并没有什么组成部分的含义,只有对每个组成成分进行确切的定义后,才能完整的有对每个组成成分进行确切的定义后,才能完整的描述系统。换句话说,设计者必须对数据流中的每描述系统。换句话说,设计者必须对数据流中的每个数据流名、文件名、加工名都要给出具体定义,个数据流名、文件名、加工名都要给出具体定义,并用一个条目来描述,描述后的产物就是并用一个条目来描述,描述后的产物就是“数据字数据字典典”。现在学习的是第23页,共46页(1)数据字典的概念)数据字典的概念数据流图表达了数据和处理的关系,数据字典则是系统中数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描
30、述的集合,是进行数据收集和数据分析所获得各类数据描述的集合,是进行数据收集和数据分析所获得的结果。的结果。逻辑设计阶段的数据字典指在分析用户需求阶段,对有关逻辑设计阶段的数据字典指在分析用户需求阶段,对有关数据、加工和文件进行描述建立的字典,目的是对收集到数据、加工和文件进行描述建立的字典,目的是对收集到的数据进行标准化、统一化,使数据、加工和文件有统一的数据进行标准化、统一化,使数据、加工和文件有统一的名称、格式和含义。的名称、格式和含义。数据字典是关于数据库中数据字典是关于数据库中数据数据的描述,通常称的描述,通常称“元数据元数据”,元数据不是数据本身。,元数据不是数据本身。现在学习的是第
31、24页,共46页(2)通过数据流图构成数据字典)通过数据流图构成数据字典 数据字典是对数据流图中的四个成份进行描述的产物,数据字典是对数据流图中的四个成份进行描述的产物,它和数据流图共同构成它和数据流图共同构成“系统说明书系统说明书”。数据流的描述数据流的描述 定义数据流的组成,每个数据流包含若干个数据项,定义数据流的组成,每个数据流包含若干个数据项,图图4-5的数据流描述:的数据流描述:门诊请求姓名性别年龄职业通信地址电话号门诊请求姓名性别年龄职业通信地址电话号码是否医保码是否医保病例病例号姓名性别年龄病例病例号姓名性别年龄 数据流的描述一般在数据流图的后面用说明来描述。数据流的描述一般在数
32、据流图的后面用说明来描述。现在学习的是第25页,共46页 文件的描述文件的描述就是定义文件的组成和组织方式。就是定义文件的组成和组织方式。图图4-5中的病人文件的描述:中的病人文件的描述:病人病例号姓名性别年龄职业通信地址电病人病例号姓名性别年龄职业通信地址电话号码是否医保话号码是否医保组织:按组织:按“病例号病例号”升序排列升序排列现在学习的是第26页,共46页 数据项的描述数据项的描述 是指对数据项进行描述,一般包括对数据项名称、类型、长是指对数据项进行描述,一般包括对数据项名称、类型、长度、取值范围进行定义,如:度、取值范围进行定义,如:“病人病人”文件中的数据项。文件中的数据项。数据项
33、名数据项名类型类型长度(字节)长度(字节)取值范围取值范围病例号病例号字符字符100000000001-9999999999姓名姓名字符字符8性别性别字符字符2男、女男、女年龄年龄正整数正整数31150职业职业字符字符20通信地址通信地址字符字符30电话号码电话号码字符字符10是否医保是否医保逻辑逻辑1T,F“病人病人”文件数据项的描述文件数据项的描述现在学习的是第27页,共46页 加工的描述加工的描述 用来对实现加工的处理过程进行描述和定义,包括过程名、用来对实现加工的处理过程进行描述和定义,包括过程名、过程说明、输入输出和过程功能等。其中过程名用来定义过程说明、输入输出和过程功能等。其中过
34、程名用来定义加工过程的名称,加工过程的名称,过程说明过程说明主要说明该加工过程的功能及主要说明该加工过程的功能及处理要求,处理要求,输入输入表示执行该加工过程所要输入的数据,表示执行该加工过程所要输入的数据,输输出出是指该加工过程执行后输出的数据。是指该加工过程执行后输出的数据。注意:对加工的描述只是说明注意:对加工的描述只是说明“做什么做什么”而不是而不是“怎么做怎么做”,即不说明怎么实现。,即不说明怎么实现。逻辑设计的第一阶段已经完成,已经得到由逻辑设计的第一阶段已经完成,已经得到由“数据流图数据流图”和和“数据字典数据字典”组成的组成的“系统说明书系统说明书”基本上解决了基本上解决了“做
35、做什么什么”的问题,下一阶段将要解决的问题,下一阶段将要解决“怎么做怎么做”的问题。的问题。现在学习的是第28页,共46页4.2.3 4.2.3 概念模型设计(概念模型设计(E-RE-R图设计)图设计)数据流图和数据字典是进行概念模型设计的基础,概念数据流图和数据字典是进行概念模型设计的基础,概念模型的设计基本上分为两个阶段:局部模型的设计基本上分为两个阶段:局部E-R设计和总体设计和总体E-R设计。设计。数据抽象、设计局部数据抽象、设计局部E-R图图对局部对局部E-R图集成,生成总体图集成,生成总体E-R图图用户满意用户满意NY概念模型的设计步骤概念模型的设计步骤 现在学习的是第29页,共4
36、6页1局部局部E-R模型的设计模型的设计局部局部E-R模型设计的任务是根据需求产生的各个功能模块模型设计的任务是根据需求产生的各个功能模块的数据流图和数据字典中的相关数据,设计出各个功能的数据流图和数据字典中的相关数据,设计出各个功能模块的局部模块的局部E-R图。图。在设计局部在设计局部E-R图前,局部应用的数据流图应该设计完成,图前,局部应用的数据流图应该设计完成,局部应用所涉及的数据应该收集在相应的数据字典里。局部应用所涉及的数据应该收集在相应的数据字典里。设计局部设计局部E-R图时,要根据局部应用的数据流图中标明的图时,要根据局部应用的数据流图中标明的实体集、属性和关键字,并结合数据字典
37、中相关的描述实体集、属性和关键字,并结合数据字典中相关的描述内容,确定内容,确定E-R图中的实体、实体之间的联系。图中的实体、实体之间的联系。现在学习的是第30页,共46页图图4-10 门诊请求局部门诊请求局部E-R图图病人(病人档案)病人(病人档案)病例号病例号年龄年龄职业职业通信地址通信地址电话号码电话号码是否医保是否医保性别性别姓名姓名4-11 药品查询局部图药品查询局部图E-R图图药品(药品详情)药品(药品详情)药品编号药品编号药品功效药品功效单价单价库存数量库存数量制药厂制药厂药品名药品名现在学习的是第31页,共46页病人病人药药品品使用使用开始日期开始日期终终止日期止日期剂剂量或次
38、数量或次数mn图图4-12 处方处理局部处方处理局部E-R图图病人病人医医疗项疗项目(病人所用目(病人所用药药品品项项目目详详情)情)已做已做过过开始日期开始日期终终止日期止日期剂剂量或次数量或次数1n图图4-13 催款处理局部催款处理局部E-R图图现在学习的是第32页,共46页 2总体总体E-R模型的设计模型的设计 对局部对局部E-R图加以综合,使同一实体只出现一次,便可以图加以综合,使同一实体只出现一次,便可以产生总体产生总体E-R图。由于各个局部所涉及的问题不同,设计图。由于各个局部所涉及的问题不同,设计人员也可能不同,故各个局部人员也可能不同,故各个局部E-R图之间难免会存在很多图之间
39、难免会存在很多不一致的地方,即产生冲突。由于冲突的存在,不能简单不一致的地方,即产生冲突。由于冲突的存在,不能简单的把它们组合在一起,必须先消除各个局部的把它们组合在一起,必须先消除各个局部E-R图之间的图之间的不一致的地方,才能形成一个被整个系统所有用户共同理不一致的地方,才能形成一个被整个系统所有用户共同理解和接受的统一的解和接受的统一的E-R图,再进行合并。图,再进行合并。局部局部E-R图之间的冲突主要有图之间的冲突主要有3类:类:u 属性冲突属性冲突u 命名冲突命名冲突u 结构冲突结构冲突现在学习的是第33页,共46页(1)属性冲突)属性冲突 属性域冲突,即属性值的类型、取值范围不同。
40、例如:病人编号门诊和住院处属性域冲突,即属性值的类型、取值范围不同。例如:病人编号门诊和住院处不一致。不一致。属性取值单位冲突。药品单位:粒、盒属性取值单位冲突。药品单位:粒、盒(2)命名冲突)命名冲突 同名异义冲突,即不同意义的对象在不同的部门的局部同名异义冲突,即不同意义的对象在不同的部门的局部E-R图中具有相同的名字。图中具有相同的名字。异名同义冲突,即意义相同的对象在不同的部门的局部异名同义冲突,即意义相同的对象在不同的部门的局部E-R图中具有不同的名字。图中具有不同的名字。(3)结构冲突)结构冲突 同一对象在不同的应用中具有不同的抽象。同一对象在不同的应用中具有不同的抽象。同同一一实
41、实体体在在不不同同的的局局部部E-R图图中中的的属属性性组组成成不不一一致致,即即包包含含的的属属性性个个数数和和属属性性排排列列次次序序不完全相同。(并集,调整顺序)不完全相同。(并集,调整顺序)实实体体之之间间的的联联系系在在不不同同的的局局部部ER图图中中呈呈现现不不同同的的类类型型。这这类类冲冲突突的的解解决决方方法是根据应用的语义对实体联系的类型进行综合或调整。法是根据应用的语义对实体联系的类型进行综合或调整。现在学习的是第34页,共46页4.2.4 4.2.4 逻辑模式设计逻辑模式设计 逻辑模式设计的实质是把逻辑模式设计的实质是把E-R图转换为具体的图转换为具体的 DBMS支持的数
42、据模型。把支持的数据模型。把E-R图转换为关系模型的方图转换为关系模型的方法,通常分两步进行:初步设计和优化设计。法,通常分两步进行:初步设计和优化设计。1初步设计初步设计把把E-R图转换为关系模型具体的转换图转换为关系模型具体的转换方法请参见方法请参见3.3节。节。2优化设计优化设计 除了进行规范化外还要对模式进行调整和改善。就除了进行规范化外还要对模式进行调整和改善。就是从提高效率的角度出发,对模式结构作进一步的调整是从提高效率的角度出发,对模式结构作进一步的调整和改良。和改良。现在学习的是第35页,共46页 优化是在性能预测的基础上进行的,一般用三方面优化是在性能预测的基础上进行的,一般
43、用三方面指标来衡量:指标来衡量:(1)单位时间内所访问的逻辑记录个数要少;)单位时间内所访问的逻辑记录个数要少;(2)单位时间内数据传送量要少;)单位时间内数据传送量要少;(3)系统占用的存储空间尽量要少。)系统占用的存储空间尽量要少。虽虽然然可可以以通通过过计计算算,对对性性能能进进行行预预测测,但但是是实实际际意意义义不不大大,通通常常采采用用定定性性判判断断方方法法,估估计计不不同同设设计计方方案的性能优劣。案的性能优劣。关关系系规规范范化化理理论论和和关关系系分分解解方方法法,为为设设计计者者进进行行优优化化设设计计提提供供理理论论根根据据。最最常常用用得得方方法法就就是是通通过过对对
44、记记录录进进行垂直和水平分解,改善性能。行垂直和水平分解,改善性能。现在学习的是第36页,共46页【例题】【例题】要要查查询询病病人人信信息息时时,经经常常按按住住院院病病人人和和门门诊诊病病人人分分类类查查询询,为为改改善善性性能能,使使得得单单位位时时间间内内访访问问逻逻辑辑记记录录的的个个数数尽尽量量少少,请给出一种分解方法。请给出一种分解方法。原来的病人关系为:原来的病人关系为:病人(病历号、姓名、性别、年龄、职业、通信地址、电话号码、是否医保)病人(病历号、姓名、性别、年龄、职业、通信地址、电话号码、是否医保)进行水平分解,使其成为两个关系:进行水平分解,使其成为两个关系:住住院院病
45、病人人(病病历历号号、姓姓名名、性性别别、年年龄龄、职职业业、通通信信地地址址、电电话话号号码码、是是否否医保)医保)门诊病人(病历号、姓名、性别、年龄、职业、通信地址、电话号码、是否医保)门诊病人(病历号、姓名、性别、年龄、职业、通信地址、电话号码、是否医保)当当查查询询住住院院病病人人或或门门诊诊病病人人时时,只只需需要要再再相相应应得得关关系系中中进进行行查查找,显然单位时间内访问记录数量减少了。找,显然单位时间内访问记录数量减少了。现在学习的是第37页,共46页4.3 4.3 数据库物理设计数据库物理设计 数据库在实际物理设备上的存储结构和存取方法称为数据数据库在实际物理设备上的存储结
46、构和存取方法称为数据库的物理结构,数据库的物理结构与具体的库的物理结构,数据库的物理结构与具体的DBMS有关。有关。数据库物理设计的任务就是使数据库的逻辑结构在物理数据库物理设计的任务就是使数据库的逻辑结构在物理设备上得以实现,建立起一个性能优良的数据库的物理设备上得以实现,建立起一个性能优良的数据库的物理结构。数据库的物理设计主要应优先考虑结构。数据库的物理设计主要应优先考虑4个方面的问题:个方面的问题:(1)存储结构的选择)存储结构的选择(2)属性的存储类型的确定)属性的存储类型的确定(3)表的索引结构的确定)表的索引结构的确定(4)存取路径的确定)存取路径的确定现在学习的是第38页,共4
47、6页4.4 4.4 数据库的实现、运行与维护数据库的实现、运行与维护 4.4.1 数据库的实现数据库的实现 根据逻辑设计和物理设计的结果,利用特定的根据逻辑设计和物理设计的结果,利用特定的DBMS在计算机系统上建立实际数据库结构、装入数在计算机系统上建立实际数据库结构、装入数据、测试和试运行的过程称为数据库系统的实现阶据、测试和试运行的过程称为数据库系统的实现阶段。该阶段主要完成以下三项工作:段。该阶段主要完成以下三项工作:(1)建立实际数据库结构。)建立实际数据库结构。(2)装入试验数据对应用程序进行调试。)装入试验数据对应用程序进行调试。(3)装入实际数据,进入试运行状态。)装入实际数据,
48、进入试运行状态。现在学习的是第39页,共46页4.4.2 4.4.2 数据库的运行与维护数据库的运行与维护运行维护阶段的主要任务如下:运行维护阶段的主要任务如下:(1)对日常数据库操作进行维护:插入、删除、增加、修改或更新。)对日常数据库操作进行维护:插入、删除、增加、修改或更新。(2)维护数据库的结构:重构(重新定义结构并把数据添加到数据库文件中)维护数据库的结构:重构(重新定义结构并把数据添加到数据库文件中),重组(物理删除数据库中不需要的数据),重组(物理删除数据库中不需要的数据)(3)维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授权和)维护数据库的安全性与完整性:检
49、查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与后备,发生故障后及时恢复。密码,实施系统转储与后备,发生故障后及时恢复。(4)监测并改善数据库运行性能:对数据库的存储空间状况及相应时间进行分析)监测并改善数据库运行性能:对数据库的存储空间状况及相应时间进行分析评价,结合用户反应确定改进措施,实施再构造或者格式化。评价,结合用户反应确定改进措施,实施再构造或者格式化。(5)根据用户要求对数据库现有功能进行扩充)根据用户要求对数据库现有功能进行扩充(6)及时改正运行中发现的系统错误。)及时改正运行中发现的系统错误。数据库只要在运行,就要不断进行评价、调整、修改。数据库只要在运行,就要不
50、断进行评价、调整、修改。如果应用变化太大,则表明原数据库应用系统生存期已结束,如果应用变化太大,则表明原数据库应用系统生存期已结束,应该设计新的数据库应用系统。应该设计新的数据库应用系统。现在学习的是第40页,共46页4.5 4.5 编写技术文档编写技术文档 数据库设计可以看成是一项软件工程,开发的产品数据库设计可以看成是一项软件工程,开发的产品也是软件,必须包含相应的文档资料。也是软件,必须包含相应的文档资料。文档资料文档资料主要包括:主要包括:系统说明书系统说明书 技术说明书技术说明书 使用说明书使用说明书现在学习的是第41页,共46页4.5.1 4.5.1 编写系统说明书编写系统说明书