《数据库原理与应用》课件ch3数据库设计.pptx

上传人(卖家):momomo 文档编号:7284791 上传时间:2023-11-14 格式:PPTX 页数:107 大小:2.55MB
下载 相关 举报
《数据库原理与应用》课件ch3数据库设计.pptx_第1页
第1页 / 共107页
《数据库原理与应用》课件ch3数据库设计.pptx_第2页
第2页 / 共107页
《数据库原理与应用》课件ch3数据库设计.pptx_第3页
第3页 / 共107页
《数据库原理与应用》课件ch3数据库设计.pptx_第4页
第4页 / 共107页
《数据库原理与应用》课件ch3数据库设计.pptx_第5页
第5页 / 共107页
点击查看更多>>
资源描述

1、数据库设计数据库设计 3.1 数据库设计概述 3.2 需求分析 3.3 数据库概念结构设计 3.4 数据库逻辑结构设计 3.5 数据库的物理结构设计 3.6 数据库的实施 3.7 数据库的运行和维护 理解数据库设计的特点;掌握关系数据库设计的步骤,各个阶段的具体任务,特别是面向对象的需求分析、数据库概念结构设计、逻辑结构设计的基本任务和设计的结果;掌握E-R图的设计方法,E-R图向关系模型的转换规则,关系模型的优化;了解数据库物理结构设计的内容和方法,数据库实施和维护;掌握数据库设计的方法,根据实际应用需求,具备关系数据库设计的基本能力。数据库数据库设计设计学 习目 标 重点:需求分析、概念结

2、构设计、逻辑结构设计。难点:概念结构设计中的依赖实体集、强实体集、弱实体集、多值联系的建模。数据库设计数据库设计3.1 3.1 数据库设计概述数据库设计概述 v 3.1.1数据库设计的基本任务和目标 1.基本任务 根据用户的信息需求、数据操作需求,设计一个结构合理、使用方便、效率较高的数据库(有效的存储、高效的访问)。2.设计目标 数据库设计的核心问题是建立一个什么样的数据模型。具体而言,这个模型应当满足以下目标:1)满足用户的应用要求 2)准确模拟现实世界 3)能被某个DBMS所接受 4)具有良好的性能,较好的质量 3.1 3.1 数据库设计概述数据库设计概述 v3.1.2数据库设计的特点与

3、方法 1数据库设计的特点 数据库建设是指从分析、设计、实施到运行与维护的全过程。和一般的软件系统的设计、开发与维护有许多相同之处,也有其自身的一些特点。1)三分技术、七分管理,十二分基础数据2)结构设计和行为设计相结合 3.1 3.1 数据库设计概述数据库设计概述 2数据库设计方法 1)新奥尔良方法 2)基于E-R模型的数据库设计方法 3)基于3NF的设计方法 4)对象定义语言(Object Definition Language,ODL)方法3.1 3.1 数据库设计概述数据库设计概述 v3.1.3数据库设计步骤 1准备工作 在数据库设计之前,首先要选定参加设计的人员。系统分析师 数据库设计

4、人员 应用开发人员 DBA 用户代表 3.1 3.1 数据库设计概述数据库设计概述 2.数据库设计的基本步骤3.1 3.1 数据库设计概述数据库设计概述 3数据库设计过程中的各级模式在数据库设计的不同阶段形成数据库的各级模式。数据库的各级模式3.2 3.2 需求分析需求分析 需求分析就是正确理解用户需求并表达用户的需求。需求分析方法:结构化分析方法 基本思想:自顶向下,逐步求精。工具:数据流图(DFD)、数据字典(DD)、判定树、判定表、结构化语言等。基本思想:尽可能按照人类认识客观世界的方法来分析和解决问题。工具:用例图、对象模型、属性字典、服务说明表等。结构化分析方法面向对象分析方法3.2

