版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七讲数据库设计方法要求:掌握数据库设计的根本步骤以及每个阶段的具体任务和主要实现方法数据库的运行和维护提纲数据库设计概述数据库需求分析数据库结构设计数据库行为设计数据库实施参考课本第8章概念结构逻辑结构物理结构一、数据库设计概述数据库设计包括静态数据模型(模式与子模式的设计,即数据库的结构设计)和在模型上的动态操作即应用程序设计称为数据设计。
1.数据库系统的设计过程目前数据库设计一般都遵循软件的生命周期理论,分为6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。其中需求分析和概念结构设计独立于任何的DBMS系统,而逻辑结构设计和物理结构设计那么与具体的DBMS有关。数据库建设的根本规律:三分技术,七分管理,十二分根底数据管理:①数据库建设工程管理;②企业〔即应用部门〕的业务管理根底数据:收集、入库,更新新的数据;将数据库结构设计和数据处理设计密切结合。国标中规定软件生命周期:可行性研究与方案,需求分析,概要设计,详细设计,实现,组装测试,确认测试,使用和维护(了解)计划分析设计编码调试维护可行性研究报告项目实施计划需求规格说明书,数据要求说明书初步用户手册,确认测试计划概要设计说明书、数据库设计说明书详细设计说明书,组装测试计划程序清单测试分析报告用户手册软件问题报告软件修改报告数据分析功能分析概念模型设计功能模型功能说明逻辑数据库设计事务设计程序说明物理数据库设计子模式设计应用程序设计建立数据程序编码调试现实世界数据库的结构设计和行为设计〔了解〕数据库设计步骤应用需求(数据、处理)需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计、性能预测物理实现试验性运行使用、维护数据库转换规则、DBMS功能、优化方法应用要求,
DBMS详细特征不满意不满意需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行、维护阶段
2.各个阶段的任务需求分析:该阶段主要是与系统用户相互交流,了解他们对数据的要求及已有的业务流程,并把这些信息用数据流图和数据字典等图表或文字的形式记录下来,最终与用户对系统的信息要求和处理要求取得一致认识。概念设计:该阶段要对需求分析中收集的信息和数据进行分析和抽象,确定实体、属性及他们之间的联系,将各用户的局部视图合并成一个总的全局视图,形成独立于计算机的反映用户需求的概念模型。目的是描述数据库的信息内容。逻辑设计:在概念模型的根底上导出数据库的逻辑模型,逻辑模式是可被DBMS所处理的数据库逻辑结构,它包括数据项、记录及记录间的联系、平安性和一致性约束等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,进行模式评价,如果达不到用户要求,还要反复修正或重新设计。物理设计:该阶段根据DBMS的特点和处理的需要,进行物理存储的安排,建立索引,形成数据库的内模式。一、数据库设计概述数据库的实施:该阶段建立数据库的实质性阶段,将建立实际数据库结构,装入数据,完成编码和进行测试,最终使系统投入使用。数据库的运行和维护:是整个数据库生存期中最长的时间段,在该阶段设计者需根据系统运行中产生的问题及用户的新需求不断完善系统功能和提高系统性能,以延长数据库使用时间。
2.各个阶段的任务一、数据库设计概述二、数据库需求分析
1.需求分析介绍需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。需求分析是整个设计过程的根底,是最困难、最消耗时间的一步。作为根底的需求分析是否做的充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。需求分析具体可按以下几步进行:①用户需求的收集;②用户需求的说明;③撰写需求说明书需求分析调查组织机构总体情况熟悉业务活动用户设计人员明确用户需求确定系统边界概念设计DDDFD
2.分析中采用的方法和工具结构化分析〔SA〕SA的常用工具:①用数据流图〔DFD〕;②数据字典〔DD〕来描述。数据存储数据来源数据输出处理数据流数据流SA方法:从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分解系统。它把任何一个系统都抽象为:该图给出的只是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分解为假设干子功能,每个功能还可以继续分解,直到把系统工作过程表示清楚为止。例1:计算一个班中学生的平均成绩可以进行如下分解:①找出一个学生的成绩;②计算总共有多少学生;③计算总成绩;④用总成绩除以学生人数计算总成绩又可以分为以下子任务:①找出每个学生的档案;②读出成绩;③把成绩加到局部和上;④读出下个学生的档案二、数据库需求分析加工名或变换数据的加工或处理数据源/终点名或数据的源/终点数据名称或数据存储数据流数据流数据流图〔DFD〕使用的图形标准用数据流图〔DFD〕
2.分析中采用的方法和工具二、数据库需求分析数据字典
2.分析中采用的方法和工具数据字典(DataDictionary,简称DD)和数据流图密切配合,能清楚地表达数据处理的要求。数据字典用于对数据流图中出现的所有成分给出定义,它使数据流图上的数据流名字、加工名字和数据存贮名字具有确切的解释。数据字典包括:①数据结构;②数据项;③数据流;④数据存贮;⑤处理过程例2:首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证的有效性和申请单是否填写得正确,如果有误那么谢绝,如果无误那么根据学生的注册记录情况审查接收学生的申请要求。如果是申请注册,那么进行注册登记;如果是申请选课,那么先查询课程档案是否有满足申请要求的课程,如果有那么进行选课登记,如果没有那么通知学生无此课。对数据项的描述:数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系}二、数据库需求分析数据流图数据字典简单的表示如下:数据项类型长度值范围学号字符型800000001~999999999姓名字符型8任何字符性别字符型2{男}或{女}出生日期日期时间型8“0000”..“9999”+“/”+"01".."12"+"/"+"01".."31"入学时间日期时间型8“0000”..“9999”+“/”+"01".."12"+"/"+"01".."31"系别字符型12已有的系密码字符型6"000001".."999999"课程号字符型3000~999课程名字符型20存在的课程选课时间日期时间型8“0000”..“9999”+“/”+“01”..“12”+“/”+“01”..“31”+{春季}或{秋季}成绩数值型3(小数位数为1)0~100000~999先修课程号字符型3学分正整数10~10需求分析总结:
2.分析中采用的方法和工具①需求分析阶段的一个重要而困难的任务是收集将来应用所涉及的数据,设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充。②必须强调用户的参与,这是数据库应用系统设计的特点③需求分析主要是考虑“做什么〞的问题,而不是考虑“怎么做〞的问题。数据流图的概念比较简单,利于系统分析员与用户的沟通。④数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。二、数据库需求分析三、概念设计
1.概念模型介绍①能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。②易于理解。③易于更改.④易于向关系、网状、层次等各种数据模型转化。①自顶向下:即首先定义全局概念结构的框架,然后逐步细化。②自底向上:即首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构。自底向上的设计方法分两步进行:首先抽象数据并建立局部概念模型,然后在将局部概念模型合并为全局概念模型。概念模型特点:概念设计常采用的方法:描述概念模型的工具是E-R图。常用策略:自顶向下地进行需求分析自底向上地设计概念结构三、概念设计
1.概念模型介绍
2.局部概念模型的设计步骤:①首先明确局部应用的范围②选择实体,确定实体的属性及标识实体的关键字划分实体和实体属性时,一般遵循以下经验性原那么:⑴属性是不可再分的数据项,不能再有需要说明的信息,否那么该属性定义为实体。⑵属性不能与其他实体发生联系,联系只能发生在实体之间。⑶为了简化ER图的设置,凡能够作为属性的尽量作为属性处理。③确定实体之间的联系,产生局部ER模型三、概念设计选择实体与属性时三种常用抽象方法:①分类(Classification):值和型之间的“ismemberof〞的语义②聚集(Aggregation):对象内部类型和成分之间“ispartof〞的语义③概括(Generalization):类型之间的“issubsetof〞的语义学生学号注册密码n1课程名课程号先修课程号学生学号性别入学时间姓名系别出生日期选修课程成绩选课时间mn例4:将上例转换成局部e-r图。密码号不恰当!!
3.合成全局概念模型消除冲突,合并各分ER模型三种冲突:①命名冲突〔同名异义、异名同义〕②属性冲突〔属性取值单位冲突、属性域冲突〕③结构冲突〔同一对象有不同的抽象、同一实体在不同的局部ER模型中包含的属性不完全相同或属性的排列次序不同、实体之间的联系在不同的局部ER模型中类型不一致〕消除冗余,得到根本ER模型冗余的数据指可以由根本数据导出的数据;冗余的联系也是可由根本联系导出的联系。消除冗余的方法:用分析方法消除冗余和使用关系数据设计理论〔标准化〕消除冗余。三、概念设计例5:将上例转换成全局e-r图。以数据字典和数据流图为依据根据数据字典中关于数据项之间的逻辑关系学生学号性别入学时间姓名系别出生日期密码选修课程成绩选课时间课程名课程号先修课程号mn销售管理子系统分E-R图的设计①销售管理子系统的主要功能:处理顾客和销售员送来的订单工厂是根据订货安排生产的交出货物同时开出发票收到顾客付款后,根据发票存根和信贷情况进行应收款处理4.综合练习〔了解〕三、概念设计例6:某工厂管理信息系统以下图是第一层数据流图,虚线局部划出了系统边界销售管理子系统第一层数据流图上图把系统功能又分为4个子系统,下面四个图是第二层数据流图接收订单处理订单开发票支付过账分E-R图的框架参照上层数据流图和数据字典,遵循准那么,进行如下调整:(1)订单与订单细节是1∶n的联系(2)原订单和产品的联系实际上是订单细节和产品的联系。(3)图〞开发票〞中“发票主清单〞是一个数据存储,不必作为实体参加分E-R图(4)工厂对大宗订货给予优惠得到分E-R图如以下图所示销售管理子系统的分E-R图该厂劳动人事管理分E-R图该厂物资管理分E-R图系统的根本E-R优化的数据模型概念结构总ER模型一般数据结构关系、网状、层次选定的DBMS支持下的数据模式转换规则DBMS的特点优化方法四、逻辑结构的设计数据库逻辑结构设计分为两个步骤:一、将概念设计所得的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图对每个实体定义的属性如下:顾客:{顾客号,顾客名,地址,,信贷状况,账目余额}订单:{订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点}订单细那么:{订单号,细那么号,零件号,订货数,金额}应收账款:{顾客号,订单号,发票号,应收金额,支付日期,支付金额,当前余额,货款限额}产品描述:{产品号,产品名,单价,重量}折扣规那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第5课 《从小爱劳动》知识梳理+ 同步练习2025-2026学年统编版道德与法治三年级下册
- 2025新丰县中等职业技术学校工作人员招聘考试试题
- 2025江西九江科技中等专业学校工作人员招聘考试试题
- 2025杭州市临平商贸职业高级中学工作人员招聘考试试题
- 一氧化氮在新生儿坏死性小肠结肠炎中的作用研究进展总结2026
- 垃圾压缩池施工组织设计
- 基于人工智能的区域教育协同发展模式创新与实施路径教学研究课题报告
- 2026年数字藏品市场分析报告及未来五至十年收藏产业变革报告
- 初中英语口语教学中数字化管理对教师激励的影响研究教学研究课题报告
- 2026年智慧农业农业投资创新报告
- 《会计学基础》期末试题及参考答案
- 中国营养学会中国居民膳食指南2026
- 2025-2030消费电子行业市场供需结构及投资价值评估研究报告
- 2026年时事政治测试题库100道附完整答案【考点梳理】
- 雨课堂学堂在线学堂云《烹调工艺学(扬大)》单元测试考核答案
- 电商创业项目市场分析与发展规划计划书
- 迈克尔杰克逊教学课件
- 2025年消防设施操作员中级理论考试1000题(附答案)
- 《婴幼儿常见病识别与应对》全套教学课件
- 汽柴油贸易知识培训总结课件
- 2025年江苏省高校毕业生“三支一扶”计划招募考试笔试试题(含答案)
评论
0/150
提交评论