数据库SQL ServerSQLite教程课件:关系数据模型与关系运算_第1页
数据库SQL ServerSQLite教程课件:关系数据模型与关系运算_第2页
数据库SQL ServerSQLite教程课件:关系数据模型与关系运算_第3页
数据库SQL ServerSQLite教程课件:关系数据模型与关系运算_第4页
数据库SQL ServerSQLite教程课件:关系数据模型与关系运算_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系数据模型与关系运算2.1数据模型概述2.2关系数据模型2.3关系运算

2.1数据模型概述

2.1.1数据模型的定义数据模型(DataModel)是对现实世界数据特征的抽象,如数据的组成、数据之间的联系等。现实世界中的实体不仅具有数据特征,还具有其他特征,如行为特征等。但对于数据模型而言,只关心实体的数据特征。数据模型是描述现实世界实体、实体之间的联系以及语义约束的模型。

2.1.2数据模型的分类

根据对现实世界数据抽象层次的不同,可将数据模型分为概念数据模型和结构数据模型。两种数据模型之间的关系如图2-1所示。

概念数据模型又称语义数据模型,强调从用户的角度来描述现实世界的数据特征,着重于对实际数据需求的获取和表达,应该简单、清晰、易于用户理解。图2-1概念数据模型与结构数据模型之间的关系

结构数据模型又称逻辑数据模型,是用户从数据库看到的模型,强调从数据库的角度来进行数据建模,具体表现为网状数据模型、层次数据模型等。数据库的逻辑结构包括数

据结构、数据操作和数据约束三个要素。结构数据模型是DBMS的逻辑基础,任何一个DBMS都是基于某种特定的结构数据模型的,既要面向用户,又要面向系统。

2.1.3E-R模型

在数据库领域已经提出了多种概念数据模型建模的方法,其中最著名和最流行的是E-R模型。

E-R模型(Entity-RelationshipModel,实体-联系模型)是由美国路易斯安那州立大学的华裔教授PeterP.Chen于1976年提出的。E-R模型提供不受任何DBMS约束的面向用户

的表达方法,建模思想简单,语义表达能力强,一经推出,立即受到了工业界的欢迎,在数据库设计中被广泛用作数据建模的工具。E-R模型的核心思想是将现实世界中的所有数

据都表示为实体,然后在实体与实体之间建立相应的联系,并最终通过建立E-R图来表示所有的数据语义。

⒈E-R模型的组成

E-R模型的构成要素,首先是实体和联系。又因为实体和联系都有其相应的属性,所以E-R模型的组成包括三个要素:实体、联系和属性。

1)实体(Entity)

实体是现实世界中可标识的对象,可以是物理实体,也可以是抽象实体。实体的一个重要特征是它在现实世界是可以唯一标识的,如果不能唯一标识,则必须进一步分解。此

外,实体具有相应的实体名。

2)联系(Relationship)

在E-R模型中,联系是实体与实体之间的某种关联,通过连线表示出来。联系也具有相应的联系名。在E-R模型中,实体之间的联系分为三种类型:

(1)一对一联系:指一个实体A只能与一个实体B发生联系,反之亦然。它通常表示为1∶1或1-1。

(2)一对多联系:指实体A和实体B存在1∶N联系,即一个实体A可以与一个或多个实体B发生联系,但一个实体B只能与一个实体A发生联系。它通常表示为1∶N或1-N。

(3)多对多联系:指实体A与实体B存在M∶N联系,即一个实体A可以与一个或多个实体B发生联系;反之,一个实体B也可以与一个或多个实体A发生联系。它通常表示为M∶N或M-N。

3)属性(Attribute)

实体内部和实体之间的联系都可以拥有一些描述自身特征的数据项,称为属性。实体内部通常有多个属性,构成一个属性集。在这些属性中,可以唯一标识实体属性的就是实

体的码。实体之间的联系本身也可以有描述属性。

属性一般具有一个属性名和一个域。域代表了属性可以取值的范围。

2.E-R模型的符号

E-R模型通过建立由实体、联系和属性构成的E-R图来描述现实世界的数据需求,因此E-R模型也称为E-R图。

E-R模型的基本符号如图2-2所示,实体集用矩形框表示,实体的属性用椭圆框表示,实体间的联系用菱形框表示,并附上相应的名称。图2-2E-R模型的基本符号

例如,一个公司业务流程的E-R模型设计如图2-3所示。图2-3某公司业务流程E-R图

⒊E-R模型的集成与优化

完成了各个底层子系统的E-R模型后,下一步将进行E-R模型的集成和优化。方法是,首先找出公共实体,然后基于公共实体进行合并,最后消除合并过程中出现的各种冲突。

E-R模型在集成的过程中,可能出现的冲突大致有以下几种:

(1)属性冲突。

(2)结构冲突。

(3)命名冲突。

E-R模型在优化过程中,可能出现的情形大致有以下几种:

(1)合并实体。

(2)消除冗余属性。

(3)消除冗余联系。

2.2关系数据模型

2.2.1关系模型的相关概念关系模型是以规范化的二维表格结构表示实体,以外码表示实体间的联系,以三类完整性表示语义约束的数据模型。关系模型示例如图2-4所示,涉及一些术语,包括元组、属性、关系等。图2-4关系模型的相关概念示例