5、3.2需求分析需求分析基本基本任务任务u系统分析师与用户一起,充分理解用户的要求,并把双方的理解用书面文档(系统说明书)表达出来。(1)了解用户的需求;(2)确定系统逻辑模型,形成系统分析报告。分析的本质:分析的本质:理解、发现、创新理解、发现、创新观察、访谈 理解 表述发掘批判、革新3.23.2需求分析需求分析3.23.2需求分析需求分析v3.2.1需求分析的任务 面向对象方法需求分析的主要任务是:1)获取需求 系统需求 功能需求:用例模型 非功能性需求:技术需求2)确定对象及对象间的关系 所有对象都是通过类来描述的,核心工作是分析和设计对象以及类,这是一个迭代的过程。类作为一个整体,贯穿从

6、分析到实现的整个系统开发过程,但在每一个阶段其抽象层次是不同的。3.23.2需求分析需求分析v3.2.2用例建模 下图给出了如何在用例图中表示一个用例以及各模型元素的表示法,其中矩形框表示系统的边界。用例图的表示法3.23.2需求分析需求分析 用例建模的主要步骤:1)确定系统的参与者2)确定需求用例3)构造用例图4)用例描述3.23.2需求分析需求分析v 3.2.3对象模型 对象模型是用类图来描述系统中所有对象类的属性、操作以及对象类之间的相互关系。对象不是一个个具体的对象,而是一组具有相似属性和服务的抽象对象类。类分为两种:对象类,指含有对象实例的类。抽象类,指不含对象实例的类。类名类名属性

7、属性操作操作类的图形符号类的图形符号3.23.2需求分析需求分析 构造对象模型的主要步骤:1识别对象和类 2确定属性 3确定对象间的关系 4确定服务3.23.2需求分析需求分析对象之间的关系 关联关系、一般与特殊关系、整体与部分关系。1)关联关系 关联关系描述的是类和类之间的连接,表示的是对象类的实例之间的相互依赖、相互作用的关系。关联关系建立了对象类之间的逻辑连接关系 (1)关联的表示法 3.23.2需求分析需求分析(2)关联的语义 包含关联名称和关联角色。关联名称用于标记关联;关联角色是关于关联关系中一个类对另一个类所表现出的职责,用于反映该端的对象在关联中扮演什么角色。两者不必同时使用,

8、如果在关联上没有标出角色名,则隐含地用类的名称作为角色名。3.23.2需求分析需求分析(3)关联的多重性关联的多重性表示参与关联的对象实例的数量约束。(表示一端的多少个对象可能和另一端的一个任意对象相关)3.23.2需求分析需求分析 (4)关联的类型 根据发生关联关系的类之间所涉及的对象实例的数目,可以将关联关系分为一对一关联、一对多关联和多对多关联。一对一关联是指关联两端的数量约束都是1,即每一端的一个对象实例都只和另一端的一个对象实例相关联。一对一关联示意图3.23.2需求分析需求分析一对多关联示意图一对多关联是指关联两端数量约束一端是1,另一端是*。数量约束是1的类的一个对象实例可以和数

9、量约束是*的类的多个对象实例相关联,数量约束是*的类的一个对象实例仅和数量约束是1的类的一个对象实例关联。3.23.2需求分析需求分析多对多关联示意图v 多对多关联是指关联两端的数量约束都是*。即任何一端类的一个对象实例都可以和另一端类的多个对象实例相关联。3.23.2需求分析需求分析 (5)带有属性和操作的关联 关联类的表示示意图 3.23.2需求分析需求分析 把关联类作为一个普通类来处理 关联类作为普通类表示的示意图 3.23.2需求分析需求分析2)一般和特殊关系 一般和特殊关系是指一个一般类和它的特殊类之间的二元关系。在oo中,“继承”、“分类”和“泛化”反映的是对象之间的一般特殊关系。

