第3章关系数据库_第1页
第3章关系数据库_第2页
第3章关系数据库_第3页
第3章关系数据库_第4页
第3章关系数据库_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 在关系模型中,无论是实体还是实体之间在关系模型中,无论是实体还是实体之间的联系均由单一的结构类型即关系(表)来的联系均由单一的结构类型即关系(表)来表示。下面讨论关系模型的一些基本术语。表示。下面讨论关系模型的一些基本术语。l 关系。关系。一个关系就是一张二维表,每个关系有一个关一个关系就是一张二维表,每个关系有一个关系名。系名。l 元组。元组。表中的一行即为一个元组,对应存储文件中的表中的一行即为一个元组,对应存储文件中的一个记录值。一个记录值。l 属性。属性。表中的列称为属性,每一列有一个属性名。属表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。性值相当于记录

2、中的数据项或者字段值。l 域。域。属性的取值范围,即不同元组对同一个属性的值属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑真(如所限定的范围。例如,逻辑型属性只能从逻辑真(如TRUE)或逻辑假(如)或逻辑假(如FALSE)两个值中取值。)两个值中取值。l 关系模式。关系模式。对关系的描述称为关系模式,格式为:对关系的描述称为关系模式,格式为: 关系名关系名(属性名属性名1,属性名,属性名2, ,属性名,属性名n) 一个关系模式对应一个关系文件的结构。例如:一个关系模式对应一个关系文件的结构。例如:R(S#,SNAME,SEX,BIRTHDAY,CLASS)l

3、 候选码(或候选关键字)。候选码(或候选关键字)。它是属性或属性组合,其值能它是属性或属性组合,其值能够唯一地标识一个元组。在最简单的情况下,候选码只包够唯一地标识一个元组。在最简单的情况下,候选码只包含一个属性。候选码满足唯一性(关系含一个属性。候选码满足唯一性(关系R的任意两个不同的任意两个不同的元组,其候选码的值不同)和最小性(组成候选码的属的元组,其候选码的值不同)和最小性(组成候选码的属性集中,任一属性都不能从中删除,否则将破坏关系的唯性集中,任一属性都不能从中删除,否则将破坏关系的唯一性)。一性)。l 主码(或主关键字)。主码(或主关键字)。在一个关系中可能有多个候选码,在一个关系

4、中可能有多个候选码,从中选择一个作为主码。从中选择一个作为主码。l 主属性。主属性。包含在主码中各个属性称为主属性。包含在主码中各个属性称为主属性。l 外码(或外关键字)。外码(或外关键字)。如果关系如果关系R2的一个或一组属性的一个或一组属性X是是另一关系另一关系R1的主码,则的主码,则X称为关系称为关系R2的外码,并称关系的外码,并称关系R2为参照关系,关系为参照关系,关系R1为被参照关系。为被参照关系。l 全码。全码。关系模型的所有属性都是这个关系模式的候选码,关系模型的所有属性都是这个关系模式的候选码,称为全码。称为全码。 【例【例3.1】如图如图3.1所示是两个关系所示是两个关系R和

5、和T。指出其关系模式和。指出其关系模式和码。码。 解:解:对应的关系模式为:对应的关系模式为: R(编号,姓名,性别,部门号编号,姓名,性别,部门号) T(部门号,名称,地址,电话部门号,名称,地址,电话) 在关系在关系R中,主码为中,主码为“编号编号”,关系,关系T的主码为的主码为“部门号部门号”,所以部门号也是关系所以部门号也是关系R的外码。的外码。 3.1 关系模型的基本概念关系模型的基本概念3.2 关系的数学定义关系的数学定义 3.3 关系代数关系代数1. 域域2. 笛卡尔积笛卡尔积3. 关系关系4. 关系的性质关系的性质 1. 域域 域是一组具有相同数据类型的值的集合。例如,整数、正

6、整域是一组具有相同数据类型的值的集合。例如,整数、正整数、实数、数、实数、0,1,2等都可以是域。等都可以是域。2. 笛卡尔积笛卡尔积 设定一组域设定一组域D1,D2,Dn,这些域中可以存在相同的域。,这些域中可以存在相同的域。定义定义D1,D2,Dn的笛卡尔积为:的笛卡尔积为: D1D2Dn=(d1,d2,dn) | diDi,i=1,n 其中每一个元素(其中每一个元素(d1,d2,dn)叫做一个)叫做一个n元组或简称元元组或简称元组。元素中的每个值组。元素中的每个值di(i=1,n)叫做一个分量。)叫做一个分量。 例如,例如,D1=0,1,D2=a,b,c,则,则: D1D2=(0,a),

