第2章数据库建模.ppt

上传人:sccc 文档编号:5901344 上传时间:2023-09-01 格式:PPT 页数:34 大小:261.54KB
返回 下载 相关 举报
第2章数据库建模.ppt_第1页
第1页 / 共34页
第2章数据库建模.ppt_第2页
第2页 / 共34页
第2章数据库建模.ppt_第3页
第3页 / 共34页
第2章数据库建模.ppt_第4页
第4页 / 共34页
第2章数据库建模.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《第2章数据库建模.ppt》由会员分享,可在线阅读,更多相关《第2章数据库建模.ppt(34页珍藏版)》请在三一办公上搜索。

1、2023/9/1,1,数据库系统基础教程,主讲教师:王庆鹏,2023/9/1,2,第二章 数据库建模,ODL介绍实体联系图设计原则子类对约束的建模弱实体集历史上有影响的模型,2023/9/1,3,数据库设计步骤,2023/9/1,4,数据库建模和实现的过程,两种设计表示法:实体联系模型(E/R)、ODL通常的设计过程:想法(分析认识)建模(ODL/ER)转化为关系模型(因为常用、市场化程度高)关系DBMS其中:机械化和自动化实现模型到具体数据库的转换,2023/9/1,5,ODL介绍,面向对象的设计接口说明ODL属性ODL中的联系反向联系联系的多重性ODL中的类型,2023/9/1,6,ODL

2、,ODL 对象定义语言,是面向对象的术语,说明数据库结构的标准语言,是IDL(接口定义语言)的扩展,是CORBA的一个组件主要用途:书写面向对象数据库的设计面向对象:类和对象对象:面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。,2023/9/1,7,面向对象的设计,对象化世界:把准备模型化的世界看成对象组成的,对象是某种可观察的实体。对象举例:张三、数据库课程、深圳大学类:具有相似特性的对象。学生、大学等类和对象:学生 和 张三,富翁和比尔盖茨说明一个ODL类的设计必须描述的特征:属性:特性。一般由基本数据类型构成联系:和其他对象的关系方法

3、:能用于该类对象的函数。(以后强调),2023/9/1,8,接口说明,1、类的说明(也就是接口说明)三要素:关键字interface接口的名字(也就是类名)特性表(用花括号括起来,包括属性、联系和方法)2、例子:interface 学生attribute string name;.;属性后面用分号作为分隔符,2023/9/1,9,ODL中的属性,属性:对象有很多特性,每一个特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。例如:人的名字,字符串型。例子interface 学生attribute string 姓名;attribute integer 年龄;attrib

4、ute string 专业;.;对象(“黎莉莉”,22,“电子商务”),2023/9/1,10,ODL中的联系,与同类或者其他类的对象连接的方式relationship 例如:影星和电影,是两个对象电影中影星云集的多值联系Interface 电影.relationship Set stars;.;蓝色的是关键字,Star 是类型名,stars是联系名。电影中只有一个影星的单值联系Interface 电影.relationship Star starOf;.;蓝色的是关键字,Star 是类型名,starOf是联系名。,2023/9/1,11,反向联系,影星主演的所有电影Interface sta

5、r.relationship Set starredIninverse Movie:stars;.;关键字inverse 和另一个联系的名字放在每个联系的说明中来表示两个联系中的关联机制。如果另一个联系在其他某个类中,那么通过类名、双冒号和联系名来引用这个联系。,2023/9/1,12,联系的多重性,联系及其反向联系的唯一性要求称为联系的多重性。三种常见的多重性:多对多、多对一、一对一。,多对多,多对一,一对一,2023/9/1,13,ODL中的类型,为类的属性等描述提供类型两类:基本类型和复杂类型基本类型包括原子类型和接口类型原子类型:整型、浮点型、字符型、枚举型等接口类型:也就是结构类型,

6、是属性和接口的联系所对应的各种分量组成。结构类型:集合、包、列表、数组、结构聚集类型:集合、包、列表、数组的统称。规则1:属性类型首先是由原子类型或者域是原子类型的结构组成。规则2:联系的类型是接口类型或者是应用于接口类型的聚集类型。推论:属性的类型不能是接口类型,联系的类型不能是原子类型。属性类型仅有的四种可能性:原子类型、原子类型组成的结构、原子类型的聚集、原子类型组成的结构的聚集,2023/9/1,14,2.2 实体联系图,ER图三个主要部分:实体集、属性、联系实体集实体 类 对象一个典型的实体联系图(课本30页)ER联系的多重性:箭头表示联系的多向性:菱形连线联系中的角色:实体集和联系