10、一般类和特殊类的表示法3.23.2需求分析需求分析 3)整体和部分关系 整体和部分关系是指一个类的某些对象实例是另一个类的某些对象实例的组成部分,这种关系在客观世界中非常常见。整体和部分关联的表示法3.23.2需求分析需求分析对象的服务u对象的服务是直接体现系统功能性需求的成分,“确定服务”的目标是将事物的动态特征抽象为对象和类的服务。u对象类的服务分为两大类:常规性服务或辅助性服务,主要包括每个对象类都有的创建对象、设置对象属性值、获取对象属性值、删除对象服务等;功能性服务或需求性服务,反映了该类对象实例所具有的特殊功能。3.23.2需求分析需求分析v 3.2.4 需求分析案例 假设某大学图

11、书馆需要开发一个图书管理系统,为了简化问题,现只考虑图书管理的核心业务图书信息,读者信息以及由两者相互作用产生的借书、还书等信息。为了简化问题,没有考虑实际系统可能还有的其他功能需求,如读者登录、读者预定图书、超期罚款处理、借书卡挂失、续借等,也不考虑同一个读者多次借阅同一本书的情况。3.23.2需求分析需求分析1系统功能需求经过需求调查,主要实现以下功能:1)图书管理2)读者管理3)借书管理4)还书管理3.23.2需求分析需求分析2系统用例模型1)确定参与者和用例u参与者代表的是使用者在与系统交互时所扮演的角色,而不是某个具体用户。u根据参与者的定义和参与者的确定方法可以识别出系统最重要的参

12、与者有读者、图书管理员。u主要系统用例:读者;查询图书、查询读者(本人)信息、查询借阅情况;图书管理员:办理借书证、借书处理、还书处理、查询图书信 息、查询读者信息、查询借阅信息、统计馆藏图书。3.23.2需求分析需求分析 2)建立用例图 用例图是描述参与者和用例之间关系的图形。3.23.2需求分析需求分析3)用例规约以文档的形式详细描述用例,描述用例也称为用例场景,即进行的业务事件以及如何同系统进行交互以完成任务的文字描述。3.23.2需求分析需求分析 3系统对象模型1)识别系统的对象和类u考虑到借阅过程中,图书管理员只是一个执行者,为了简化问题,在对象模型中,不考虑图书管理员。u根据用例模

13、型和确定类的方法,可以得出高校图书管理系统所涉及的类有:读者类、图书类、读者类别类、借阅单类。3.23.2需求分析需求分析2)确定属性 根据需求描述可以获取各个对象类的属性如下:读者类别的属性:类别编号,类别名称,可借阅天数,可借阅数量,超期罚款额 读者的属性:读者卡号,姓名,性别,单位,办卡日期,卡状态 图书的属性:图书编号,书名,类别,作者,出版社,出版日期,单价,库存数量 借阅单的属性:借书日期,还书日期3.23.2需求分析需求分析3)确定关系 两个类之间需不需要建立关联,完全取决于用户的业务需要。4)确定服务(操作)读者对象主要操作:办理借书证,查询 图书对象主要操作:入库,查询,统计

14、 读者类别对象主要操作:查询 借阅单对象主要操作:借书,还书,查询3.23.2需求分析需求分析 高校图书管理系统的对象模型如下图所示。图书管理系统类图3.23.2需求分析需求分析5)属性字典和服务说明3.3 3.3 数据库概念结构设计数据库概念结构设计3.3.1概念结构设计概述1.概念结构设计的步骤概念结构设计步骤3.3 3.3 数据库概念结构设计数据库概念结构设计2.概念结构设计的方法 概念模型是比数据模型更独立于机器、更抽象,也更加稳定。概念结构设计的方法有4种。1)自顶向下的设计方法 2)自底向上的设计方法 3)逐步扩张的设计方法 4)混合策略设计的方法 通常采用自底向上的设计方法,就是