7、(0,b),(0,c),(1,a),(1,b),(1,c)。笛卡尔积笛卡尔积D1D2Dn的任一个子集称为的任一个子集称为D1,D2,Dn上上的一个的一个n元关系。表示为:元关系。表示为: R(D1,D2,Dn) 这里的这里的R表示关系的名称,表示关系的名称,n是关系的目或度。是关系的目或度。 关系中的每个元素是关系中的元组。关系中的每个元素是关系中的元组。 当当n=1时,称该关系为单元关系。当时,称该关系为单元关系。当n=2时,称该关系为二时,称该关系为二元关系。元关系。 关系是笛卡尔积的有限子集,所以关系也是一个二维表,关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,

8、表的每列对应一个域。由于域可以相表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名称,称为属性,同,为了加以区分,必须对每列起一个名称,称为属性,n元元关系有关系有n个属性,属性的名称要唯一。个属性,属性的名称要唯一。 例如,例如,R1=(0,a),(0,b),(0,c)和和R2=(1,a),(1,b),(1,c)都是上例都是上例D1,D2上的一个关系。上的一个关系。 关系是用集合代数的笛卡尔积定义的,关系是元组的集合,关系是用集合代数的笛卡尔积定义的,关系是元组的集合,因此,关系具有如下性质:因此,关系具有如下性质:l 列是同质的,即每一列中的分量是同

9、一类型的数据,来列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。自同一个域。l 不同的列可出自同一个域,其中的每一列称为一个属性,不同的列可出自同一个域,其中的每一列称为一个属性,要给予不同的属性名。要给予不同的属性名。l 列的顺序无所谓,即列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。l 任意两个元组不能完全相同。任意两个元组不能完全相同。l 行的顺序无关紧要,即行的次序可以任意交换。行的顺序无关紧要,即行的次序可以任意交换。l 所有属性值都是原子,不允许某个属性又是一个二维关所有属性值都是原子,不允许某个属性又是一个二维关系。系。 关系的关系的3个完整性规则如下

10、个完整性规则如下(1)实体完整性规则)实体完整性规则(2)参照完整性规则)参照完整性规则(3)用户定义的完整性)用户定义的完整性关系中主码的值不能为空或部分为空。也就是说,主码中属性关系中主码的值不能为空或部分为空。也就是说,主码中属性(即主属性)不能取空值。(即主属性)不能取空值。 因为关系中的元组一定是可区分的,如果主码的值取空值因为关系中的元组一定是可区分的,如果主码的值取空值(空值就是(空值就是“不知道不知道”或或“无意义无意义”的值),就说明存在某个不的值),就说明存在某个不可标识的元组,即存在不可区分的元组,这是不允许的。可标识的元组,即存在不可区分的元组,这是不允许的。 例如,在

11、图例如,在图3.1中,关系中,关系R的的“编号编号”和关系和关系T中的中的“部门号部门号”不能取空值。不能取空值。 如果关系如果关系R2的外码的外码X与关系与关系R1的主码相对应(基本关系的主码相对应(基本关系R1和和R2不一定是不同的关系,即它们可以是同一个关系),则外码不一定是不同的关系,即它们可以是同一个关系),则外码X的每个值必须在关系的每个值必须在关系R1中主码的值中找到,或者为空值。中主码的值中找到,或者为空值。 参照完整性规则就是定义外码与主码之间的引用规则。例参照完整性规则就是定义外码与主码之间的引用规则。例如,在图如,在图3.1中,关系中,关系R中的每个中的每个“部门号部门号

12、”属性只能取下面两属性只能取下面两类值:类值:l 空值。表示尚未给该职工分配部门。空值。表示尚未给该职工分配部门。l 非空值。这时该值必须是关系非空值。这时该值必须是关系T中某个元组的中某个元组的“部门号部门号”值,表示该职工不可能分配到一个不存在的部门中。即被值,表示该职工不可能分配到一个不存在的部门中。即被参照的参照的T中一定存在一个元组,它的主码值等于该参照关中一定存在一个元组,它的主码值等于该参照关系系R中的外码值。中的外码值。 指用户对某一具体数据指定的约束条件进行检验。例指用户对某一具体数据指定的约束条件进行检验。例如,在图如,在图3.1中关系中关系R的性别只能取值的性别只能取值“

