收藏 分享(赏)

高级数据库系统及其应用.ppt

上传人:weiwoduzun 文档编号:4301796 上传时间:2018-12-21 格式:PPT 页数:35 大小:409.50KB
下载 相关 举报
高级数据库系统及其应用.ppt_第1页
第1页 / 共35页
高级数据库系统及其应用.ppt_第2页
第2页 / 共35页
高级数据库系统及其应用.ppt_第3页
第3页 / 共35页
高级数据库系统及其应用.ppt_第4页
第4页 / 共35页
高级数据库系统及其应用.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、第1部分 数据库系统基础第3章 数据库设计,高级数据库系统及其应用,第3章 数据库设计,ER数据模型,3.1,EER数据模型,3.2,逻辑数据库设计:映射ER/EER模式到关系模式,3.3,关系模式求精与规范化,3.4,DB应用,DB应用定义:一个特定的数据库,加上实现此数据库查询/更新的相关程序。 概念设计是成功设计DB应用的一个环节。 实体-关系模型(Entity-Relation model),简称ER模型,是一种非常流行的概念数据模型。 EER是基于ER的扩展模型(Enhanced ER model) ER/EER已被广泛应用于DB概念设计。它们均以图形化方式描述和捕获用户需求。 基于

2、ER/EER进行概念设计的输出为一组ER/EER图。 基于概念模型的设计,最终都必须变换/转换到可在DB中实现的逻辑数据模型。 借助RDB设计有关规范理论,不仅可对转换后的逻辑数据模式进行规范,而且可对ER/EER图进行求精。,DB设计的主要阶段与过程,DB设计的基本步骤(1),1. 需求分析 2. 概念DB设计 利用需求分析获得的信息,建立DB数据的一个抽象描述。 这一步通常利用ER/EER模型,或其它高级数据概念模型(如UML类图),来实现。 3. 逻辑DB设计 转换DB概念设计模式到指定DBMS逻辑模式。 由于需求信息本身带有很大主观性,故基于需求信息构造的ER/EER图只能提供数据的一

3、个近似描述。 4. 模式细化 5. 物理DB设计 6. 安全设计,DB设计的基本步骤(2),1. 需求分析 2. 概念DB设计 3. 逻辑DB设计 4. 模式细化 分析关系数据库模式的关系集,检查潜在问题并进行优化。与需求分析和概念设计的主观性特点不同,细化可得到强有力的规范理论支持。 5. 物理DB设计 考虑应用必须支持的一些典型预期负荷,并以此为基础进一步求精DB设计,确保它能满足预期的性能要求。 这个步骤可能包括为一些表建立索引,或指定聚集存储方式等。 6. 安全设计,3.1 ER数据模型,3.1.1 实体类型、实体集、属性和键,3.1.2 关系、关系类型和关系集,3.1.3 ER模型的

4、其他特性,ER模型简介,1. 构成ER模型的基本概念 实体与属性 实体类型、实体集与键 实体类型:定义了具有相同属性的实体模式结构,由名和属性来描述。 实体集:具有相同实体类型的所有实体集合。 实体类型描述了相同结构实体集的模式或内涵; 实体集则描述了实体类型的外延。 ER图中不区分实体类型和实体集(被视为同义词)。 关系、关系类型和关系集 ER模型的其它概念, ER图表示规定 实体集:用加矩形外框的名字来表示。 属性名:则用椭圆框起,并用直线与实体集相连。 多值属性:用双线椭圆框起; 复合属性:用名字后加注结构成份表示; 键属性:通过属性名加下划线来标识。, ER图表示规定 关系集:用名字外

5、加菱形框表示,并用直线将其与参与实体集的矩形框相连。,ER图设计举例(1),ER图设计举例 (2),ER模型的其它概念,关系属性 关系集也可以有自己的描述属性,用来刻画关系集本身的性质,而不是某个参与实体集的性质。 关系约束 指与关系集相关的约束,通过约束表达可限制参与关系各实体的可能组合。 主要类型:基数词约束、键约束和参与约束。 弱实体集 指只能附属其它实体集而存在的实体集。,在ER图中表达关系基数词和参与约束,弱实体集的几种ER建模方法(图3.5),3.2 EER数据模型,3.2.1 EER模型核心概念的形式定义,3.2.2 子类、超类与类层次结构,3.2.3 特化与泛化,3.2.4 利

6、用union子类建模,3.2.5 值集属性与复合结构属性的建模表示,3.2.6 EER与UML类图比较,3.2.7 EER作为知识表示模型,3.2.8 为大型企业/组织进行DB概念设计,EER核心概念(1),类 指实体的集合或实体集,这包括可对DB应用域实体分组的任何EER模式构造,如实体类(型)、子类、超类和类别。 EER中,任何类都允许参与一个关系。 子类、超类 子类S是一个类,子类中的实体必然是其超类C中实体的一个子集,即有关系:SC 成立 超类/子类关系也称为ISA关系,记做C/S。 子类实体除了可以从超类实体中继承所有的属性外,还可以有自己专有的属性和关系。,EER核心概念(2),特