15、根据局部应用的对象模型设计局部E-R图,再将局部E-R图合并成总E-R图。3.3 3.3 数据库概念结构设计数据库概念结构设计3概念结构设计的作用 其作用主要体现在以下几个方面:1)能真实地描述现实世界 2)易于理解 3)是各种数据模型的共同基础 4)有利于修改和扩充3.3 3.3 数据库概念结构设计数据库概念结构设计 4E-R的表示 E-R图(Entity-Relation Approach)用于描述现实世界的概念模型,提供了表示实体集、属性、联系的方法。其表示符号有:实体集名实体集名实体集实体集属性名属性名属性属性联系名联系名联系联系3.3 3.3 数据库概念结构设计数据库概念结构设计5.

16、实体集之间联系的类型 (1)二元联系 实际上,1对1联系是一对多联系的特例,而1对n联系又是多对多联系的特例。注意:实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于实际语义。一对一联系(一对一联系(1:1)一对多联系(一对多联系(1:n)多对多联系(多对多联系(m:n)3.3 3.3 数据库概念结构设计数据库概念结构设计(2)多元联系 多元联系是指多个实体集之间的联系,即两个以上的实体集之间存在的联系。3.3 3.3 数据库概念结构设计数据库概念结构设计(3)递归联系 递归联系是指实体集内部的联系,也称为自身联系。3.3 3.3 数据库概念结构设计数据库概念结构

17、设计3.3.2 分E-R图的设计和集成 1.分E-R图的设计 根据该局部应用的对象模型设计分E-R图。一个对象类对应一个实体集 对象类的属性对应实体集的属性 对象类之间的关系对应实体集之间的联系。在某些情况下,一个数据项可以作为属性,而在另一些情况下它又可以作为实体集。3.3 3.3 数据库概念结构设计数据库概念结构设计 一般能作为属性对待的尽量作为属性,在解决这个问题时应当遵循两条基本准则:(1)作为属性必须是不可再分的数据项,也就是属性中不能再包含其他的属性。职工职工职工号职工号姓名姓名年龄年龄职称职称职工职工职工号职工号姓名姓名年龄年龄职称职称职称号职称号名称名称工资工资标准标准住房住房

18、标准标准聘任聘任1 1m m“职称职称”由属性上升为实体集由属性上升为实体集3.3 3.3 数据库概念结构设计数据库概念结构设计(2)属性不能与其他实体集之间具有联系。病人病人住院号住院号姓名姓名病房号病房号病人病人住院号住院号姓名姓名病房病房医生医生入住入住医疗医疗1 1m mn n1 1 局部E-R图设计后,还必须返回去征求用户意见,使之如实地反映现实世界,同时还要进一步规范化,以求改进和完善。2全局E-R图设计 3.3 3.3 数据库概念结构设计数据库概念结构设计 1)合并局部E-R图,生成初步全局E-R图 各局部E-R图之间的冲突主要有3类:属性冲突 属性冲突包括域冲突和属性取值单位冲

19、突两种情况。命名冲突 命名冲突主要有同名异义冲突和异名同义冲突两种。结构冲突。结构冲突有3种情况 同一对象在不同的应用中具有不同的抽象。同一实体在不同局部E-R图中的属性组成不一致。实体之间的联系在不同的局部E-R图中呈现不同的类型。3.3 3.3 数据库概念结构设计数据库概念结构设计3.3 数据库概念结构设计2)优化初步E-R图 优化的目标是在全面准确地反映用户需求的基础上,使得系统尽量满足以下要求:属性尽可能少,即组成每一个实体的属性个数尽量少。实体尽量少,即组成概念结构的实体个数尽量少。联系尽量少,即组成概念结构的联系的个数尽量少。3.3 3.3 数据库概念结构设计数据库概念结构设计3验

20、证全局E-R图 验证全局E-R图时,确保满足下列条件:(1)必需具有一致性,不存在相互矛盾的表达。(2)能准确地反映原来每个局部应用的局部E-R图结构,包括实体、属性和联系。(3)能够满足需求分析阶段所确定的所有需求。(4)必须征求用户和相关人员的意见,需要经过评审、修改、优化,再确定作为数据库的概念结构,提交给用户。3.3 3.3 数据库概念结构设计数据库概念结构设计v 3.3.3概念结构设计案例 根据需求分析,利用数据库概念结构设计的方法,可以得出高校图书管理系统的数据库的各实体属性图如下图所示。读者与读者类别E-R图3.3 3.3 数据库概念结构设计数据库概念结构设计读者与图书E-R图3

21、.3 3.3 数据库概念结构设计数据库概念结构设计高校图书管理系统实体联系图3.3 3.3 数据库概念结构设计数据库概念结构设计v3.3.4概念结构设计的其他问题 在解决实际问题时,E-R模型一些扩充的特征可以更恰当地反映数据库设计的需求。为此,对E-R模型中所涉及的其他一些概念作必要的补充。1弱实体集与强实体集弱实体集:实体的存在必须依赖于其他实体的存在而存在。强实体集:被依赖的实体集。3.3 3.3 数据库概念结构设计数据库概念结构设计 对于弱实体集,必须满足以下限制强实体集和弱实体集的联系类型必须是一对多的联系。弱实体集中的每个实体都参与到联系集中至少一个联系中。3.3 3.3 数据库概

22、念结构设计数据库概念结构设计2依赖实体集 依赖实体集是指联系中一种实体的存在依赖于该联系集中联系的存在,将依赖于联系集而存在的实体集称为依赖实体集。依赖于联系集的实体集3.3 3.3 数据库概念结构设计数据库概念结构设计 依赖有两种约束情况:实体集与实体集之间的依赖约束。即弱实体集依赖于强实体集。实体集与联系集之间的依赖约束。即实体的存在依赖于联系集中的联系。3.3 3.3 数据库概念结构设计数据库概念结构设计3多值联系的建模 多值联系是指在同一个给定的联系集中,相关联的相同实体之间可能存在多个联系。多值依赖的建模解决方法1多值依赖的建模解决方法23.3 3.3 数据库概念结构设计数据库概念结

23、构设计4实体的子类型和超类型 实体的子类型和超类型类似于对象模型中对象之间的一般和特殊关系。如果一个实体类型的全部实体也属于另一个实体类型,并且具有自己的特殊特征,则前者称为子类,后者称为超类。学生实体的层次关系3.3 3.3 数据库概念结构设计数据库概念结构设计5多元联系和二元联系多元联系转换为实体间的相邻二元联系3.3 3.3 数据库概念结构设计数据库概念结构设计多元联系转换为等价的二元联系 3.3 3.3 数据库概念结构设计数据库概念结构设计 多元联系转换为二元联系时,可能会带来如下问题:(1)为了表示联系集而创建的实体集可能需要额外的标识属性,增加了设计的复杂度及空间占用。(2)多元联

24、系可以更清楚地表示多个实体对同一联系的共同参与,而转换为二元联系后,在E-R图中丢失了直接表示多个实体之间存在的多元联系手段。(3)转换过程中,对于多元联系上的约束可能无法转换为二元联系上的约束(即无法有效保留约束)。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计v3.4.1逻辑结构设计的任务 转换过程分3步进行:逻辑结构设计的步骤3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计v3.4.2概念模型转换为关系模型的方法概念模型向关系模型转换需要解决的问题:(1)如何将实体集和实体集之间的联系转换为关系模式?(2)如何确定这些关系模式的属性和关键字?3.4 3.4 数据库逻辑结构设计数

25、据库逻辑结构设计1实体集的转换规则 1)强实体集转换方法 每一个强实体集转换为一个关系模式;关系模式的名称为强实体集的名称,属性就是原实体集中 的实体集的属性;关系模式的码就是原实体集的标识符;每个实体由该关系的一个元组表示。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计2)弱实体集转换方法由于弱实体集的各实体需借助强实体集的主标识符进行标识。弱实体集转换的关系模式的属性=弱实体集本身的描述 属性+所依赖的强实体集的主标识符组成;码=所依赖的强实体集主标识符+弱实体集的部分标识 符组合而成;关系模式名就是弱实体集的名。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 2实体集之间联系