13、男男”或或“女女”。 3.1 关系模型的基本概念关系模型的基本概念 3.2 关系的数学定义关系的数学定义3.3 关系代数关系代数关系代数包含传统的集合运算和专门的关系运算关系代数包含传统的集合运算和专门的关系运算两类。两类。3.3.1 传统的集合运算传统的集合运算(1)关系的并)关系的并(2)关系的差)关系的差(3)关系的交)关系的交(4)笛卡尔积)笛卡尔积3.3.2 专门的关系运算专门的关系运算(1)选择)选择(2)投影)投影(3)连接)连接(4)除)除(1)关系的并)关系的并 关系关系R和关系和关系S的所有元组合并,再删去重复的的所有元组合并,再删去重复的元组,组成一个新关系,称为元组,组

14、成一个新关系,称为R和和S的并,记为的并,记为RS。即:。即:RS= t | tR tS。(2)关系的差)关系的差关系关系R和关系和关系S的差是由属于的差是由属于R而不属于而不属于S的所有的所有元组组成的集合,即关系元组组成的集合,即关系R中删去与中删去与S关系中相同的关系中相同的元组,组成一个新关系,记为元组,组成一个新关系,记为R-S。即:。即:R-S= t | tR t S。(3)关系的交)关系的交 关系关系R和关系和关系S的交是由既属于的交是由既属于R又属于又属于S的元组的元组组成的集合,即在两个关系组成的集合,即在两个关系R与与S中取相同的元组,中取相同的元组,组成一个新关系,记为组

15、成一个新关系,记为RS。即。即RS= t | tR tS。(4)笛卡尔积)笛卡尔积 参见参见3.2节中关于笛卡尔积的定义。两个关系节中关于笛卡尔积的定义。两个关系R和和S的笛卡尔积记为的笛卡尔积记为RS。即。即RS= trts | trR tsS。 【例【例3.2】 有有3个关系个关系R、S和和T,如图,如图3.2所示,求以下各种所示,求以下各种运算结果:运算结果: (1)RS (2)R-S (3)RS (4)RT 解:解:这这4个运算的结果如图个运算的结果如图3.3所示。所示。1. 选择选择 从关系中找出满足给定条件的所有元组称为选从关系中找出满足给定条件的所有元组称为选择。择。 选择运算记

16、为选择运算记为F(R),其中,其中R为一个关系,为一个关系,F为布为布尔函数,该函数中可以包含算术比较符(尔函数,该函数中可以包含算术比较符(、)和逻辑运算符()和逻辑运算符(、 )。)。2. 投影投影 从关系中挑选若干属性组成新的关系称为投影。从关系中挑选若干属性组成新的关系称为投影。 投影运算记为投影运算记为x(R),其中,其中R为一个关系,为一个关系,x为一组为一组属性名或属性序号组,属性序号是对应属性在关系中属性名或属性序号组,属性序号是对应属性在关系中的顺序编号。的顺序编号。3. 连接连接 连接是将两个关系的属性名拼接成一个更宽的关连接是将两个关系的属性名拼接成一个更宽的关系,生成的

17、新关系中包含满足连接条件的元组。运系,生成的新关系中包含满足连接条件的元组。运算过程是通过连接条件来控制的,连接是对关系的算过程是通过连接条件来控制的,连接是对关系的结合。结合。 (1)连接连接 (2)F连接连接(3)自然连接)自然连接(1)连接连接 连接操作是从关系连接操作是从关系R和和S的笛卡尔积中选取属性值满足某一的笛卡尔积中选取属性值满足某一个条件运算符个条件运算符的元组,记为的元组,记为R S,这里,这里i和和j分别是关系分别是关系R和和S中第中第i和第和第j个属性的序号。个属性的序号。 如果如果是等号是等号“=”,该连接操作称为,该连接操作称为“等值连接等值连接”。(2)F连接连接

18、 F连接操作是从关系连接操作是从关系R和和S的笛卡尔积中选取属性值满足某的笛卡尔积中选取属性值满足某一个条件公式一个条件公式F的元组,记为的元组,记为R S。这里。这里F是形为是形为F1F2Fn的公式,每个的公式,每个Fi(1in)是形为)是形为“ij”的式的式子,其中子,其中i和和j应分别为应分别为R和和S的第的第i、第、第j个分量的序号。个分量的序号。(3)自然连接)自然连接 自然连接是除去重复属性的等值连接,它是连接运算的一自然连接是除去重复属性的等值连接,它是连接运算的一个特例,是最常用的连接运算。个特例,是最常用的连接运算。 自然连接记为自然连接记为R S,其中,其中R和和S是两个关系,并且具有一个是两个关系,并且具有一个或多个

温馨提示

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

最新文档

评论

0/150

提交评论