7、之间的连线联系中的属性:有时可以把属性和联系相连,2023/9/1,15,概念设计中的数据描述,实体(entity):客观存在,可以相互区别的事物称为实体。实体集(entity set):性质相同的同类实体的集合,称为实体集。属性(attribute):实体有很多特性,每一个特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。实体标识符(identifier):能惟一标识实体的属性或属性集,称为实体标识符。有时也称为关键码(key),或简称为键。,2023/9/1,16,数据联系的描述(一),定义 联系(relationship)是实体之间的相互关系。与一个联系有关的实

8、体集个数,称为联系的元数。定义 二元联系有以下三种类型(联系的多重性):一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。,2023/9/1,17,一对一联系,一对一

9、联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。,2023/9/1,18,一对多,一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。,2023/9/1,19,多对多联系,多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。,2023/9/1,20,实体联系模型(一),定义

10、 ER图有三个基本成分:矩形框,用于表示实体类型(考虑问题的对象)。菱形框,用于表示联系类型(实体间联系)。椭圆形框,用于表示实体类型和联系类型的属性。,2023/9/1,21,实体联系多重性,箭头表示ER多重性如果一个联系是从E到F的多对一联系,就画一个指向F的箭头(就是说:指向一)一对一联系,丈夫,妻子,婚嫁,2023/9/1,22,联系的多向性,E/R图的多向联系通过从菱形的联系到所涉及的每个实体集之间的连线来表示。在多向联系中,指向实体集E的箭头意味着如果我们从该联系的每个其他实体集中选择一个实体,那么这些实体将和E中唯一的实体相关。,2023/9/1,23,角色,在一个联系中,一个实

11、体集可能出现两次或者多次。如果是这样,那么一个实体集在联系中出现多少次我们就从这个实体集画多少条线。到实体集的每条线代表该实体集所扮演的不同角色,我们把名字标记在实体集和联系之间连线的侧面,称它为”角色”,2023/9/1,24,实体联系模型(二),例:为仓库管理设计一个E-R模型。仓库主要管理零件的采购和供应等事项。首先确定实体类型。本问题有三个实体类型:零件PART,工程项目PROJECT,零件供应商SUPPLIER。确定联系类型。PROJECT和PART之间是M:N联系,PART和SUPPLIER之间也是M:N联系,分别命名为P_P和P_S.把实体类型和联系类型组合成ER图。确定实体类型

12、和联系类型的属性。确定实体类型的键,在ER图中属于码的属性名下画一条横线。,2023/9/1,25,实体联系模型(三),图,2023/9/1,26,实体联系模型(四),例,2023/9/1,27,数据库设计原则,真实性:忠于规范,反映事实避免冗余:只表达一次简单性:避免过度设计,不引入过多元素合适的元素类型:属性?类/实体集?取决于信息的复杂程度,2023/9/1,28,子类,ODL中的子类:冒号加其他类列表ODL中的多重继承E/R中的子类:三角形,ISAE/R 中的继承,2023/9/1,29,对约束的建模,约束的粗略分类(五类):键码:唯一标示单值约束:角色的值唯一参照完整性约束:对象引用

13、的值在库中存在域的约束:属性值取自特定域一般约束:任意断言(其他约束)键码单值约束参照完整性约束E/R中的参照完整性其他约束,2023/9/1,30,弱实体集,定义:组成一个实体集键码的属性中的一些或者全部属于另一个实体集,这样的实体集称为弱实体集来源(2个):实体集属于一种层次结构:电影组和其所属的制片公司连接实体集:没有自己的属性弱实体集的表示法:双边矩形、双边菱形,2023/9/1,31,其他模型,网状模型层次模型,2023/9/1,32,1.4.3 层次模型,用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(hierarchical model)。层次模型的特点是:记录

14、之间的联系通过指针来实现,查询效率较高。与文件系统的数据管理方式相比,层次模型是一个飞跃,用户和设计者面对的是逻辑数据而不是物理数据,用户不必花费大量的精力考虑数据的物理细节。逻辑数据与物理数据之间的转换由DBMS完成。层次模型有两个缺点:一是只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握;二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。,2023/9/1,33,1.4.4 网状模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型(network model)。网状模型的特点是:记录之间联系通过指针实现,M:N联系也容易实现(一个M:N联系可拆成两个1:N联系),查询效率较高。网状模型的缺点是:数据结构复杂和编程复杂。,2023/9/1,34,小 结,关系数据库系统是目前使用最广泛的数据库系统,本书的重点也是讨论关系数据库系统。本章系统地介绍了关系数据库的一些基本概念,其中包括关系模型的数据结构、关系的完整性及其关系操作。结合实例详细介绍了关系代数和关系演算两种关系运算,讲解了关系代数、元组关系演算语言(ALPHA、QUEL)和域关系演算语言(QBE)的具体使用方法。这些概念及方法对理解本书的内容非常重要。,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号