26、集的转换规则 1)联系类型1:1的转换方法 【例3-1】联系类型1:1转换为关系模式的实例3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计解:将两个实体集转换为两个关系模式:旅游团(团号,团名,地址,联系人,电话)保险(保险单号,投保日期,保险费)再将联系转换为关系模式,有3种方案:方案1:将联系形成一个独立的关系模式:参加(团号,保险单号,人数)方案2:将参加与旅游团两个关系模式进行合并,则关系模式:旅游团(团号,团名,地址,联系人,电话,人数,保险单号)方案3:将参加与保险两个关系模式进行合并,则关系模式:保险(保险单号,投保日期,保险费,人数,团号)3.4 3.4 数据库逻辑结构设计

27、数据库逻辑结构设计 方案1增加了系统的复杂性;方案2会造成旅游团关系中的保险单号属性的NULL值过多;方案3比较合理。最终转换的关系模式集合为:旅游团(团号,团名,地址,联系人,电话)保险(保险单号,投保日期,保险费,人数,团号)3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 2)联系类型1:n的转换方法【例3-2】联系类型1:n转换为关系模式的实例3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计解:首先将两个实体转换为两个关系模式:旅游团(团号,团名,地址,联系人,电话)旅客(旅客编号,姓名,性别,身份证号,地址,电话)再将联系转换为关系模式,有2种方案:方案1:将联系形成一个独立

