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

下载本文档

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

文档简介

1、1 关系数据库:关系数据库:2 2学时学时 关系数据库:关系数据库:2 2学时学时 2 掌握关系数据库与关系模型;关系的形式定掌握关系数据库与关系模型;关系的形式定 义;关系的完整性约束以及关系运算义;关系的完整性约束以及关系运算 教学目标教学目标 培养学生积极思考、敢于动手、自主探培养学生积极思考、敢于动手、自主探 究的能力,鼓励学生要善于协作学习、究的能力,鼓励学生要善于协作学习、 大胆创新。培养学生团结互助的团队合作大胆创新。培养学生团结互助的团队合作 意识意识 技能目标技能目标 3 关系数据库与关系模型;关系的形关系数据库与关系模型;关系的形 式定义;关系完整性式定义;关系完整性 重点

2、重点 关系完整性关系完整性 难点难点 4 最早提出“关系模型”的是美国IBM公司的埃 德加弗兰克科德(Edgar Frank Codd或E. F. Codd),他发表在美国计算机学会会刊题为 “大型共享数据库的关系模型大型共享数据库的关系模型”的论文首次提 出了数据库的关系模型。 5 2.1 关系数据库与关系模型关系数据库与关系模型 2.2 关系的形式定义关系的形式定义 2.3 关系完整性关系完整性 2.4 关系运算关系运算 2.5 小结小结 6 关系数据库是建立在关系数据库模型基 础上的数据库,借助于集合代数等概念和方法来 处理数据库中的数据。 关系数据库管理系统 (RDBMS) : Ora

3、cle、SQL Server、MySQL、Sybase、DB2等。 7 关系数据库使用SQL进行查询,结果集通过访 问的查询生成。 在实际的关系数据库中的关系也称为 一个关系数据库就是由个表组成的。 8 各类模型的优缺点各类模型的优缺点 基本概念基本概念 返回返回 9 关系模型是用的形式表示实体和实体间联 系的数据模型,关系模型由、 三部分组成。 10 2.1.1 基本概念基本概念 11 12 表中元组的个数根据使用的DBMS不同,的。 表中,即二维表中有相应的表级约束, 元组应各不相同。 表中元组的,即二维表中元组的次序可以任意交换。 表中,即二维表中每一个分量都是不可分割 的数据项。 表中