7、化 特化ZS1,S2,Sn是具有相同超类G的一个子类集合,每个G/Si是一个超类/子类关系。G被称为泛化实体类型。 用“特化”指代由特化过程所获得的-特化子集。 特化的种类(约束) 完全特化与部分特化; 不相交特化与重叠特化。 两类约束相互独立,可以组合出四种约束。 泛化 是特化的逆过程,允许我们忽略多个实体集之间的性质差异,找出它们的共同点抽象出超类。,特化是概念上的求精,而泛化则是概念上的综合。 显然,由泛化获得超类方法,易得到完全特化的子集。,特化及其约束的EER表示,EER核心概念(3),类别(category) 类别有时也被称为union子类。 类别T是一个类,它是n个判定超类D1,

8、D2,Dn(n1)并集的一个子集。 其形式表示为:T(D1D2Dn) union子类的约束 完全约束:子类包含了其所有超类并集中的所有成员; 部分约束:子类只包含并集的一个子集。,UNION子类及其约束的EER表示(图3.8 ),基本ER模型与UML类图的特性对比,Company DB模式的EER表示,Company DB模式的UML表示,3.3 逻辑数据库设计:映射ER/EER模式到关系模式,3.3.1 映射常规实体集到关系表,3.3.2 映射关系集到关系表,3.3.3 映射弱实体集,3.3.4 映射带有聚集关系的ER图,3.3.5 映射EER扩展结构,3.3.6 ER模型至关系模型映射小结

9、,3.3 映射ER/EER模式到关系模式,ER/EER模型适合于初始阶段、抽象层次较高的DB概念设计。 给定一个概念设计模式(ER/EER图),现已有一套标准方法可将它们映射到关系DB模式,但这种转换还只是近似的。 DB模式:一组表+ 约束集 基于SQL-92,我们尚无法捕获隐含在ER/EER设计中的所有约束。 本节我们将介绍从ER/EER模式创建关系模式的方法和过程。,映射常规实体集到关系表,一个常规实体集可直接地映射到一个关系表: 将实体集的每个属性,作为关系表的一个属性。 用SQL-92 DDL建表语句基本上可以完全捕获这些信息,包括域约束和主键约束。,映射关系集到关系表,(一)映射含键

10、约束的关系集 方法1:独立关系表法 映射关系集R到独立的关系表R。,映射关系集到关系表,(一)映射含键约束的关系集 方法1:独立关系表法 方法2:外键方法 将关系集的相关信息合并到具有键约束的参与实体集中(一对多关系的一端)。,映射关系集到关系表,(一)映射含键约束的关系集 方法1:独立关系表法 方法2:外键方法 方法3:合并关系法 若关系集的所有参与实体集都有键约束且都是完全参与。这时,也可合并所有参与实体集到一个关系。 (二)在映射关系集时考虑参与约束 图3.9(a)中的Manages,除了键约束(每部门至多有一经理)外,还含有一完全参与约束(每部门至少需要有一经理)。考虑到这一点,Dep

11、t_Mgr:ssn应设置NOT NULL。 (三)无键约束和参与约束的关系集映射 对这类关系集,一般只能用独立关系表法(方法1)进行映射。,映射弱实体集,弱实体集总是参与一对多的二元关系,且有一个键约束和完全参与约束。 前面讨论的映射关系方法2(外键法)是一种较理想的转换方法。但要考虑弱实体中只含有部分键这个情况。,映射EER扩展结构多值/复合结构属性,关系模式不支持多值属性,必须为关系模式中的每个多值属性,分别创建一个独立的关系。 令关系模式为R,MA是R的一个多值属性,为MA创建的关系表为M。 M的属性应包含R的主键属性k ,以便关联到R。 原关系模式R中可去掉多值属性MA. 令关系模式为

12、R,CA是R的一个复合属性。对于CA,有两种建模方法: 方法1:将复合属性的每个结构成份,分别作为一个属性,加到所属的关系表中。 方法2:为复合属性CA单独建立一个关系表。,映射EER扩展结构类层次结构,映射处理EER图中的ISA层次结构。 假设超类C被特化为m个子类S1 , , Sm Attr(C) = k, a1 , , an,PK(C) = k。 方法1:映射超类和每个子类到一个不同的表。,映射EER扩展结构类层次结构,方法1:映射超类和每个子类到一个不同的表。 方法2:仅创建子类关系表。 为每个子类Si(1im)创建一个关系Li,且有属性Attr(Li)= k, a1, , an Si

13、的其它专有属性, PK(Li)=k。 该方法只适用于超类完全参与的特化类型。 方法3:仅创建含1个类标志属性的单个关系。 方法4:仅创建含m个类标志属性的单个关系。 该方法能适应子类有重叠特化的情况,但会产生大量的null值。,映射EER : union子类 (1),1)对超类实体集有各自不同键的情况 在创建与union子类对应的关系表时,通常需要指定一个新的键属性-代理键(surrogate key)。2)对超类实体集有有相同键的情况 这时,无需使用代理键。,ER模型至关系模型映射小结,步骤1:映射常规实体集。 步骤2:映射弱实体集。 步骤3:映射ER模式中的关系集。 步骤4:映射ER模式中的聚集关系集。 步骤5:映射与EER模型相关的扩展结构。,3.4 关系模型求精与规范化,3.4.1 模式求精问题,3.4.2 函数依赖,3.4.3 基本规范范式,3.4.4 无损分解与依赖保持分解,3.4.5 分解与规范化关系模式,3.4.6 多值依赖与第四规范,

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

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报