在关系模型中,所有实体都表示在一个二维表格结构中,每一个实体表示为表格中的一行,称为一个元组(Tuple)。元组的数目称为关系的基数。元组本质上是数据,是一系列属性值的集合。

表格的每一列称为一个属性(Attribute),属性有一个属性名及相应的域。属性的数目称为关系模式的度(Degree),元组的每一个值称为属性值。

关系数据库模式(RelationalDatabaseSchema)用于描述整个关系数据库的逻辑结构和特征。关系数据库模式的一个实例称为关系数据库。在关系模型中涉及以下几个码的概念:

(1)超码(SupperKey):关系模式中能够唯一区分每个元组的属性集合。

(2)候选码(CandidateKey):不含多余属性的超码。它是唯一区分元组的最小属性集。

(3)主码(PrimaryKey):用户选定的作为元组标识的候选码,其他的候选码称为替换码(AlternateKey)。主码在E-R图中以属性名加下画线表示。

2.2.2关系的几个性质

关系模型是以二维表格形式的关系为基本数据结构,并且必须满足一定的规范,因此关系是规范化的二维表格,表现为以下几个性质:

(1)属性值不可分解:每个属性值都是单一值,不能是一个值集。通俗地讲,就是不允许关系出现“表中表”。

(2)元组不可重复:任何关系中都不允许存在重复元组。

(3)关系没有行序:任何关系的元组之间没有顺序。

(4)关系没有列序:任何关系的属性列之间没有顺序。

2.2.3关系模型的完整性约束

关系模型通过四类完整性约束来表达数据的语义约束,即实体完整性、参照完整性、域完整性和用户自定义完整性。完整性约束(IntegralConstrait)也称完整性规则(Integral

Rule),是关系模式必须满足的一些谓词条件,体现为具体领域中的语义约束。依据完整性约束,关系模型可以表达丰富的语义约束条件。

⒈实体完整性

实体完整性(EntityIntegrity)也称行完整性,是指关系模式的任一关系的主属性值(候选码)不可为空。图2-5为一个实体完整性示例。图2-5实体完整性示例

⒉参照完整性

参照完整性(ReferentialIntegerity)也称引用完整性,定义在两个关系模式之上,涉及外码概念,用于保证相关表中数据的一致性。关系模式R的外码(ForeignKey)是指它的

一个属性集FK满足两个条件:存在带有候选码CK的关系模式S;R的任一非空FK值都在S的CK中有一个相同的值。我们把S称为被参照关系(ReferencedRelation),R称为参照关系(ReferentialRelation)。图2-6为一个外码的示例。图2-6关系模式的外码示例

⒊域完整性

实体完整性和参照完整性给出了针对主码和外码的语义约束,但实际应用还常常要求对一些非码属性添加完整性约束,因此,在关系模型中引入了第三类完整性约束。

域完整性也称列完整性,是指定列的输入有效性,通过限制列的类型、格式和可能值的范围等方法加以实现。域完整性通常以不等式、等式等形式给出,并且可以通过逻辑操

作符连接多个谓词条件。

⒋用户自定义完整性

这是用户根据实际应用的需要而自行定义的数据完整性。所有完整性类别都支持用户定义完整性,包括CreateTable中所有列级约束和表级约束、存储过程及触发器。

例如,在订单表中,发货日期不能早于订货日期,因此,在使用Update或Insert操作创建触发器时,定义发货日期>订货日期,否则会出错并回滚事务。

2.3关系运算关系运算是关系模型数据操作的主要实现方式,分为两类:一类是传统的集合运算(并、差、交、笛卡尔积),另一类是专门的关系运算(选择、投影、连接等)。任何关系运算的结果仍然是一个关系,有些查询需要几个基本运算的组合,要经过若干步骤才能完成。关系运算操作有两种类型:一元操作和二元操作。一元操作是指只有一个运算对象的操作,二元操作是指有两个运算对象的操作,如并、交、差等操作。用户对关系运算的操作需求,表现为关系表达式。

⒈集合运算

已知关系R和关系S如图2-7所示,其四种集合操作如下:

(1)并(Union)。并即R和S具有相同的结构,其运算符为“∪”,记为T=R∪S。

(2)差(Difference)。R和S的差是由属于R但不属于S的元组组成的集合,其运算符为“-”,记为T=R-S。

(3)交(Intersection)。R和S的交是由既属于R又属于S的元组组成的集合,其运算符为“∩”,记为T=R∩S。

(4)笛卡尔积。R和S的笛卡尔积是R和S的元组两两任意组合而得到的结果,其运算符为“×”,记为T=R×S。图2-7关系R和S

上述四种运算结果如图2-8所示。图2-8关系R和S的四种集合运算结果

⒉专门的关系运算

专门的关系运算包括选择、投影、连接和除法运算。

假设关系R和S如图2-9所示,下面讨论专门的关系运算。图2-9关系R和S

1)选择

从关系中找出满足给定条件的元组的操作(where),其中条件以逻辑表达式给出,值为真的元组将被选取。这种运算是从水平方向抽取元组。例如:

select*fromRwhereBin(12,32)

算结果如图2-10所示。图2-10关系R和S的选择运算结果

2)投影

从关系模式中指定若干个属性组成新的关系,这是从列的方向进行的运算。例如:selectA,BfromR

运算结果如图2-11所示。图2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论