28、的关系模式:组成(旅客编号,团号)方案2:将联系组成形成的关系和旅客关系模式进行合并,则关系模式为:旅客(旅客编号,姓名,性别,身份证号,地址,电话,团号)3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 为了降低系统的复杂性,一般情况下采用第二种方案。旅游团(团号,团名,地址,联系人,电话)旅客(旅客编号,姓名,性别,身份证号,地址,电话,团号)因此,如果两个实体之间是1对多的联系,且联系没有自身的属 性,只需要将1方实体集的标识符加入到多方实体集转换的关系 模式中。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 【例3-3】下图是同一实体集内部的一对多联系,将其转换为关系模式。同

29、一实体集内部的一对多联系3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计解:方案1:转换为两个关系模式:课程(课程编号,课程名,学分)先修(先修课程号,课程编号)方案2:转换为一个关系模式:课程(课程编号,课程名称,学分,先修课程号)其中,由于同一关系中不能有相同的属性名,故将课程的课程编号改为先修课程号。第二种方案的关系少,且能充分表达原有的数据联系语义,所以采用第二种方案会更好些。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计3)联系类型m:n的转换方法 一个m:n联系转换为一个独立关系。转换方法为:与m:n联系相连的实体集的标识符以及联系本身的属性均转换为关系的属性 新关系的码

30、为两个相连实体的标识符组合(该关系模式的码为多属性构成的组合码,也称多属性码)。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 【例3-4】联系类型m:n转换为关系模式的实例3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计解:根据实体间多对多的转换规则,转换的关系模式为:学生(学号,姓名,性别,班级)课程(课程编号,课程名称,学分,先行课)选修(学号,课程编号,成绩)此题能否采用其他方案呢?3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计学生(学号,姓名,性别,班级)课程(课程编号,课程名称,学分,先行课,学号,成绩)或 学生(学号,姓名,性别,班级,课程编号,成绩)课程(课程编

31、号,课程名称,学分,先行课)实体之间m:n的联系,联系必须转换为一个独立的关系模式。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 【例3-5】下图是同一实体集内部的多对多联系,将其转换为关系模式。同一实体集内部的多对多联系3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计解:根据实体间多对多的转换规则,转换的关系模式为:零件(零件编号,名称,单价)组装(组装件号,零件号,数量)其中,组装件号为组装后的复杂零件号。由于同一个关系中不允许存在相同的属性名,因此取名为组装件号。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计4)三个或三个以上实体集之间多元联系的转换方法(1)一对多的多

