您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第2章-数据库设计和ER模型
•2.1数据库系统生存期•2.2ER模型的基本概念•2.3关系模型的基本概念•2.4ER模型到关系模型的转换•2.5ER模型实例分析•2.6增强的ER模型第2章.内容目录2.1数据库系统生存期•数据库系统的设计和开发本质上是属于软件工程的范畴。它与普通软件系统的开发过程一样,是一项系统化的工程。•数据库系统的应用存在一定的生命周期,从数据库系统的需求提出,到设计与实现,再到运行和维护,最终会随着应用的发展而走向终结。•数据库系统的设计应充分考虑到系统生命周期的特点,以实现尽可能稳定的系统运行期。数据库系统开发的V-Cycle流程2.1数据库系统生存期数据库设计的基本过程(1)2.1数据库系统生存期•需求分析阶段–明确系统需要完成何种工作任务。•概念设计阶段–概念模型将具体的客观现实世界进行抽象的理解和表达,是实现从现实世界到数字化表示的过渡形式。数据库概念设计将用户的需求抽象为用户与开发人员都能接受的概念模型,是用户现实需求与数据库产品之间的纽带。•逻辑设计阶段–该阶段把抽象的概念结构进一步转换为可以被具体的DBMS产品所能支持的数据模型。数据库设计的基本过程(2)2.1数据库系统生存期•物理设计阶段–这个阶段更多地是要考虑到为逻辑结构所确定的物理存储结构,以及存取方法能否满足用户最终的需求•实现阶段–进行数据库的构建工作。这一阶段也包括针对数据库的应用程序开发和调试,以及现实数据的录入和试运行等基本工作•运行与维护阶段–数据库在运行过程中应经常对数据进行备份和维护,以保证数据库系统的效率,以及根据实际运行情况和用户的需求变动进行调整。数据库设计流程2.1数据库系统生存期•调查、收集、分析用户对数据库的要求信息要求需存储的数据处理要求要完成的功能、响应时间、处理方式等安全性与完整性要求用户管理、数据管理、数据一致性等2.1.2需求分析阶段需求分析的任务2.1.2需求分析阶段需求分析的方法•用户调查•系统分析•用户确认用户调查⑴跟班作业–通过亲身参加业务工作了解业务活动的情况–能比较准确地理解用户的需求,但比较耗时⑵开调查会–通过与用户座谈来了解业务活动情况及用户需求⑶请专人介绍⑷询问–对某些调查中的问题,可以找专人询问⑸设计调查表请用户填写–如果调查表设计合理,则很有效,且易于为用户接受⑹查阅记录–查阅与原系统有关的数据记录系统分析•分析和表达用户的需求的常用方法–自顶向下的结构化分析方法(StructuredAnalysis,简称SA方法)•SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。1.首先把任何一个系统都抽象为:数据流数据流数据存储信息要求数据来源处理数据输出处理要求2.分解处理功能和数据(1)分解处理功能•将处理功能的具体内容分解为若干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止。(2)分解数据•在处理功能逐步分解的同时,其所用的数据也逐级分解,形成若干层次的数据流图•数据流图表达了数据和处理过程的关系(3)表达方法•处理过程:用判定表或判定树来描述•数据:用数据字典来描述2.1.2需求分析阶段需求分析的步骤•调查分析用户的活动,产生业务流程图•确定系统范围,产生系统关联图•分析用户活动涉及的数据,产生数据流图•分析系统数据,产生数据字典•编写需求分析说明书领书单进书通知购书单缺书单示意:售书系统学生教材购销系统书库保管员售书系统领书单进书通知进书通知购书单缺书单1销售2采购书库保管员学生F1教材存量表F2缺书登记表顾客P1销售P2采购供应商F1配件库存P3会计付款付款收据应付款通知收款通知到货通知订货单订货单发货单发货单例子:销售采购管理系统第1层数据流程图F2配件目录顾客P1.1编辑订货单业务员P1.3确定订货P1.5产生暂存订货单P1.2登录新顾客F3顾客P1.4开发货单修改库存P1.6对照暂存订货单采购F4暂存订货单P1.8编制销售、库存报表P1.7检索库存F1配件库存经理F5销售历史F10应收款明细帐第2层数据流程图之一(销售)发货单订货单不合格合格新顾客不满足的订货可发的订货到货通知F4暂存订货单P2.1按配件汇总P2.2确定订货的配件P2.5修改库存、待订数量F6待订货的配件P2.6编制到货通知P2.4核对发货单F1配件库存P2.3按供应商汇总F8向供应商的订货单F9应付款明细帐销售供应商订货单发货单错误发货单正确发货单第2层数据流程图之二(采购)顾客P3.1开收据并修改明细帐P3.5编制会计报表经理P3.4修改总帐F10应收款明细帐F11总帐P3.3付款并修改明细帐P3.2核对付款单F9应付款明细帐供应商第2层数据流程图之三(会计)应付款通知付款收据数据字典2.1.2需求分析阶段•数据字典存放了系统所用到的数据信息,通常数据字典包含了5个基本组成部分:数据项、数据结构、数据流、数据存储和处理过程。数据项记录了数据对象的基本信息,是不可再分的基本数据单位,描述了数据的静态特性.数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的关系,数据项之间的联系}数据结构反映了数据之间的组合关系,也可以是由多个数据结构的复合。数据结构的描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据流是对数据动态特性的描述,表示了数据结构沿着系统的事务和处理过程中的传输流向及数据传输量。数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据存储是在事务和处理过程中,数据所停留和保存过的地方数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:{数据结构},数据量,存取频度,存取方式}数据处理过程仅是对处理相关信息的简要描述处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明处理过程的功能及处理要求}}数据字典2.1.2需求分析阶段2.1.3概念设计阶段•需求分析人员和用户共同完成需求分析后,系统的开发者需要将现实世界中存在的具体要求,抽象成信息结构的表达方式,以方便选择具体的DBMS进行实现。这一转换过程称为概念设计概念设计的必要性2.1.3概念设计阶段•概念设计的目标是生成能够准确反映用户组织和使用信息需求的抽象信息结构,即概念模式•目前有很多可供概念结构设计使用的概念模式,其中最常用的模式就是实体-关系模型(E-R)概念设计的方法(1)2.1.3概念设计阶段•自底向上:通过分析用户的子需求,首先构建起局部概念模式,然后再向上组合成全局模式概念设计的方法(2)2.1.3概念设计阶段•自顶向下:首先要有对系统全局概貌的框架,其次再采用总分方式将大的概念模式逐步分解为更详细的较小划分模式概念设计的方法(3)2.1.3概念设计阶段•逐步扩张:采用了层状扩展的方式,先定义出用户需求中核心的概念结构,然后在此基础上向外扩展,逐步将非核心的需求融入到模式中,最终完成系统的概念结构设计概念设计的步骤2.1.3概念设计阶段•采用典型的自底向上设计方式时,概念模式的设计过程可分为3个基本步骤完成:数据的抽象,视图的集成,对生成的概念模式进行评审。数据库逻辑结构设计2.1.4逻辑设计阶段•逻辑结构设计的任务就是将概念结构设计阶段生成的全局E-R视图转换为特定DBMS产品所能支持的数据模型。逻辑设计步骤•对于特定的数据模型,由于DBMS产品的选择不同,提供给逻辑设计的工具和环境也存在差异,所以逻辑设计一般要分为5个步骤进行:–将概念模式转换为适合的数据模型中的一种关系、网状、层状、面向对象;–为转换后的数据模型确定DBMS产品,并在该环境下实现数据模型向DBMS所支持的数据模型转换;–设计外模型–设计应用程序与数据库的接口–对完成转换后的数据模型进行优化和评估2.1.4逻辑设计阶段逻辑设计步骤2.1.4逻辑设计阶段数据库的物理结构确定2.1.5物理设计阶段•存储结构的设计–数据的存放位置–确定系统配置•存取方法的设计–聚簇:节省存储空间,提高查询速度–索引:能够提高检索速度,还能够避免关系键重复值的录入,保证了数据的完整性。–HASH存取方法:一种直接存取方法,通过对HASH值的计算来获得存取地址。约束和程序设计2.1.5物理设计阶段•完整性和安全性考虑–有效性–效率•程序设计–消除由于物理结构的改变而引起的应用程序的修改物理结构的评价2.1.5物理设计阶段•时间效率•空间效率•维护代价实际数据库结构的建立2.1.6数据库的实现•开发人员编写SQL语句用以创建数据库、创建表和定义视图等,也可以使用数据库系统提供的管理工具来完成数据库的实施。加载数据2.1.6数据库的实现•数据库建立起来后,要进入实施运行阶段之前,必须要有真实的数据存在,将真实数据录入到数据库,这个过程称之为数据的加载。•数据全部装载入数据库中,首先需要很大的工作量。其次,要很好地与新建立的数据库系统融合应用程序开发和调试2.1.6数据库的实现•数据库开发过程中,数据库应用程序的开发也会同时进行。数据库试运行2.1.6数据库的实现•功能性测试实际运行数据库应用程序,执行数据库的各种操作,检测应用程序能否正确完成需求的各项功能。•性能测试作为系统正式投入运行前的磨合期,这个阶段还要测试系统的各项性能指标,检测是否能够达到设计的要求。并根据系统试运行的实际情况,调整物理设计中所设定的各类运行参数,以达到运行时的最优。•非功能性测试系统是为用户定制,试运行过程中应充分让用户参与进来,让用户对人机交互友好性、操作合理性,以及稳定性等方面提出自己的意见和建议,以便及时进行改进。2.1.7数据库的运行与维护•数据库的备份和恢复DBA应针对不同的应用需求,制定相应的数据备份和转储计划,以达到尽可能降低故障损失的目标。•数据库的完整性和安全性DBA应及时根据实际的情况监控和调整数据库的安全性,以保证用户的资料和信息不会受到损害。另外,变动也可能会导致对数据的完整性约束条件发生更改,需要DBA进行修正,以确保各类数据库应用程序的正常运行。数据库性能的监督、分析与改进当DBA检测到系统的性能下降时,应分析下降原因并及时调整系统参数,以及进行数据库重组或重构的工作。数据库的重组和重构重组并不会改变原设计的逻辑和物理结构,然而数据库的重构却会改变数据库的模式和内模式。2.1.7数据库的运行和维护•2.1数据库系统生存期•2.2ER模型的基本概念•2.3关系模型的基本概念•2.4ER模型到关系模型的转换•2.5ER模型实例分析•2.6增强的ER模型第2章.内容目录实体联系模型(E-R模型)2.2E-R模型基本概念E-R模型,Entity-RelationshipModel面向问题的概念模型用简单的图形方式(E-R图)描述显示世界中的数据E-R图不涉及数据在数据库中的表示和存取方法非常接近人的思维方式•实体是客观世界中描述客观事物的概念,是一个数据对象–在E-R模型中,实体用方框表示,方框内注明实体的名称.例如:医生实体表示如图2.2.1E-R模型的基本元素•属性指实体具有的某种特性。属性用来描述一个实体。–在E-R图中,属性用椭圆形框表示,并用无向边将属性与对应的实体连接起来。实体的主键用下划线加以标注。例如,医生实体的属性表示如图2.2.1E-R模型的基本元素•联系表示一个或多个实体之间的关联关系。在E-R图中,联系用菱形框表示,并用无向边将其与相关的实体连接起来。联系也可能会有属性,用于描述联系的特征,但联系本身没有标识符。联系有一对一(1:1)、一对多(1:n)、多对多(n:m)三种基本类型。2.2.1E-R模型的基本元素•简单属性和复合属性简单属性是不可再分的属性复合属性是可以再划分为更小的部分(即属性包含嵌套)2.2.2属性的分类邮政编码地址省(市)名区名街道门牌号码路名单值属性和多值属性单值属性是指同一实体的属性只能取一个值多值属性是指同一个实体的某些属性可能对应一组值.多值属性用双椭圆形表示2.2.
本文标题:第2章-数据库设计和ER模型
链接地址:https://www.777doc.com/doc-4296587 .html