版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章数据库设计—数据库应用系统开发总论
学习目标
1.了解数据库设计的含义、特点;2.理解数据库设计的步骤和各阶段的任务;3.掌握数据库需求分析的步骤、需求分析说明书的描述方法,能分析应用需求,绘制数据流图,编写数据字典;4.掌握概念设计任务和方法,能根据需求分析结果建立应用系统的E-R模型;5.掌握逻辑设计过程,能将E-R模型转换为关系模型,并进行模式优化;6.了解数据库物理设计、数据库实施和维护的内容与方法;7.掌握数据库设计过程和方法,具备根据应用需求设计关系数据库的基本能力。
目录
4.1数据库设计概述
4.2需求分析
4.3概念设计
4.4逻辑设计4.5物理设计
4.6数据库实施
4.7数据库运行与维护
4.1数据库设计概述4.1.1数据库设计的含义4.1.2数据库设计的特点4.1.3数据库设计的基本步骤4.1.1数据库设计的含义什么是数据库设计广义,数据库设计是指数据库及其应用系统的设计,即设计整个的数据库应用系统。
狭义,数据库设计是指数据库本身的设计,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分。
4.1.1数据库设计的含义
数据库设计:根据用户需求研制数据库结构的过程.
即:根据用户的信息需求、处理需求和数据库的处理环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用户的信息要求和处理要求。
4.1.1数据库设计的含义为用户和各种应用系统提供一个信息基础设施和高效率的运行环境,包括:数据的存取效率存储空间利用率系统运行管理效率数据库设计的目标4.1.2数据库设计的特点
数据库建设是硬件、软件和干件的结合“三分技术,七分管理”技术与管理的界面称之为“干件”
数据库设计应该与应用系统设计相结合结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等4.1.2数据库设计的特点
现实世界概念模型设计子模式设计物理数据库设计逻辑数据库设计建立数据库数据分析功能分析功能模型功能说明事务设计程序说明应用程序设计程序编码调试数据库设计与应用系统设计相结合4.1.2数据库设计的特点
反复性(interative)试探性(tenative)多阶段(multistage)数据库建设需将技术、管理和基础数据相结合数据库设计需将结构设计与行为设计相结合数据库设计涉及多学科领域4.1.2数据库设计的特点
数据库设计人员应该具备的技术和知识
数据库的基本知识和数据库设计技术计算机科学的基础知识和程序设计的方法和技术软件工程的原理和方法应用领域的知识4.1.3数据库设计的六阶段
数据库设计的准备工作—
选定参加设计的人员(4类人员)1.数据库分析设计人员数据库设计的核心人员自始至终参与数据库设计其水平决定了数据库系统的质量
2.用户在数据库设计中也是举足轻重的主要参加需求分析和数据库的运行维护用户积极参与带来的好处加速数据库设计提高数据库设计的质量3.程序员在系统实施阶段参与进来,负责编制程序4.操作员在系统实施阶段参与进来,准备软硬件环境4.1.3数据库设计的六阶段
⒈需求分析阶段⒉概念结构设计阶段⒊逻辑结构设计阶段⒋数据库物理设计阶段⒌数据库实施阶段⒍数据库运行和维护阶段4.1.3数据库设计的六阶段
⒈需求分析阶段准确了解与分析用户需求(包括数据与处理)是整个设计过程的基础,是最困难、最耗费时间的一步
⒉概念结构设计阶段是整个数据库设计的关键通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
⒊逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化4.1.3数据库设计的六阶段
数据库各级模式的形成过程需求分析阶段综合各个用户的应用需求概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)逻辑设计阶段首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式4.1.3数据库设计的六阶段
数据库各级模式的形成过程应用要求应用要求应用要求应用要求应用1应用2应用3应用4概念模式(综合)逻辑模式(转换)内模式外模式应用1外模式外模式外模式应用2应用3应用4(映像)(映像)4.2需求分析4.2.1需求分析的步骤4.2.2需求分析的描述4.2.1需求分析的步骤
通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求
在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库.需求分析的任务4.2.1需求分析的步骤需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
信息要求用户需要从数据库中获得信息的内容与性质由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据处理要求对处理功能的要求对处理的响应时间的要求对处理方式的要求(批处理/联机处理)安全性与完整性要求4.2.1需求分析的步骤需求分析的难点与解决方法确定用户最终需求的难点用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。新的硬件、软件技术的出现也会使用户需求发生变化。解决方法设计人员必须采用有效的方法,与用户不断深入地进行交流,才能逐步得以确定用户的实际需求4.2.1需求分析的步骤(1)现系统调查(2)业务及需求分析(3)综合、调整(4)编写需求分析报告4.2.1需求分析的步骤需求分析常用的调查方法⑴跟班作业⑵开调查会⑶请专人介绍⑷询问⑸设计调查表用户填写⑹查阅记录『常用调查方法』⑴首先调查组织机构情况⑵然后调查各部门的业务活动情况⑶协助用户明确对新系统的各种要求⑷确定新系统的边界调查步骤4.2.1需求分析的步骤调查与初步分析用户需求⑴调查组织机构情况
组织部门的组成情况,各部门的职责等⑵调查各部门的业务活动情况。(重点之一)
各个部门输入和使用什么数据,如何加工处理这些数据输出什么信息,输出到什么部门,输出结果的格式是什么⑶在熟悉业务活动的基础上,协助用户明确对新系统的各种要求.(重点之二)
信息要求,处理要求,完全性与完整性要求⑷对前面调查的结果进行初步分析确定新系统的边界确定哪些功能由计算机完成或将来准备让计算机完成确定哪些活动由人工完成
由计算机完成的功能就是新系统应该实现的功能。4.2.2需求分析的描述分析和表达用户的需求的常用方法自顶向下的结构化分析方法(StructuredAnalysis,简称SA方法)SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。4.2.2需求分析的描述数据流图(DFD)数据流图(DataFlowDiagram)是结构分析方法的工具之一,它描述数据处理过程,以图形化方式刻画数据流从输入到输出的变换过程。数据流图有4种基本元素:数据流、加工、数据输入的源点或数据输出的汇点、数据存储文件。4.2.2需求分析的描述数据流图(DFD)数据流图(DFD,
DataFlowDiagram):以图形化方式刻画数据流从输入到输出的变换过程,描述了数据流动、存储、处理的逻辑关系。数据流图有4种基本元素:数据流、加工、数据输入的源点或数据输出的汇点、数据存储文件。4.2.2需求分析的描述【例4.1】以下是销售过程的数据流程图。用户将订货单交给某企业的业务经理,经检验后,对不合格的订单要由用户重填,合格的订单交仓库保管员做出库处理,即:查阅库存台帐,如果有货则向用户开票发货,如缺货,则通知采购员采购。客户发货票不合格订单订货单检验合格订单出库处理采购通知库存台帐采购员4.2.2需求分析的描述与程序流程图不同,DFD不表示程序的控制结构,只描述数据的流动。
DFD分成多层表示,从而逐步展开数据流和功能的细节。4.2.2需求分析的描述S2132.33.13.2
顶层1层2层(基本系统模型)(系统的子功能)2.12.2分层DFD:(1)先画出顶层DFD(2)自顶向下画出各层DFD
分解原则:
分解后的软件成分有相对独立功能一次分解不要加入过多细节4.2.2需求分析的描述分层DFD:分解的深度与层次:按功能情况定,一般深度为3-5;超过5个加工一般进行分解。4.2.2需求分析的描述数据字典(DD)数据字典(DD,DataDictionary)是各类数据描述的集合.数据字典是进行详细的数据收集和数据分析所获得的主要结果.数据字典在数据库设计中占有很重要的地位.4.2.2需求分析的描述数据字典数据字典的内容数据项数据结构数据流数据存储处理过程数据项是数据的最小组成单位若干个数据项可以组成一个数据结构数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。4.2.2需求分析的描述数据字典:(1)数据项数据项是不可再分的数据单位对数据项的描述
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}取值范围、与其他数据项的逻辑关系定义了数据的完整性约束条件4.2.2需求分析的描述数据字典:(2)数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}4.2.2需求分析的描述数据字典:(3)数据流
数据流是数据结构在系统内传输的路径。对数据流的描述
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据流来源是说明该数据流来自哪个过程数据流去向是说明该数据流将到哪个过程去平均流量是指在单位时间(每天、每周、每月等)里的传输次数高峰期流量则是指在高峰时期的数据流量4.2.2需求分析的描述数据字典:(4)数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}流入的数据流:指出数据来源流出的数据流:指出数据去向数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息存取方法:批处理/联机处理;检索/更新;顺序检索/随机检索4.2.2需求分析的描述数据字典:(5)加工逻辑(处理过程)数据的加工逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息加工逻辑说明性信息的描述加工逻辑={加工名,编号,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}简要说明:主要说明该处理过程的功能及处理要求功能:该处理过程用来做什么处理要求:处理频度要求(如单位时间里处理多少事务,多少数据量);响应时间要求等处理要求是后面物理设计的输入及性能评价的标准4.2.2需求分析的描述【例4.2】以“商品订购系统”需求分析为例说明数据流图和数据字典的形成过程。(1)需求描述①商场操作员需建立与统计客户情况,商品情况;建立客户订单;统计商品订购情况。②客户需查询与统计订单信息。③商场部门经理需查询客户情况、生产商情况和商品订购情况。4.2.2需求分析的描述由此可以抽象出系统功能如下:①客户管理:客户基本信息(客户编号、客户名称、出生年月、性别、所在省市、联系电话、微信号、VIP等)维护,提供查询统计功能。②商品管理:商品基本信息(商品编号、商品名称、品牌、单价、生产商、保质期、库存量等)维护,提供查询统计功能。③操作员管理:操作员基本信息(操作员工号、姓名、部门、职务等)维护,提供查询统计功能。④订购管理:客户订购商品的信息(客户编号、商品编号、订购时间、数量、需要时间、付款方式、送货方式等)维护,提供查询统计功能。4.2.2需求分析的描述(2)系统分析,设计数据流图根据系统初步需求,管理员、客户、操作员、商场部门经理等都会产生或使用数据,因此,他们都是数据输入的源点和数据输出的汇点;需存储的信息包括:客户信息、商品信息、操作员信息、订单信息。4.2.2需求分析的描述顶层数据流图:4.2.2需求分析的描述一层数据流图:4.2.2需求分析的描述二层数据流图:4.2.2需求分析的描述三层数据流图:4.2.2需求分析的描述(3)整理制定数据字典对所形成的各三层数据流图进行分析,整理出数据元素、数据结构、数据流、数据存储和加工逻辑,制定数据字典。以“订单录入”三层数据流图为例,形成的数据字典如下①数据元素。本系统中的数据元素包括客户编号、商品编号、订购时间、数量、需要时间、付款方式、送货方式等,它们都是原子项。以“商品编号”为例:数据项:客户编号含义说明:唯一标识每个商品类型:字符型长度:7
取值范围:0000000至9999999取值含义:第1位标识类别,2~4位标识小类别,最后3位按顺序编号4.2.2需求分析的描述(3)整理制定数据字典②数据结构。主要数据结构是订单,它是该系统中的一个核心数据结构;数据结构:订单
含义说明:是商品订购系统的主体数据结构,定义订单的有关信息
组成:客户编号,商品编号,订购时间,数量,需要时间,付款方式,送货方式4.2.2需求分析的描述(3)整理制定数据字典③数据存储。涉及的数据存储包括商品信息、订单信息等。以“订单信息”为例,描述该数据存储:数据存储:订单信息说明:保存客户各个订单的信息
流入数据流:增加的订单、修改后的订单、删除订单后的信息
流出数据流:原订单
组成:客户编号,商品编号,订购时间,数量等
数据量:
10000(客户)×1000(商品)
存取方式:随机存取4.2.2需求分析的描述(3)整理制定数据字典④数据流。涉及的数据流包括商品清单、添加订单信息、修改订单信息等;以“商品清单”为例,描述该数据流:数据流名称:商品清单
说明:某类商品的清单
数据流来源:商品信息查询
数据流去向:商品信息显示
组成:商品编号,商品名称
平均流量:
100次/小时
高峰期流量:1000次/小时4.2.2需求分析的描述(3)整理制定数据字典⑤加工逻辑。涉及的加工逻辑包括商品信息查询(4.1.1)、商品信息显示(4.1.2)等6个。以“增加订单”为例,描述该加工逻辑:
加工名:增加订单
说明:录入一个客户某个订单的信息
输入:客户编号,商品编号,订购时间,数量等
输出:订单
处理:在订单信息数据存储中增加一个客户的订购信息4.2.2需求分析的描述在调查与分析的基础上编写需求分析说明书。需求分析说明书须依据一定规范要求编写,有行业标准,企业标准等,一般用自然语言并辅之以一定图表书写。需求分析说明书通常包含如下内容:需求调查原始资料数据边界、环境及数据内部关系数据流及分析数据字典……需求分析说明书4.3概念设计4.3.1概念设计的方法4.3.2E-R方法*4.3.3基本E-R模型的扩充*4.3.4扩展E-R模型*4.3.5用UML构建概念模型简介4.3.1概念设计的方法①能够充分反映现实世界的事物;②表达自然、直观、易于理解,便于和不熟悉计算机的用户交换意见,用户易于参与;③易于修改和扩充;④易于向关系、网状、层次等数据模型转换。概念模型应该:现实世界机器世界信息世界需求分析概念结构设计4.3.1概念设计的方法常用策略自顶向下进行需求分析自底向上设计概念结构自底向上设计概念结构的步骤
第1步:抽象数据并设计局部视图第2步:集成局部视图,得到全局概念结构4.3.2E-R方法ER方法将现实世界抽象成具有某种属性的实体,而实体之间相互联系。画出一张E-R图,得到一个对系统信息的初步描述,进而形成数据库的概念模型。4.3.2E-R方法(1)数据抽象与局部视图设计数据抽象对需求分析阶段收集到的数据进行分类、组织,形成:实体实体的属性,标识实体的码确定实体之间的联系类型(1:1,1:n,m:n)局部视图设计选择局部应用逐一设计分E-R图4.3.2E-R方法选择局部应用需求分析阶段用多层数据流图和数据字典描述系统。在多层数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。…学籍管理信息系统学生管理子系统教师管理子系统授课管理子系统设计分E-R图的出发点…4.3.2E-R方法逐一设计分E-R图每个局部应用都对应一组数据流图与数据字典;任务:将各局部应用涉及的数据分别从数据字典中抽取出来,标定局部应用中的实体、属性、码、实体间的联系及其类型(1:1,1:n,m:n);4.3.2E-R方法【例4.4】“商品订购系统”局部视图设计。以“商品管理”局部应用中,抽象出商品实体、商品类别实体。进一步,分析这些实体之间的联系:一个商品属于一个类别,一个类别可有多个商品(1:n);每个操作员可管理多个商品,同一类商品只能由一个操作员管理(1:n)。“商品管理”分E-R图:4.3.2E-R方法(2)集成局部视图,得到全局概念结构各个局部视图(即分E-R图)建立后,需将它们集成为一个整体的数据概念结构即总E-R图。可分为一次集成和逐步累积式;4.3.2E-R方法解决冲突,合并分E-R图,形成初步E-R图冲突:各分E-R图存在的不一致各个局部应用所面向的问题不同;由不同设计人员设计各个分E-R图之间可能存在不一致;冲突的种类属性冲突:指属性值类型、取值范围或取值集合在不同的E-R图中定义不同。命名冲突:包括同名异义、异名同义。同名异义:不同意义的对象在不同的局部应用中具有相同的名字异名同义:同一意义的对象在不同的局部应用中具有不同的名字结构冲突同一对象在不同应用中具有不同的抽象同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同实体之间的联系在不同局部视图中呈现不同的类型4.3.2E-R方法消除不必要冗余,设计基本E-R图在初步E-R图中,可能存在一些冗余的数据和实体间冗余的联系;冗余数据和冗余联系容易破坏数据的完整性,给数据库维护增加困难,应予以消除;消除了冗余后的初步E-R图称为基本E-R图;冗余的数据:指可由基本数据导出的数据冗余的联系:指可由其他联系导出的联系4.3.2E-R方法【例4.5】“商品订购系统”全局视图设计。合并各分E-R图,并消除冗余,得到系统的基本E-R图。*4.3.3基本E-R模型的扩充(1)多元联系
两个以上的实体集内的各实体之间可以存在一对一、一对多、多对多的联系。
*4.3.3基本E-R模型的扩充(2)单个实体内的联系同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。
*4.3.3基本E-R模型的扩充(3)属性的类型①键(码)属性:候选码中的属性。②简单属性:不可再分的属性。③复合属性:可以划分为更小的属性。④多值属性:可以取多个值的属性。⑤派生属性:由基本属性导出的属性。*4.3.3基本E-R模型的扩充(4)角色实体在联系中的作用称为实体的角色当一个实体集只一次参与联系集时,角色是隐含的、不声明,其基本不起作用。而当同一个实体集不止一次参与一个联系集时,需显式指明其角色,以进行实体区分。如学生与学生间的班长关系,职工与职工间的经理关系,课程之间的先修关系,零件间的装配关系。角色*4.3.3基本E-R模型的扩充(5)基数设两个实体集E1和E2,对于E1中的每个实体,与其有联系的E2实体的最小数目min和最大数目max,称为E1的基数,用(min,max)表示。
【例4.7】对于“学生—课程”,规定:每个学生至少选修一门课、最多选修六门课,每个课程最多可以有50人选修、最少可以没人选修。则学生的基数为(1,6),课程的基数为(0,50)。*4.3.3基本E-R模型的扩充(6)弱实体集
弱实体集:指没有键属性的实体集。强实体集:属性可以形成键的实体集。强实体集“员工”弱实体集“保险受益人”*4.3.3基本E-R模型的扩充弱实体集的识别强实体集“员工”弱实体集“保险受益人”识别实体:弱实体集缺乏键属性,需利用其依赖的强实体集的属性进行识别。将其依赖的强实体集称为识别实体。识别联系:识别实体与弱实体集之间的联系(必须是1:n联系)。弱实体集的识别:识别实体的主码+弱实体集的部分码弱实体识别属性。识别实体:“员工”识别联系:“保险”部分码:“姓名”*4.3.3基本E-R模型的扩充弱实体集的E-R图表示双边矩形框:弱实体集双边菱形框:识别联系属性虚线:部分码*4.3.3基本E-R模型的扩充【例4.8】建立员工办理保险的E-R模型。该系统包含员工、保险受益人2个实体,其中保险受益人是弱实体集,识别实体为“员工”,识别联系为“保险”,“保险受益人”实体中的“姓名”属性参与识别,因此为“部分码”。*4.3.3基本E-R模型的扩充总结:E-R图表示双边矩形框:弱实体集双边菱形框:识别联系属性虚线:部分码矩形框:实体椭圆:属性菱形框:联系线段:将属性连接到实体,或将实体集连接到联系集(用1:1,1:n,m:n标注联系类别)。属性实线:键属性双边椭圆:多值属性虚线椭圆:派生属性椭圆层次:复合属性*4.3.4扩展E-R模型类层次
概念:将实体型中的实体分成子类。分类后体现为一种类层次,上层为超类,下层为子类。如将“商品”按“商品类别”分为“食品”和“文具”,这样,“食品”和“文具”就是“商品”的子类。子类除可继承超类的属性外,还可以有自己独特的属性。*4.3.4扩展E-R模型类层次示例*4.3.4扩展E-R模型演绎与归纳
演绎是以一个实体型为基础,定义该实体型子类的过程。
归纳是演绎的逆过程。归纳过程是从多个实体型出发,分析这些实体型的共同特征,抽象出它们之间的公共属性,产生出这些实体型的超类,是特殊到一般思维方法的运用。*4.3.4扩展E-R模型实体型商品构造子类的演绎示例*4.3.4扩展E-R模型由实体型产生超类的归纳示例*4.3.5用UML构建概念模型简介对象模型及UML简介对象模型(Object-OrientedModel)是用面向对象观点来描述现实实体(对象)的逻辑组织、对象间约束、联系等的模型。UML是一种标准的图形化建模语言,支持从需求分析开始的软件开发全过程。用UML来描述对象模型,通过可视化建模,可更好地提高模型的重用性。*4.3.5用UML构建概念模型简介对象模型的UML表示对象模型一般用UML类图来表示。UML类图包括类的描述和关联的描述,类似于ER图的实体型和联系。对象模型中的类的表示:对象模型中的类(Class)相当于E-R模型中的实体型(EntitySet)。类在UML中表示为一个方框,由三部分组成:类的名称类的属性类的方法*4.3.5用UML构建概念模型简介对象模型的UML表示对象模型的关联,相当于E-R模型中的联系。以类之间的有向或无向线段表示。对象模型的关联也可以带有自己的属性,通过关联类来描述。*4.3.5用UML构建概念模型简介商品订购管理对象模型的UML表示示例4.4逻辑设计4.4.1E-R模型转换为关系模型4.4.2数据模式的优化4.4.3设计用户外模式*4.4.4常用数据库建模工具4.4逻辑设计逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构逻辑结构设计的步骤将概念结构转化为关系模型将关系模型向特定DBMS支持下的数据模型转换对数据模型进行优化逻辑设计的任务和步骤4.4逻辑设计逻辑设计的3个步骤4.4.1E-R模型转换为关系模型E-R图向关系模型的转换要解决的问题如何将实体型和实体间的联系转换为关系模式如何确定这些关系模式的属性和码
转换内容将实体转换为关系模式将实体间的联系转换为关系模式4.4.1E-R模型转换为关系模型(1)实体及其属性的转换E-R图的一个实体转换为一个关系模式实体的属性转换为关系的属性实体的码转换为关系的码客户(客户编号,客户姓名,出生日期,性别,所在省市,联系电话,微信号,备注),客户编号是主码4.4.1E-R模型转换为关系模型(1)实体及其属性的转换弱实体集的转换对弱实体集的处理方法有两种:一是将弱实体集作为其识别实体的属性;当弱实体集只参与标识联系、并且属性较少时,可采用该策略。二是将弱实体集作为单独的实体集;当弱实体集不仅仅参与标识联系、或者属性较多时,作为弱实体集;此时需添加识别实体的主码。4.4.1E-R模型转换为关系模型【例4.9】下图表示的E-R模型描述了员工办理保险相关的实体集及其联系,将该E-R模型转换为关系模型,设计对弱实体集“保险受益人”的转换方案。作为标识实体的属性员工(员工号,姓名,出生日期,受益人姓名,受益人性别,受益人年龄)作为单独的实体集:
保险受益人(员工号,姓名,性别,年龄)4.4.1E-R模型转换为关系模型(2)二元联系的转换1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。4.4.1E-R模型转换为关系模型(2)二元联系的转换1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。4.4.1E-R模型转换为关系模型(2)二元联系的转换m:n联系转换为一个关系模式。转换后的关系模式为:订购(客户编号,商品编号,订购时间,数量,需要时间,付款方式,送货方式)4.4.1E-R模型转换为关系模型(3)其他转换规则多元联系的转换。三个或三个以上实体间的多元联系转换为一个关系模式,由相关实体的码和联系的属性组成。“进货”联系为三元联系,转换后的关系模式为:进货(仓库号,商品号,商店号,数量,日期)4.4.1E-R模型转换为关系模型(3)其他转换规则方法1:为超类实体创建一个关系,为每个子类实体创建一个关系(其中的部分列对应于超类实体集的主码属性)。方法2:若超类涵盖了子类的全部,且子类是不相交的。则不必为超类实体集创建关系,只需为每个子类实体集创建关系即可。类层次的转换4.4.1E-R模型转换为关系模型【例4.10】下图为描述学生类层次的E-R图,“学生”为超类,研究生、本科生为其子类,硕士生、博士生为研究生的子类。将其转换为关系模式。方法1,先创建超类关系学生,再映射各子类关系。转换的关系模式:学生(学号,姓名)研究生(学号,导师,小组)硕士生(学号,类别)博士生(学号,助教)本科生(学号,专业)方法2,则只需创建各子类关系,转换的关系模式:研究生(学号,姓名,导师,小组)硕士生(学号,类别)博士生(学号,助教)本科生(学号,姓名,专业)4.4.2数据模式的优化得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模式的优化。关系数据模型的优化通常以规范化理论为指导。①在需求分析阶段,用数据依赖的概念分析表示各数据之间的联系。②在概念结构设计阶段,用规范化理论为工具,消除初步E-R图中冗余的联系。③在由基本E-R模型向关系模型转换的过程中,用模式分解的概念和算法指导设计。4.4.2数据模式的优化规范化处理①减小连接运算。当数据库查询涉及两个或多个关系模式时,系统必须进行连接运算。通常,参与连接的关系越多,参与连接的关系越大,则开销越大。设计时,根据环境、用户情况适当调整关系的设计,减少关系或减少关系的大小。②尽可能使用快照。如果应用只需数据在某一时间的值,而不一定是当前值,则可对这些数据定义一个快照并定期刷新。由于查询结果在快照刷新时已自动生成,并存储于数据库中,因此可显著提高查询速度。③节省属性占用的存储空间。一方面采用编码等方式缩短属性,另—方面熟悉并正确选用特定DBMS提供的数据类型。4.4.2数据模式的优化改善数据库的性能4.4.3设计用户外模式将E-R模式转换为逻辑模型后,还应根据局部应用需求,结合具体DBMS的特点,设计用户的外模式;定义用户外模式时应该注重的问题重定义属性名:使用更符合用户习惯的别名;方便查询:针对不同级别的用户定义不同的视图,以满足系统对安全性的要求;提高数据安全性和共享性。提供一定的逻辑数据独立性。4.4.4常用数据库建模工具使用数据建模工具可以提高数据库设计效率,更好的满足复杂的数据和业务处理需求。数据库建模工具类软件很多,业界流行的主要有:PowerDesigner、ERWinDataModeler和ER/Studio,它们都是通用的商业软件。此外,还有开源免费建模工具,或是针对具体DBMS的专用建模工具。如:pgModeler,MySQLWorkbench。*4.4.4常用数据库建模工具PowerDesigner是一款功能全面的数据库设计工具,采用模型驱动方法。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。PowerDesigner支持非常强大的元数据信息库和各种不同格式的输出。PowerDesigner具有很强的适用性,支持60多种关系数据库管理系统(RDBMS)。PowerDesigner*4.4.4常用数据库建模工具ERWinDataModeler(DM)简称ERWin,是功能强大、易于使用的数据库设计工具。ERwin主要用来建立数据库的概念模型和物理模型。用图形化的方式,描述实体及其联系,为用户提供可视化界面来处理复杂的数据环境问题。ERWin支持各主流数据库管理系统,可以方便地构造实体和联系,表达实体间的各种约束关系,并根据模板创建相应的存储过程、触发器和角色等。ERwin可实现将已建好的ER模型到数据库物理设计的转换,即可在多种数据库服务器上自动生成库结构,提高了数据库的开发效率。ERWinDataModeler*4.4.4常用数据库建模工具ER/Studio也是一种可视化数据建模工具,可设计与构建逻辑和物理数据模型,还可以对逻辑数据架构进行分析。支持多类型输出,能够输出XML、PNG、JPEG等多种格式文档。提供多层次设计环境,有助于数据库管理员,开发人员和数据架构师建立与维护庞大复杂的数据库应用程序。ER/Studio4.5物理设计4.5.1确定数据库的物理结构4.5.2性能评价4.5物理设计数据库物理设计的任务和步骤数据库的物理设计的任务数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统;为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。数据库物理设计的步骤确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是时间和空间效率。4.5物理设计4.5.1确定数据库的存储结构(1)确定数据的存储结构确定数据库存储结构时要综合考虑:存取时间存储空间利用率维护代价这三个方面常常是相互矛盾的。例如,消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加。因此必须进行权衡,选择一个折中方案。
4.5.1确定数据库的存储结构(2)设计数据的存取路径在关系数据库中,选择存取路径主要指确定如何建立索引。建立索引一般原则:
①考虑建立索引的属性。主关键字:存取关系最常用的方法是通过关键字进行。连接中频繁使用的属性:例如外码,因为用于连接的属性按顺序存放,故系统可以很快执行连接。②不考虑建立索引的属性。很少或从来不在查询中出现的属性。属性值很少的属性。例如,“支付方式”属性只有“现金”和“银行卡”两个值,在上面建立索引不利于检索。小表(记录很少的表)。一般没有必要创建索引。经常更新的属性或表。因为更新需要维护索引。属性值分布不均,在几个值上很集中。过长的属性。属性过长,在属性上建立索引所占存储空间较大。
4.5.1确定数据库的存储结构(3)确定数据的存放位置为了提高系统性能,数据应该根据应用情况将易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年企业专利授权合同二篇
- 健身房会员合同纠纷解决范本
- 关于办公用品采购制度
- 医院采购询价制度
- 水厂设备采购依据制度
- 建筑采购员休息制度
- 常用物资采购制度
- 幼儿园采购记录制度
- 小企业备件采购管理制度
- 数字化转型下TQ公司内部市场化管理模式的创新与实践研究
- 温室大棚建设施工组织设计方案
- 2025年院感试题及参考答案
- 热电厂工作基础知识培训课件
- 2025年福建事业单位招聘考试(临床类·B类)历年参考题库含答案详解(5卷)
- 2025国家义务教育质量监测小学德育测评估考试试题库及答案
- 肠梗阻护理个案病例汇报
- 设备升级改造管理制度
- 高中生艾滋病预防教育课件
- 路面铣刨合同协议
- 投行业务管理制度
- VTE相关知识培训课件
评论
0/150
提交评论