32、元联系转换为关系模型的方法 将与联系相关的其他实体集的标识符和联系自身的属性作为新属性加入到n端实体集中。(2)多对多的多元联系转换为关系模型的方法 联系必须转换一个独立的关系模式,该关系的属性为多元联系相连的各实体的标识符以及联系本身的属性,码为各实体转换为各自关系模式码的组合。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计【例3-6】多实体之间多对多联系实例3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计 采购员(采购员编号,姓名,联系电话)供应商(供应商号,供应商名,地址)商品(商品编号,商品名称,单价)采购(采购员编号,供应商号,商品编号,采购日期,采购数量)3.4 3.4

33、数据库逻辑结构设计数据库逻辑结构设计3子类型和超类型的转换规则将子类型和超类型转换为关系模式有两种方法:(1)超类实体和子类实体分别转换为单独的关系模式。(2)只将子类实体转换为关系模式,其属性包含超类实体的全部属性和子类的特有属性。在E-R模型转换为关系模型过程中,除了要遵循以上介绍的转换原则外,还应注意两点:1)命名和属性域的处理 2)非原子属性的处理3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计v 3.4.3关系模型优化 1优化方法 1)确定数据依赖 2)消除冗余的联系 3)分析数据依赖 4)判断是否合并或分解3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计2用户子模式的设计

34、1)使用更符合用户习惯的别名 2)对不同级别的用户可以定义不同的子模式 3)简化用户对系统的使用3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计v3.4.4逻辑结构设计案例 由高校图书管理系统的E-R图,可以得到下表所示的高校图书管理系统的一组关系模式及相关信息。3.4 3.4 数据库逻辑结构设计数据库逻辑结构设计读者类别(类别编号,类别名称,可借阅天数,可借阅数量,超期罚款额)读者(读者卡号,姓名,性别,单位,办卡日期,卡状态,类别编号)图书(图书编号,书名,类别,作者,出版社,出版日期,单价,库存数量)借阅(读者卡号,图书编号,借书日期,还书日期)3.5 3.5 数据库的物理结构设计数

35、据库的物理结构设计 指数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。设计的任务是选择合适的存储结构和存取路径(设计数据库的内模式)。内模式的设计可以不考虑用户理解的方便,其主要的设计目标有两个:(1)提高数据库的性能,特别是满足主要应用的性能要求;(2)有效地利用存储空间。3.5 3.5 数据库的物理结构设计数据库的物理结构设计v3.5.1影响物理结构的主要因素数据库的物理结构主要由以下因素决定:1)应用处理需求2)数据的特性3)数据的使用特性4)可用性要求5)应用环境 3.5 3.5 数据库的物理结构设计数据库的物理结构设计 数据库的物理设计可以分为两步进行:(1)确定数

36、据的物理结构,即确定数据库的存取方法和存储结构;(2)对物理结构进行评价,对物理结构评价的重点是时间和效率。3.5 3.5 数据库的物理结构设计数据库的物理结构设计v3.5.2物理结构设计的任务 任务:主要指选择存取方法和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。1关系模式存取方法的选择 索引方法、聚簇方法和Hash方法。3.5 3.5 数据库的物理结构设计数据库的物理结构设计(1)索引存取方法的选择 选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引,哪些属性列建立组合索引,哪些索引建立唯一索引等。选择索引方法的基本原则是:如果一