4、,即二维表中的属性与顺序无关,可 任意交换。如“学号”所在列可以和任意列交换位置,不影响 查询、删除、更新、插入等操作。 2.1.1 基本概念基本概念 13 表中,即二维表中的属性分量属 于同一值域。如 “学号”都是“字符型”,宽度为 10。 表中,即表中的每 一列为一个属性,但不同的属性可出自同一个域, ,“教材”与“参考书”是两个不同的属性, 但它们取自同一个域。 关系模型要求的,即要求关系必 须满足一定的规范条件。 2.1.1 基本概念基本概念 14 关系操作采用关系操作采用。 关系模型中常用的操作包括:关系模型中常用的操作包括: 选择(选择(select)、投影()、投影(projec

5、t) 连接(连接( join )、)、 除除 (divide)、)、 并并 (union)、)、 交(交(intersection) 差(差(difference)等查询操作)等查询操作 2.1.1 基本概念基本概念 15 关系模型中允许定义三类完整性约束:关系模型中允许定义三类完整性约束: 实体完整性约束实体完整性约束 参照完整性约束参照完整性约束 用户定义的完整性约束用户定义的完整性约束 2.1.1 基本概念基本概念 16 ?实体完整性是规定表的每一行在表中是唯一的实体。实体完整性是规定表的每一行在表中是唯一的实体。 ?参照完整性是指两个表的主关键字和外关键字的数据应参照完整性是指两个表的

6、主关键字和外关键字的数据应 一致,保证了表之间的数据的一致性,防止了数据丢失一致,保证了表之间的数据的一致性,防止了数据丢失 或无意义的数据在数据库中扩散。或无意义的数据在数据库中扩散。 ?用户定义的完整用户定义的完整性则是为了满足不同的关系数据库系统则是为了满足不同的关系数据库系统 根据其应用环境的不同,往往还需要一些特殊的约束条根据其应用环境的不同,往往还需要一些特殊的约束条 件的要求。件的要求。 返回返回 2.1.1 基本概念基本概念2.1.1 基本概念基本概念 17 层次模型、网状模型、关系模型在不同程度各有其优缺点。层次模型、网状模型、关系模型在不同程度各有其优缺点。 数据模型比较简

7、单,结构清晰,表示各节点之间的联数据模型比较简单,结构清晰,表示各节点之间的联 系简单;容易表示现实世界的层次结构的事物及其之间的系简单;容易表示现实世界的层次结构的事物及其之间的 联系,提供良好的完整性支持。联系,提供良好的完整性支持。 不适合非层次性的联系,如不能够表示两个以上实体不适合非层次性的联系,如不能够表示两个以上实体 之间的复杂联系和实体之间的多对多联系。之间的复杂联系和实体之间的多对多联系。 网络模型是一种比层次模型应用更广泛的一种结构,网络模型是一种比层次模型应用更广泛的一种结构, 它改善了层次模型中的许多限制,网络模型能够表示复杂它改善了层次模型中的许多限制,网络模型能够表

8、示复杂 节点之间的联系,可以直接地描述现实世界,存取效率较节点之间的联系,可以直接地描述现实世界,存取效率较 高。高。 网状模型比较复杂,数据定义、插入、更新、删除操网状模型比较复杂,数据定义、插入、更新、删除操 作变得复杂,数据的独立性差。作变得复杂,数据的独立性差。 18 关系数据模型是建立在严格的数学概念的基础上的,实体以关系数据模型是建立在严格的数学概念的基础上的,实体以 及实体之间的联系都用关系来表示;使用表的概念,简单直观;及实体之间的联系都用关系来表示;使用表的概念,简单直观; 可直接表示实体之间的多对多联系;关系模型的存取路径对用户可直接表示实体之间的多对多联系;关系模型的存取

9、路径对用户 透明,从而具有更高的数据独立性,更好的安全保密性,也简化透明,从而具有更高的数据独立性,更好的安全保密性,也简化 了程序员和数据库开发设计的工作。了程序员和数据库开发设计的工作。 关系模型的连接等操作开销较大,查询的效率往往不如非关关系模型的连接等操作开销较大,查询的效率往往不如非关 系数据模型,需要较高性能的计算机的支持。系数据模型,需要较高性能的计算机的支持。 返回返回 19 关系模式关系模式 关系及相关概念关系及相关概念 返回返回 20 1域域 域(域(domain)是一组具有相同数据类型的值)是一组具有相同数据类型的值 的集合,又称为值域(用的集合,又称为值域(用D表示)。

10、表示)。 自然数、整数、实数,长度小于自然数、整数、实数,长度小于10字节的字符字节的字符 串集合,串集合,1,2、介于某个取值范围的整数、介于某个取值范围的整数 (如在(如在20100之间)、介于某个取值范围的日之间)、介于某个取值范围的日 期等,都可以称为域。期等,都可以称为域。 举例:举例: 21 1域(域(续)续) 22 2元组元组 关系表中的关系表中的称为一个称为一个(tuple)。)。 元组可表示一个实体或实体之间的联系,元组可表示一个实体或实体之间的联系, 是属性的有序多重集。是属性的有序多重集。 3码码 在二维表中,用来在二维表中,用来一个元组的一个元组的 某个属性或属性组合称

11、为该表的键或码某个属性或属性组合称为该表的键或码 (key),也称关键字,),也称关键字, 23 码能唯一标识实体的属性,它是的性质, 而的性质。它包括和 。 是一个或多个属性的集合,这些属性可 以让我们在一个实体集中唯一地标识一个实体。 是从超码中选出的,自然地,候选 码也是一个或多个属性的集合 , 24 是从多个候选码中任意选出的一个, 如果候选码只有一个,那么该候选码就是主码。 在关系K中的属性或属性组若在另一个 关系J中作为主码使用,则称该属性或属性组为K的外码。 25 4属性属性 关系中不同列可以对应相同的域,为了加以区分,关系中不同列可以对应相同的域,为了加以区分, 必须给每列起一

