




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页,第5章关系模型,本章概述本章的学习目标主要内容,第2页,本章概述,前面三章分别介绍了建立数据库模型的ER图、IDEF1x图和ODL方法,这些方法可以很好地描述各种数据库将要包含的信息,建立完整的数据模型。当前,关系模型是应用最广泛的数据模型,它具有严格的理论体系,是许多数据库厂商推出的商品化关系型数据库系统的理论基础。在当今的数据库市场上,Oracle、MicrosoftSQLServer、IBMDB2、MySQL以及MicrosoftAccess、VisualFoxPro等商品化关系型数据库系统都占据着一定的份额。由于关系模型的重要性,从本章开始,本书将用部分篇幅介绍关系模型的原理和应用,使读者掌握最基本和最重要的数据库理论和应用知识。,第3页,本章的学习目标,学习和掌握关系模型的基本概念;掌握从ER图到关系模型设计的转换技术;掌握ER图中联系的转换形式;了解和掌握从IDEF1x图到关系模型设计的转换知识;掌握从ODL设计到关系模型设计的基本转换技术;掌握ODL设计中联系转换技术。,第4页,主要内容,5.1基本概念5.2从ER图到关系模型设计的转换5.3从IDEF1x图到关系模型设计的转换5.4从ODL设计到关系模型设计的转换5.5本章小结,第5页,5.1基本概念,关系模型是一种以二维表的形式表示实体数据和实体之间关系等信息的数据库模型,其中,由于二维表在数学公式中一般称为关系,因此把该模型称为关系模型。图5-1是一个关系的实例,其名称是Book。在关系模型中,基本元素包括属性、模式、元组、域、键码、关系等价表示法以及关系实例等。,第6页,属性,在二维表中,关系的第一行称为属性(attribute),它描述了属性所在列各项的含义。例如,在如图5-1的关系中,属性是isbn、title、page、bookType、year和price,其中属性isbn所在列存放了图书的标准书号,属性title存放了图书的书名,属性page存放了图书的页数,属性bookType存放了图书的类型,属性year存放了图书出版的年份,属性price存放了以人民币元为货币单位的图书价格。,第7页,模式,关系名和关系的属性集称为关系的模式。一般地,模式的表示形式有两种:第一种表示方式是:模式名加上圆括号括起来的属性集;第二种表示方式是使用模式名加上等号,然后是使用圆括号括起来的属性集。这两种表示形式如图5-2所示。为了统一,本书采用模式的第一种表示方式。在关系模型中,数据库设计包含了一个或多个关系模式。关系数据库模式就是关系模式的集合,简称数据库模式。,第8页,元组,在关系模式中,除了第一行是标题栏之外,关系中的其他行称为元组。元组实际上是关系中的数据。元组的各分量分别对应于关系中的各个属性。例如,在图5-1所示的Book关系中,有13个元组,每个元组都有6个分量,这些分量分别对应于关系的6个属性,如isbn、title、page、bookType、year和price。例如,在Book关系中,第一个元组的6个分量分别是7-5327-1224-9/I717、基督山伯爵、1428、文学、1992和18.0,各分量分别表示书号、书名、页数、图书类型、出版年份和价格。当需要表示关系中的一个元组时,一般将一个元组的各个分量按照属性的标准排列顺序列表在一个圆括号内,分量之间使用逗号分开。,第9页,元组的形式化表示方法,第10页,域,在关系模型中,要求组成元组的每个分量都是不可再分割的原子型,即这些分量必须属于某种基本类型,例如整数型、浮点型和字符型等。不允许某个属性值属于记录结构、集合、列表、数组或可以合理地分解成更小分量的任何类型。由于在ODL定义中,属性可以包括这些记录结构、集合、列表及数组等类型,因此ODL中的属性不能直接转换成关系中的单个属性,但是可以转换成多个属性等。一般地,把与关系中的每个属性相关的特定类型称为域,那么关系中任何元组的每个分量都必须在相应列的域中取值。,第11页,关系的等价表示方法,前面已经讲过,关系的模式和元组都是集合,不是列表。因此,关系的模式和元组的顺序不重要,无论模式中属性的顺序或元组的顺序如何变换,只要是模式中的属性和元组本身没有变化,那么得到的关系模式都是相同的。这种方式称为关系的等价表示方法。例如,把图5-1中的13个元组的顺序任意排列,而得到的关系都是与图5-1中的关系相同。,第12页,关系实例,一般情况下,与图书有关的关系不是静止的,而是不断变化的,且这些变化主要反应在关系模式的元组中。例如,当在数据库中增加图书时,就在关系Book中插入一个新元组;如果要对数据库中的图书信息进行修改时,就修改关系中现有的元组;如果由于某种原因需要把某本图书从数据库中清除掉时,就可以从关系中删除相应的元组。关系模式与元组不同,关系模式时比较稳定的,很少发生变化。虽然也存在向关系中增加属性或从关系中删除属性的情况,但较少。另外,模式修改的成本也非常高,例如需要修改某些应用程序代码、需要为成千上万个元组增加或删除一些分量、很难找到元组中新分量的取值等。习惯上,把给定关系中元组的集合称为关系实例。,第13页,键码,在前面建立数据库模型过程中,多次提到了键码的概念。在关系模型中,键码的概念与前面提到的概念非常类似。如果关系中的所有元组在一个属性或多个属性的集合中都互不相同,即可以使用该属性或属性的集合来确定关系中的元组,那么该属性或属性的集合称为关系中的键码。,第14页,主要内容,5.1基本概念5.2从ER图到关系模型设计的转换5.3从IDEF1x图到关系模型设计的转换5.4从ODL设计到关系模型设计的转换5.5本章小结,第15页,5.2从ER图到关系模型设计的转换,由于现在广泛使用的是关系模型,所以这些模型设计出来之后,还需要把它们转换成相对应的关系模型,然后才可以在关系型数据库管理系统中存储。从本节开始,将讲述如何把数据库模型转换成相对应的关系模型。首先介绍如何把ER图转换成关系模型,这种转换过程示意图如图5-8所示。,第16页,ER图和关系模式的比较,ER图与关系模式是非常一致的,无论是从历史发展的角度,还是从市场应用的角度来看,ER图和关系模式都是紧密结合在一起的。因此,经常把ER图的设计作为关系模式设计的开始阶段,且从ER图到关系模式的转换是经常性的。但是,ER图与关系模式还存在着一些差别,正是因为这些差别,使得从ER图到关系模式的转换需要一定的技术,而不是完全的直观转换。ER图和关系模式的主要区别在下面四个方面:第一,在ER图中,联系集作为独立的概念存在,而不是作为实体集的属性。在关系模式中,没有与联系集对应的概念。第二,在ER图中,没有严格的定义属性的数据类型,但一般允许结构化数据的存在,例如Press实体集中的地址可以是一个结构的聚集。在关系模式中,强调属性的数据类型是原子类型的,不能再进行分割。第三,在ER图中,联系集可以有属性,但是在关系模式中,由于没有联系集的概念,所以联系集也没有属性的存在。第四,在ER图中,有特殊化、概括和继承等概念,而在关系模式中没有相应的概念。,第17页,实体集到关系模式的转换,首先研究实体集到关系转换的情况,这里提到的实体集不包括弱实体集的情况。一般来说,对于每个非弱实体集,在关系模式中建立一个与其同名且具有相同属性集的关系。该关系不包括任何与实体集有关的联系信息。,第18页,联系集到关系模式的转换,现在研究ER图中联系集到关系模式的转换。一般地,ER图中的联系集也可以直接转换成关系。只是在转换之前,需要确定联系集应该具有的属性,因为转换后的关系将包含与该联系集所有有关的属性。最终在关系中应该包括的这些属性来自两个方面:该联系集涉及到的每个实体集的键码属性或属性集;该联系集本身具有的属性。,第19页,弱实体集到关系模式的转换,弱实体集可以直接转变成关系模式。弱实体集本身对应的关系模式包含了弱实体集本身的属性和构成该弱实体集的键码的其他实体集的键码属性。处理弱实体集时,有一个特殊情况,即与弱实体集相关的双边菱形联系不需要转换成关系。这是因为这种双边菱形联系的属性是弱实体集本身属性集的子集。这种双边菱形联系的作用主要是为了找到弱实体集的键码属性,它不能提供其他有关的信息。下面研究几个示例。,第20页,ER图中其他元素的转换,图5-15是一个包含了特殊化技术绘制的ER图(与图2-29相同),实体集之间具有层次结构。这种ER图的特点是:通过与isa联系有关的实体集进行扩展。在对ER图进行转换时,首先为每个实体集建立一个关系,并且只将实体集的属性赋给该关系,然而为了识别与每一个元组有关的实体集,需要包括每个实体集的键码属性。由于从ER图转换到关系模型,需要把有关ER图的属性和联系的信息分成几个单独的关系,结果是某些子类的信息就分散到了几个不同的关系中。,第21页,键码的转换,规则一,如果关系来自一个实体集,那么实体集的键码就是该关系的键码。规则二,如果关系来自一个二元联系集,则该联系集的多重类型将会影响到该关系的键码。,第22页,主要内容,5.1基本概念5.2从ER图到关系模型设计的转换5.3从IDEF1x图到关系模型设计的转换5.4从ODL设计到关系模型设计的转换5.5本章小结,第23页,5.3从IDEF1x图到关系模型设计的转换,IDEF1x图与ER图不同。IDEF1x图是一种规范数据库设计方法,它具有严谨的语法和精确的语义。在IDEF1x图的绘制过程中,虽然也涉及了实体、联系、属性和键码等元素,但是由于IDEF1x图的绘制过程本身已经考虑了信息冗余、键码迁移等问题,所以把IDEF1x图转换成关系模式过程比较简单。需要做的工作就是把IDEF1x图中的各种实体转换成相应的关系模式,实体中的键码转换成相应的关系模式中的键码。,第24页,图书的IDEF1x图转换,book(isbn,press_id,name,deptNo,title)author(id,name,birthplace)press(press_id,press_name,press_address,press_postcode)editor(name,deptNo)dept(deptNo,deptName,duty,telephone)writeBook(isbn,id),第25页,主要内容,5.1基本概念5.2从ER图到关系模型设计的转换5.3从IDEF1x图到关系模型设计的转换5.4从ODL设计到关系模型设计的转换5.5本章小结,第26页,5.4从ODL设计到关系模型设计的转换,研究了ER图和IDEF1x图的转换之后,下面研究如何从ODL设计向关系模型设计的转换。相比之下,ER图和IDEF1x图向关系模型设计的转换比较直接,ODL设计向关系模型的设计转换比较复杂,因为ER图和IDEF1x图主要是为关系型数据库管理系统提供数据库模型,而ODL设计主要是为面向对象数据库管理系统提供数据库模型。但由于在从ODL设计向关系模型的设计转换过程中涉及到了关系模型的许多理论上的问题,研究这种转变过程有助于读者对关系模型有更加深入的理解。因此,学习这种转换技术非常有益。,第27页,ODL设计和关系模式设计的比较,ODL设计与关系模式设计有很大的差别。从设计思想上看,ODL是一种面向对象的设计方法,采用了封装属性、联系和方法等特性的类形式,而关系模式是一种面向实体的以二维表结构为基础的数据库模式。因此,在从ODL设计向关系模式设计转变过程中,涉及到的主要问题包括:ODL设计中使用了许多非原子的属性,而关系模式中的属性都是原子类型,在转换过程中需要处理这种问题。ODL设计中封装了对象之间的联系,这些联系经常是多值的。因此,这种转换需要特殊的技术。ODL设计中有子类的概念,而关系模式没有这种概念。,第28页,从ODL属性到关系模式的属性,假设目标是为每一个类建立一个对应的关系,类中的每一个特性(不包含方法特性)都对应关系的一个属性。为了保证这种转换的成功,假定两个限制条件:第一,类的所有特性都是属性,不是联系或方法;第二,属性的类型都是原子的,不是结构或聚集。,第29页,ODL设计中非原子属性的转换,首先讨论属性的数据类型是结构的情况。因为在结构中,域本身都是原子类型,所以这种形式的转换比较简单,转换的原则是简单地扩展结构的定义,使结构中的每个域都对应关系中的一个属性。结构不是ODL定义中最复杂的属性类型。ODL定义中的属性值可以使用集合、列表、包和数组等类型构造符构造出来。当把这些类型移植到关系模式时,都会遇到问题。首先研究最为常见的集合类型构造符。如果属性A是一个多值集合,那么可以针对该属性的每个取值建立一个元组。当然,该元组除了包含属性A之外,还包括其他相关的属性。,第30页,其他类型构造符的表示形式,包构造符的特点是允许同一个元组在关系中多次重复出现。因此,为了表示出其这种特性,可以在关系中引入一个新属性bagCount,使用该属性来表示包中某一个元组在关系中出现的次数。列表构造符的特点是元组在关系中出现的顺序也是非常重要的。因此,应该在最后的关系中表示出这种特点。为此,引入一个表示元组在列表中的位置的属性bagPosition,使用该属性的值来表示列表中的元组出现的位置。数组构造符的特点是元组的个数是定长的。因此,可以使用带有数组位置标志的属性来表示。在向关系模式转换时,数组构造符的转换需要在关系模式中引入与数组个数相同的属性。,第31页,ODL设计中联系的转换,实际上,在ODL定义中,联系特性也是非常常见的一种特性。与属性特性相比,联系特性的组成类似于属性特性,也是由数据类型和特性名组成。属性特性与联系特性之间的最大差别是属性特性的数据类型是原子类型或原子类型的聚集,而联系特性的数据类型是接口类型或接口类型的聚集,且联系特性的数据类型不能是结构形式。虽然在联系特性的数据类型中涉及到接口类型,但是在实际的转换过程中可以把涉及到的接口,用类中的键码来表示。键码是由一个或多个属性组成的,所以可以像对待一般的属性特性那样来处理联
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旧外墙喷漆改造施工方案
- 债务重组协议债务减免与清偿期限
- 2025国家电投所属中国电力招聘笔试参考题库附带答案详解
- 2024-2025学年人教版8年级数学上册《 整式的乘法与因式分解》综合训练试题(含解析)
- 2025年抗菌药物合理使用培训考核题及答案
- 2023年度安全监察人员考前冲刺试卷附答案详解【基础题】
- 2025年电梯考试通关题库含答案详解【典型题】
- 2024年高职单招测试卷附完整答案详解(有一套)
- 期货从业资格之《期货法律法规》强化训练题型汇编附答案详解【培优】
- 2024-2025学年度电梯考试题库及参考答案详解(突破训练)
- 2025年招投标管理考试题库
- 渠道维护协议书
- Unit 2 Home Sweet Home 重点短语和句式-人教版英语八年级上册
- 黄体破裂护理常规课件
- 防治大气污染课件
- 环境监测质量管理课件
- 国际音标教学课件
- 2025-2030中国可变磁阻旋转变压器行业产销状况与应用趋势预测报告
- (高清版)DB31∕T 310001-2020 船舶水污染物内河接收设施配置规范
- 诊所治疗室管理制度
- 2025年高考英语全国二卷听力试题真题及答案(含MP3+原文)
评论
0/150
提交评论