37、个属性(一组)经常在查询条件中出现,则考虑在这个属性上建立索引(组合索引)。如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。如果一个(一组)属性经常在连接操作的连接条件中出现,则考虑在这个(这个)属性上建立索引。关系上定义的索引数要适当,并不是越多越好,因为系统维护索引要付出代价。3.5 3.5 数据库的物理结构设计数据库的物理结构设计 (2)聚簇存取方法的选择 为了提高某个属性或属性组的查询速度,把这个属性或属性组上具有相同值的元组集中存放在连续的物理块上的处理称为聚簇,这个属性或属性组称为聚簇码。一个数据库可以建立多个聚簇,但一个关系只能加入一个聚簇。聚簇设

38、计的步骤:1)根据规则确定候选聚簇,设计候选聚簇的原则是:对经常在一起进行连接操作的关系可以建立聚簇。3.5 3.5 数据库的物理结构设计数据库的物理结构设计 如果一个关系的一组属性经常出现在相等、比较条件中,则该单个关系可建立聚簇。如果 一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。如果关系的主要应用是通过聚簇码进行访问或连接,而其他属性访问关系的操作很少时,可以使用聚簇。尤其当SQL语句中包含有与聚簇有关的ORDER BY,GROUP BY、UNION,DISTINCT等子句或短语时,使用聚簇特别有利,可以省去对结果集的排序操作。反之,当关系较少利用聚簇码操作时,最

39、好不要使用聚簇。3.5 3.5 数据库的物理结构设计数据库的物理结构设计 2)从候选聚簇中去除不必要的关系。检查候选聚簇,取消其中不必要关系的方法是:从聚簇中删除经常进行全表扫描的关系。从聚簇中删除更新操作远多于连接操作的关系。不同的聚簇中可能包含相同的关系,一个关系可以在某一个聚簇中,但不能同时加入多个聚簇。要从这多个聚簇方案(包括不建立聚簇)中选择一个较优的,其标准是在这个聚簇上运行各种事事务的总代价最小。3.5 3.5 数据库的物理结构设计数据库的物理结构设计建立聚簇应注意的问题 聚簇虽然提高了某些应用的性能,但是建立与维护聚簇的开销是相当大的;对已有的关系建立聚簇,将导致关系中的元组移

40、动其物理存储位置,这样会使关系上原有的索引无效,要想使用原索引就必须重建原有索引。当一个元组的聚簇码值改变时,该元组的存储位置也要做相应移动,所以聚簇码值应当相对稳定,以减少修改聚簇码值所引起的维护开销。3.5 3.5 数据库的物理结构设计数据库的物理结构设计 2确定数据库的存储结构 1)文件的物理存储结构设计 (顺序文件、链式、索引、散列文件)2)逻辑模式存储结构的设计 3)确定数据的存放位置 4)各类文件的物理存储设备的选取 5)确定系统配置 3.5 3.5 数据库的物理结构设计数据库的物理结构设计3物理结构的评价 物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其

41、结果可能会产生多种设计方案。3.5 3.5 数据库的物理结构设计数据库的物理结构设计v3.5.3物理结构设计案例由高校图书管理数据库的逻辑设计结果,在SQL Server 2012环境下,数据库的物理结构设计包括属性名,数据类型,数据长度,该属性是否允许为空值,是否是主码,是否为索引项及约束条件等。下列表详细列出了图书管理数据库中各关系的设计情况。3.5 3.5 数据库的物理结构设计数据库的物理结构设计3.5 3.5 数据库的物理结构设计数据库的物理结构设计3.6 3.6 数据库的实施数据库的实施 数据库实施阶段主要任务是根据数据库逻辑结构和物理结构设计的结果,在实际的计算机系统中建立数据库的结构、装载数据、测试程序、对数据库的应用系统进行试运行等。1建立数据库的结构2数据的装载和应用程序的编制调试3数据库的试运行 1)测试应用程序功能 2)测试系统的性能指标3.7 3.7 数据库的运行和维护数据库的运行和维护 在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的。数据库的维护工作包括以下4项。1)数据库的转储和恢复2)数据库的安全性、完整性控制3)数据库性能的监督、分析和改造4)数据库的重组与重构

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《数据库原理与应用》课件ch3数据库设计.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|