12、个名字,称为必须给每列起一个名字,称为(attribute)。)。 5分量分量 分量(分量(component)是元组中的一个属性的值)是元组中的一个属性的值 ,如:,如: 009070101,刘红。,刘红。 26 6笛卡儿积笛卡儿积 设有一组域设有一组域D1,D2,Dn,这些域可以部分或者完,这些域可以部分或者完 全完全不同。全完全不同。 27 6笛卡儿积(续笛卡儿积(续1) 设D1A,B,C;D21,2,则D1D2(A,1), (A,2),(B,1),(B,2),(C,1),(C,2)的基数为: 326。 mi (i=1,2,3,n) n i i=1 M =m 28 6笛卡儿积(续笛卡儿积

13、(续2) 笛卡儿乘积可表示为一张二维表,表中的每行对应一个元组, 表中的每列对应一个域,但是若干个域的笛卡儿乘积可能存在 大量的数据,因此一般只取其中的某些子集。 。 例2.1 给出三个域: D1=家电集合家电集合=(冰箱,电视)(冰箱,电视) D2=产地集合产地集合=(上海,深圳)(上海,深圳)10000) D3=单价集合单价集合(2000,8000, 则则D1D2D3笛卡儿乘积为:笛卡儿乘积为: 29 7关系关系 D1D2Dn的一个子集的一个子集R称为在域称为在域D1D2Dn上上 的一个关系的一个关系(relation),通常将其表示),通常将其表示 R(D1D2Dn),其中,其中,R表示

14、该关系的名称,表示该关系的名称,n称称 为关系为关系R的元数或度数的元数或度数(degree),而关系,而关系R中所含有的元中所含有的元 组数称为组数称为R的基数的基数(cardinal number)。 30 由于关系实质上是一张二维表,表的每一行称为一个元组,每一由于关系实质上是一张二维表,表的每一行称为一个元组,每一 列称为一个属性,一个元组就是该关系所涉及的属性集的笛卡儿列称为一个属性,一个元组就是该关系所涉及的属性集的笛卡儿 积的一个元素。关系实际上就是关系模式在某一时刻的数据操作积的一个元素。关系实际上就是关系模式在某一时刻的数据操作 状态或内容。状态或内容。 一个关系模式应当是一

15、个五元组,关系模式可以形式化地表示为:一个关系模式应当是一个五元组,关系模式可以形式化地表示为: 其中:其中: ; 返回返回 31 将表2.1 的学生登记表通过R(U,D,dom,F) 五元组的关系模式解释。 返回返回 32 参照完整性参照完整性 用户自定义完整性用户自定义完整性 实体完整性实体完整性 返回返回 33 1.实体完整性实体完整性 (entity integrity) 约束:约束: 在关系数据库中一个关系对应现实世界的一个实体集,关系在关系数据库中一个关系对应现实世界的一个实体集,关系 中的每一个元组对应一个实体。在关系中用主关键字来唯一标识中的每一个元组对应一个实体。在关系中用主

16、关键字来唯一标识 一个实体,表明现实世界中的实体是可以相互区分、识别的,也一个实体,表明现实世界中的实体是可以相互区分、识别的,也 即它们应具有某种唯一性来标识实体具有独立性,关系中的这种即它们应具有某种唯一性来标识实体具有独立性,关系中的这种 约束条件称为实体完整性约束条件称为实体完整性 。 34 2. 参照完整性(参照完整性(referential integrity)约束:)约束: 参照完整性是定义建立关系之间联系的主关键字与外部关键参照完整性是定义建立关系之间联系的主关键字与外部关键 字引用的约束条件。关系数据库中通常都包含多个存在相互联系字引用的约束条件。关系数据库中通常都包含多个存

17、在相互联系 的关系,关系与关系之间的联系是通过公共属性来实现的。的关系,关系与关系之间的联系是通过公共属性来实现的。 所谓公共属性K,理论上规定:若K是关系S中的一属性组,且K是另一关系 R的主关键字,则称K为关系S对应关系Z的外关键字;若K是关系S的外关键字, 则S中每一个元组在K上的值必须是空值或是对应关系R中某个元组的主关键字 值。例如有两个关系“系部”和“教师”,如表2.7表和表2.8所示。 35 3.用户定义完整性(用户定义完整性(user-defined integrity)约束:)约束: 实体完整性和参照完整性适用于任何关系型数据库系统,主要是实体完整性和参照完整性适用于任何关系

18、型数据库系统,主要是 针对关系的主关键字和外部关键字取值必须有效而做出的约束。针对关系的主关键字和外部关键字取值必须有效而做出的约束。 用户定义完整性则是根据应用环境的要求和实际的需要,对某一用户定义完整性则是根据应用环境的要求和实际的需要,对某一 具体应用所涉及的数据提出约束性条件。这一约束机制一般不应具体应用所涉及的数据提出约束性条件。这一约束机制一般不应 由应用程序提供,而应有由关系模型提供定义并检验。由应用程序提供,而应有由关系模型提供定义并检验。 返回返回 36 专门的关系运算专门的关系运算 传统的关系运算传统的关系运算 返回返回 37 传统的关系运算符包括并(传统的关系运算符包括并

19、()、差()、交)、差()、交 ()和笛卡儿积()和笛卡儿积()四种运算。设关系)四种运算。设关系R和和 关系关系S具有相同的具有相同的n目属性,且相应的属性取自同目属性,且相应的属性取自同 一个域,则可以定义并、差、交运算。一个域,则可以定义并、差、交运算。 38 1并并 设关系设关系R和关系和关系S具有相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属个属 性),且相应的属性取自同一个域,则关系性),且相应的属性取自同一个域,则关系R与关系与关系S的的 并(并(union)由属于)由属于R或属于或属于S的元组组成的元组组成 记作: RS=t|tRtS 39 2差差 设关系设关系R

