[工学]第七讲_数据库设计.ppt_第1页
[工学]第七讲_数据库设计.ppt_第2页
[工学]第七讲_数据库设计.ppt_第3页
[工学]第七讲_数据库设计.ppt_第4页
[工学]第七讲_数据库设计.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七讲 数据库设计方法,要求:掌握数据库设计的基本步骤以及每个阶段的具体任务和主要实现方法,数据库的运行和维护,提纲,数据库设计概述,数据库需求分析,数据库结构设计,数据库行为设计,数据库实施,参考课本第8章,概念结构 逻辑结构 物理结构,一、数据库设计概述,数据库设计包括静态数据模型(模式与子模式的设计,即数据库的结构设计)和在模型上的动态操作即应用程序设计称为数据设计。,1. 数据库系统的设计过程,目前数据库设计一般都遵循软件的生命周期理论,分为6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。 其中需求分析和概念结构设计独立于任何的DBMS系统,而逻辑结构设计和物理结构设计则与具体的DBMS有关。,数据库建设的基本规律:三分技术,七分管理,十二分基础数据,管理 :数据库建设项目管理;企业(即应用部门)的业务管理,基础数据:收集、入库 ,更新新的数据; 将数据库结构设计和数据处理设计密切结合。,国标中规定软件生命周期:可行性研究与计划,需求分析,概要设计,详细设计,实现,组装测试,确认测试,使用和维护(了解),数据库的结构设计和行为设计(了解),2.各个阶段的任务,需求分析:该阶段主要是与系统用户相互交流,了解他们对数据的要求及已有的业务流程,并把这些信息用数据流图和数据字典等图表或文字的形式记录下来,最终与用户对系统的信息要求和处理要求取得一致认识。,概念设计:该阶段要对需求分析中收集的信息和数据进行分析和抽象,确定实体、属性及他们之间的联系,将各用户的局部视图合并成一个总的全局视图,形成独立于计算机的反映用户需求的概念模型。目的是描述数据库的信息内容。,逻辑设计:在概念模型的基础上导出数据库的逻辑模型,逻辑模式是可被DBMS所处理的数据库逻辑结构,它包括数据项、记录及记录间的联系、安全性和一致性约束等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,进行模式评价,如果达不到用户要求,还要反复修正或重新设计。,物理设计:该阶段根据DBMS的特点和处理的需要,进行物理存储的安排,建立索引,形成数据库的内模式。,一、数据库设计概述,数据库的实施:该阶段建立数据库的实质性阶段,将建立实际数据库结构,装入数据,完成编码和进行测试,最终使系统投入使用。,数据库的运行和维护:是整个数据库生存期中最长的时间段,在该阶段设计者需根据系统运行中产生的问题及用户的新需求不断完善系统功能和提高系统性能,以延长数据库使用时间。,2.各个阶段的任务,一、数据库设计概述,二、数据库需求分析,1.需求分析介绍,需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。,需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为基础的需求分析是否做的充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。,需求分析具体可按以下几步进行: 用户需求的收集;用户需求的说明;撰写需求说明书,2.分析中采用的方法和工具,结构化分析(SA) SA的常用工具:用数据流图(DFD);数据字典(DD)来描述。,SA方法:从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分解系统。它把任何一个系统都抽象为:,该图给出的只是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分解为若干子功能,每个功能还可以继续分解,直到把系统工作过程表示清楚为止。,例1:计算一个班中学生的平均成绩可以进行如下分解:找出一个学生的成绩;计算总共有多少学生;计算总成绩;用总成绩除以学生人数 计算总成绩又可以分为以下子任务:找出每个学生的档案;读出成绩;把成绩加到部分和上;读出下个学生的档案,二、数据库需求分析,加工名,或,变换数据的,加工或处理,数据源/,终点名,或,数据的源/,终点,数据名称,或,数据存储,数据流,数据流,数据流图(DFD)使用的图形规范,用数据流图(DFD),2.分析中采用的方法和工具,二、数据库需求分析,数据字典,2.分析中采用的方法和工具,数据字典(Data Dictionary,简称DD)和数据流图密切配合,能清楚地表达数据处理的要求。数据字典用于对数据流图中出现的所有成分给出定义,它使数据流图上的数据流名字、加工名字和数据存贮名字具有确切的解释。,数据字典包括:数据结构; 数据项; 数据流; 数据存贮; 处理过程,例2:首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证的有效性和申请单是否填写得正确,如果有误则谢绝,如果无误则根据学生的注册记录情况审查接收学生的申请要求。如果是申请注册,则进行注册登记;如果是申请选课,则先查询课程档案是否有满足申请要求的课程,如果有则进行选课登记,如果没有则通知学生无此课。,对数据项的描述:数据项描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系,二、数据库需求分析,数据流图,数据字典简单的表示如下:,需求分析总结:,2.分析中采用的方法和工具,需求分析阶段的一个重要而困难的任务是收集将来应用所涉及的数据,设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充。 必须强调用户的参与,这是数据库应用系统设计的特点 需求分析主要是考虑“做什么”的问题,而不是考虑“怎么做”的问题。数据流图的概念比较简单,利于系统分析员与用户的沟通。 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。,二、数据库需求分析,三、概念设计,1. 概念模型介绍,能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。 易于理解。 易于更改. 易于向关系、网状、层次等各种数据模型转化。,自顶向下:即首先定义全局概念结构的框架,然后逐步细化。 自底向上:即首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构。 自底向上的设计方法分两步进行:首先抽象数据并建立局部概念模型,然后在将局部概念模型合并为全局概念模型。,概念模型特点:,概念设计常采用的方法:,描述概念模型的工具是E-R图。,常用策略: 自顶向下地进行需求分析 自底向上地设计概念结构,三、概念设计,1. 概念模型介绍,2.局部概念模型的设计,步骤:,首先明确局部应用的范围 选择实体,确定实体的属性及标识实体的关键字,划分实体和实体属性时,一般遵循以下经验性原则: 属性是不可再分的数据项,不能再有需要说明的信息,否则该属性定义为实体。 属性不能与其他实体发生联系,联系只能发生在实体之间。 为了简化ER图的设置,凡能够作为属性的尽量作为属性处理。,确定实体之间的联系,产生局部ER模型,三、概念设计,选择实体与属性时三种常用抽象方法:,分类(Classification):值和型之间的“is member of”的语义 聚集(Aggregation):对象内部类型和成分之间“is part of”的语义 概括(Generalization):类型之间的“is subset of”的语义,学生,注册,密码,n,1,课程名,课程号,学生,出生日期,选修,课程,选课时间,m,n,例4:将上例转换成局部e-r图。,不恰当!,3.合成全局概念模型,消除冲突,合并各分ER模型,三种冲突: 命名冲突(同名异义、异名同义) 属性冲突(属性取值单位冲突、属性域冲突) 结构冲突(同一对象有不同的抽象、同一实体在不同的局部ER模型中包含的属性不完全相同或属性的排列次序不同、实体之间的联系在不同的局部ER模型中类型不一致),消除冗余,得到基本ER模型,冗余的数据指可以由基本数据导出的数据;冗余的联系也是可由基本联系导出的联系。,消除冗余的方法:用分析方法消除冗余和使用关系数据设计理论(规范化)消除冗余。,三、概念设计,例5:将上例转换成全局e-r图。,以数据字典和数据流图为依据 根据数据字典中关于数据项之间的逻辑关系,销售管理子系统分E-R图的设计 销售管理子系统的主要功能: 处理顾客和销售员送来的订单 工厂是根据订货安排生产的 交出货物同时开出发票 收到顾客付款后,根据发票存根和信贷情况进行应收款处理,4.综合练习(了解),三、概念设计,例6:某工厂管理信息系统,下图是第一层数据流图,虚线部分划出了系统边界,销售管理子系统第一层数据流图,上图把系统功能又分为4个子系统,下面四个图是第二层数据流图,接收订单,处理订单,开发票,支付过账,分E-R图的框架,参照上层数据流图和数据字典,遵循准则,进行如下调整: (1) 订单与订单细节是1n的联系 (2) 原订单和产品的联系实际上是订单细节和产品的联系。 (3) 图”开发票 ”中“发票主清单”是一个数据存储,不必作为实体加入分E-R图 (4) 工厂对大宗订货给予优惠,得到分E-R图如下图所示,销售管理子系统的分E-R图,该厂劳动人事管理分E-R图,该厂物资管理分E-R图,系统的基本E-R,四、逻辑结构的设计,数据库逻辑结构设计分为两个步骤:一、将概念设计所得的ER图转换为关系模型;二、对关系模型进行优化。,1.ER图向关系模型的转换,ER图向关系模型的转换要遵循如下原则:,一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 对于实体间的联系则有以下不同的情况: 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,联系名既是该关系模式的名字,则与该联系相连的各实体的码以及联系自身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式属性中加入另一个关系模式的码和联系本身的属性。,ER图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。,四、逻辑结构的设计,1.ER图向关系模型的转换,ER图向关系模型的转换要遵循如下原则:,一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,联系名为关系模式名,与该联系相连的各实体的码以及联系自身的属性均转换为关系的属性,而关系的码为各实体码的组合。若与n端对应的关系模式合并,1端的关键字及联系的属性并入n端的关系模式。码的选择? 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。而与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。,四、逻辑结构的设计,1.ER图向关系模型的转换,ER图向关系模型的转换要遵循如下原则:,学生(学号,姓名,性别,系别,出生时间,入学时间,密码) 课程(课程号,课程名,先修课程号) 选修(学号,课程号,选修时间,成绩),2.数据模型的优化,3.设计用户子模式(外模式),四、逻辑结构的设计,例7:将例5转换成关系模型。,例7:将例5转换成关系模型。,1.ER图向关系模型的转换,ER图向关系模型的转换要遵循如下原则:,四、逻辑结构的设计,例7:将例6销售管理子系统转换成关系模型。,销售管理子系统的分E-R图,对每个实体定义的属性如下: 顾客:顾客号,顾客名,地址,电话,信贷状况,账目余额 订单:订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点 订单细则:订单号,细则号,零件号,订货数,金额 应收账款:顾客号,订单号,发票号,应收金额,支付日期,支付金额,当前余额,货款限额 产品描述:产品号,产品名,单价,重量 折扣规则:产品号,订货量,折扣,2.数据模型的优化,3.设计用户子模式(外模式),四、逻辑结构的设计,五、物理设计,为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。通常分两步:,确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。 对物理结构进行评价,评价的重点是时间和空间效率。,六、数据库实施、运行和维护,重组和重构的区别:重组并不改变数据库原有的逻辑模式和内模式,而重构则会部分修改原有的逻辑模式和内模式。,综合示例商店销售商品的数据库,涉及如下数据: 商店号,商店名,地址; 商品号,商品名,单价。 某商店销售某商品的数量和日期。 1.设计ER图(用中、英文均可) 2.转换成关系模型(请注明主键和外键),并按照如下格式写出各表的结构(字段类型必须用SQL Server支持的类型,)。 3.使用SQL语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论