20、和关系和关系S具有相同的目具有相同的目n,且相应的属性取自同一,且相应的属性取自同一 个域,则关系个域,则关系R与关系与关系S的差(的差(difference)由属于)由属于R而不而不 属于属于S的所有元组组成。的所有元组组成。 Q = RS = t | t R 但 t S 40 3交交 设关系设关系R和关系和关系S具有相同的目具有相同的目n,且相应的属性取自同,且相应的属性取自同 一个域,则关系一个域,则关系R与关系与关系S的交(的交(intersection)由既属于)由既属于 R又属于又属于S的元组组成。的元组组成。 记作:RS=t|tRtS 41 例2.3 关系R和S分别具有三个属性,

21、 如图2.5(a)、图2.5 (b)所示, 关系R和S进行传统的 关系运算的结果 如图2.5(c)图2.5 (f)所示。 42 43 专门的关系运算包括选择、投影、连接、除等。专门的关系运算包括选择、投影、连接、除等。 1选择选择 选择(选择(selection)又称为限制()又称为限制(restriction)。它是在关系)。它是在关系 R中选择满足给定条件的元组,组成一个新的关系。中选择满足给定条件的元组,组成一个新的关系。 记作:记作:F(R) = t|tR F(t)=真真 说明:选择操作是根据某些条件对关系的水平切割,也就 是从行的角度进行运算,选取符合条件的元组。选择运 算如图2.6

22、所示。 44 ,是一个逻辑表达式,取值为逻辑或。 逻辑表达式是由属性名(属性名也可以用它的列序号来代替)、 常数(用引号括起来)、逻辑运算符(、或,通常用表示 逻辑运算符)、关系运算符(、或,通常用表 示关系运算符)以及常用的函数(数学、字符、日期、转换等) 组成。通常情况下,逻辑表达式是由逻辑运算符连接由关系运算 符组成的比较关系式而成。 逻辑表达式F的基本形式为: X1 Y1 X2 Y2 , X1、Y1等是属性名、 常量或简单函数。 45 (1)R。B=S。B(R),运算结 果如图2.7(a)所示。(2)36(R),从R中选择第3个分量值大 于6的属性值,如图2.7(b)所示。 46 2投

23、影投影 投影(投影(projection)是指将对象转换为一种新形式的操作,该形)是指将对象转换为一种新形式的操作,该形 式通常只包含那些随后将使用的属性列。通过投影,可在原来的式通常只包含那些随后将使用的属性列。通过投影,可在原来的 关系上生成的新的关系。关系上生成的新的关系。也就是说投影运算是从给定关系的所有 列中按某种顺序选取指定的列的集合,它是对数据库进行“纵向 分割关系”手段。 记为:A(R) = tA | tR 说明: (即列名)表,。 47 2投影投影 对例2.4的关系R进行相关的投影运算。(1)A,B(R),运算结 果如图2.9(a)所示。(2)3,1(R),即从R中选择第3个

24、分量和第 1个分量,如图2.9(b)所示。 48 3连接连接 虽然笛卡儿乘积可以实现虽然笛卡儿乘积可以实现关系的乘积,关系的乘积, 但是新的关系数据冗余度大,系统费时太多。因此要能但是新的关系数据冗余度大,系统费时太多。因此要能 够得到简单而优化的新关系,对笛卡儿积进行限制,这够得到简单而优化的新关系,对笛卡儿积进行限制,这 就引入了连接(就引入了连接(join)运算。连接运算把投影运算和选)运算。连接运算把投影运算和选 择运算综合运用来解决复杂的数据库运算。择运算综合运用来解决复杂的数据库运算。 BA SR 49 3连接连接 (续)(续) 。连接运算是从两个关系的笛卡儿积中选取 属性值满足某条件的元数和组元。格式是 ,这里A和B 分别是关系R和关系S的第A个属性列名或序号、第B个 属性列名或序号,计算方法是从笛卡儿积RS中选取 (R关系)在A属性列的值与(S关系)在B属性列上值, 生成一个满足比较条件组成的新 BA SR 50 3连接(续)连接(续) SRSR BA ABj 记作: 51 52 53 4除除 除(除(division)运算是指对于给定关系)运算是指对于给定关系R(X,Y)和和S(Y,Z),其,其 中中X, Y, Z为单个属性或属性集,为单个属性或属性集,R与与S的除运算得到一个的除运算得到一个 新的关系,

温馨提示

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

最新文档

评论

0/150

提交评论