第3讲 关系的键与关系完整性_第1页
第3讲 关系的键与关系完整性_第2页
第3讲 关系的键与关系完整性_第3页
第3讲 关系的键与关系完整性_第4页
第3讲 关系的键与关系完整性_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、1 1第第2章章 关系数据库关系数据库 2 2本章主要按数据模型的三个要素讲述关系数据库的一本章主要按数据模型的三个要素讲述关系数据库的一些基本理论(些基本理论(关系模型的数据结构、关系的定义和性关系模型的数据结构、关系的定义和性质、关系的完整性、关系代数、关系数据库质、关系的完整性、关系代数、关系数据库等等 )掌握关系的掌握关系的定义及性质定义及性质、关系键、外部键等基本概念、关系键、外部键等基本概念以及关系演算语言的使用方法以及关系演算语言的使用方法重点掌握重点掌握实体完整性实体完整性和和参照完整性参照完整性的内容和意义、常的内容和意义、常用的几种关系代数的用的几种关系代数的基本运算基本运

2、算等等3 32.1 关系模型的数据结构及其形式化定义关系模型的数据结构及其形式化定义2.2 关系的键与关系的完整性关系的键与关系的完整性2.3 关系代数关系代数 2.4 关系演算关系演算 4 42.1 关系模型的数据结构及其形式化定义关系模型的数据结构及其形式化定义 2.1.1 关系的形式化定义及其有关概念关系的形式化定义及其有关概念 域(域(Domain)域域是一组具有是一组具有相同数据类型相同数据类型的值的的值的集合集合,又称为,又称为值域值域域中所包含的值的个数称为域的域中所包含的值的个数称为域的基数基数(用(用m表示)。表示)。例如例如 :D1=李力,王平,刘伟李力,王平,刘伟,m1=

3、3;D2=男,女男,女;m2=2;D3=18,20,18;m3=3。整数、实数和字符串整数、实数和字符串的集合都是域的集合都是域 域名域名 5 5笛卡尔积(笛卡尔积(Cartesian Product) 给定一组给定一组域域D1,D2,Dn(它们可以包含相同的元素,(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。即可以完全不同,也可以部分或全部相同)。D1,D2,Dn的笛卡尔积为的笛卡尔积为 D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n 每一个元素(每一个元素(d1,d2,dn)中的每一个值)中的每一个值di叫做一个叫做一个分量(分量(Component) ,

4、diDi 每一个元素(每一个元素(d1,d2,dn)叫做一个)叫做一个n元组元组(n-Tuple),简称元组(),简称元组(Tuple) 6 6笛卡尔积笛卡尔积D1D2Dn的的基数基数M(即元素(即元素(d1,d2,dn)的个数)为所有域的基数的累乘之)的个数)为所有域的基数的累乘之 积,即积,即M= 。 例如,上述表示教师关系中姓名、性别两个域的笛卡尔例如,上述表示教师关系中姓名、性别两个域的笛卡尔积为:积为: D1D2=(李力,男),(李力,女),(王平,男),(王(李力,男),(李力,女),(王平,男),(王平,女),(刘伟,男),(刘伟,女)平,女),(刘伟,男),(刘伟,女)分量:李

5、力、王平、刘伟、男、女分量:李力、王平、刘伟、男、女 元组元组 :(李力,男),(李力,女):(李力,男),(李力,女) ,M=m1m2=32=6 niim17 7笛卡尔积可用二维表的形式表示:笛卡尔积可用二维表的形式表示: 笛卡尔积实际是一个二维表笛卡尔积实际是一个二维表姓姓 名名 性性 别别 李力李力 男男 李力李力 女女 王平王平 男男 王平王平 女女 刘伟刘伟 男男 刘伟刘伟 女女 元组元组同一域同一域8 8关系(关系(Relation) 笛卡尔积笛卡尔积D1D2Dn的的任一子集任一子集称为定义在域称为定义在域D1,D2,Dn上的上的n元关系(元关系(Relation) R(D1,D2

6、,Dn)关系的名字关系的名字n是关系的目或度是关系的目或度姓姓 名名 性性 别别 李力李力 男男 王平王平 女女 刘伟刘伟 男男 如,上例如,上例D D1 1D D2 2笛卡尔积的笛卡尔积的某个子集可以构成教师关系某个子集可以构成教师关系T T1 1,如表,如表2.22.2所示所示 D1D2笛卡尔积的子集(关系笛卡尔积的子集(关系T1)9 9在关系在关系R中,当中,当n=1时,称为单元关系。当时,称为单元关系。当n=2时,称为二元关时,称为二元关系,以此类推系,以此类推 。关系中的每个元素是关系中的元组,通常用关系中的每个元素是关系中的元组,通常用t表示,关系中元组表示,关系中元组个数是关系的

7、基数个数是关系的基数 由于关系是笛卡尔积的子集,因此,也可以把关系看成一个二由于关系是笛卡尔积的子集,因此,也可以把关系看成一个二维表维表 。具有相同关系框架的关系称为同类关系具有相同关系框架的关系称为同类关系 。姓姓 名名 性性 别别 李力李力 男男 王平王平 女女 刘伟刘伟 男男 元组元组域域属性属性属性的名字惟一属性的名字惟一 1010姓姓 名名 性性 别别 李力李力 男男 李力李力 女女 不符合实际意义的关系不符合实际意义的关系在关系模型中,关系可进一步定义为:在关系模型中,关系可进一步定义为:关系头(关系头(Heading)+关系体(关系体(Body) 由属性名的由属性名的集合组成集

8、合组成关系结构中的关系结构中的内容或者数据内容或者数据 不变不变可变可变11112.1.2 关系的性质关系的性质2.1.2 关系的性质关系的性质 关系是一种规范化了的二维表中行的集合关系是一种规范化了的二维表中行的集合 每一列中的分量必须来自同一个域,必须是同一类每一列中的分量必须来自同一个域,必须是同一类型的数据。型的数据。不同的列可来自同一个域,每一列称为属性,不同不同的列可来自同一个域,每一列称为属性,不同的属性必须有不同的名字的属性必须有不同的名字 。列的顺序可以任意交换。列的顺序可以任意交换。 关系中元组的顺序(即行序)可任意。关系中元组的顺序(即行序)可任意。 关系中每一分量必须是

9、不可分的数据项。关系中每一分量必须是不可分的数据项。 1212姓名姓名籍籍 贯贯省省市县市县张强张强吉林吉林长春长春王丽王丽山西山西大同大同姓姓 名名省省市县市县张强张强吉林吉林长春长春王丽王丽山西山西大同大同非规范化的关系非规范化的关系 表表2.8 规范化的关系规范化的关系 表表2.9在表在表2.8中,籍贯含有省、市县两项,出现了中,籍贯含有省、市县两项,出现了“表中有表表中有表”的现象,则为非的现象,则为非规范化关系,而应把籍贯分成省、市县两列,将其规范化,如表规范化关系,而应把籍贯分成省、市县两列,将其规范化,如表2.9所示所示 13132.1.3 关系模式关系模式2.1.3 关系模式关

10、系模式 关系的描述称为关系的描述称为关系模式(关系模式(Relation Schema) R(U,D,DOM,F)R-关系名关系名 U-属性名集合属性名集合 D-属性所来自的域属性所来自的域 DOM-属性向域的映像集合属性向域的映像集合 F-属性间数据的依赖关系集合属性间数据的依赖关系集合 简记为:简记为:R(U)或)或R(A1,A2,An)属性名属性名 1414关系模型关系模型关系关系关系头关系头关系体关系体静态、稳定,固定不变静态、稳定,固定不变随数据更新不断变化随数据更新不断变化 1515例如,在第例如,在第1章的图章的图1-22所示的教学数据库中,共有五个关所示的教学数据库中,共有五个

11、关系,其关系模式可分别表示为:系,其关系模式可分别表示为: 学生(学生(学号学号,姓名,性别,年龄,系别),姓名,性别,年龄,系别)教师(教师(教师号教师号,姓名,性别,年龄,职称,工资,岗位津贴,系,姓名,性别,年龄,职称,工资,岗位津贴,系别)别)课程(课程(课程号课程号,课程名,课时),课程名,课时)选课(选课(学号,课程号学号,课程号,成绩),成绩)授课(教师号,课程号)授课(教师号,课程号)1616与学生关系模式对应的数据库中的实例有如下与学生关系模式对应的数据库中的实例有如下6个元个元组,如图组,如图2-1所示。所示。 S1 赵亦 女 17 计算机 S2 钱尔 男 18 信息 S3

12、 孙珊 女 20 信息 S4 李思 男 21 自动化 S5 周武 男 19 计算机 S6 吴丽 女 20 自动化 图图2-1 与学生关系模式对应的实例与学生关系模式对应的实例 17172.1.4 关系数据库与关系数据库模式关系数据库与关系数据库模式2.1.4 关系数据库与关系数据库模式关系数据库与关系数据库模式 关系数据库模型关系数据库模型关系数据库关系数据库型型值值静态、稳定,固定不变静态、稳定,固定不变随数据更新不断变化随数据更新不断变化 18182.2 关系的键与关系的完整性关系的键与关系的完整性 2.2.1 候选键与主关系键候选键与主关系键 候选键(候选键(Candidate Key)

13、“学生关系学生关系”中的中的学号学号能惟一标识每一个学生能惟一标识每一个学生 “选课关系选课关系”中,只有属性的组合中,只有属性的组合“学号学号+课程号课程号”才才能惟一地区分每一条选课记录能惟一地区分每一条选课记录 能能惟一标识惟一标识关系中元组的一个关系中元组的一个属性或属性集属性或属性集,称为,称为候选键候选键(Candidate Key) 候选候选键键 候选候选键键 惟一性惟一性 最小性最小性 1919主关系键(主关系键(Primary Key) 从多个候选键中选择一个作为查询、插入或删除元从多个候选键中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为组的操作变量,被选用

14、的候选键称为 主关系键主关系键。每个关系必定每个关系必定有且仅有一个有且仅有一个主关系键主关系键 学号学号 姓名姓名 以以学号学号作为数据操作的依据作为数据操作的依据 以以姓名姓名作为数据操作的依据作为数据操作的依据 主键主键主码主码关系键关系键关键字关键字2020主属性(主属性(Prime Attribute)与非码属性()与非码属性(Non-Prime Attribute) 主属性主属性:包含在主关系键中的各个属性称为主属性:包含在主关系键中的各个属性称为主属性 非码属性非码属性:不包含在任何候选键中的属性称为非码属性:不包含在任何候选键中的属性称为非码属性(或非主属性)(或非主属性) 全

15、码全码 :所有属性的组合是关系的候选键:所有属性的组合是关系的候选键 教师教师T 课程课程C 1:nn:1学生学生S课程课程C 1:nn:1教师教师T 学生学生S 课程课程C n:nn:nn:n候选码为候选码为(T,C,S)全码全码 21212.2.2 外部关系键外部关系键 2.2.2 外部关系键外部关系键关系关系R1关系关系R2属性属性X属性属性Y属性属性X属性属性Z主码主码 主码主码 外部关系键外部关系键或外码或外码 参照关系参照关系 被参照关系被参照关系 被参照关系的主码和参照关系的外码必须定义在同一个域上被参照关系的主码和参照关系的外码必须定义在同一个域上 22222.2.3 关系的完

16、整性关系的完整性 2.2.3 关系的完整性关系的完整性 完整性约束完整性约束 实体完整性实体完整性 参照完整性参照完整性 用户自定义完整性用户自定义完整性 必须满足必须满足体现具体领域中的语义约束体现具体领域中的语义约束 2323实体完整性(实体完整性(Entity Integrity) 主关系键的值不能为空或部分为空主关系键的值不能为空或部分为空 学生关系中的主关系键学生关系中的主关系键“学号学号”不能为空不能为空 选课关系中的主关系键选课关系中的主关系键“学号学号+课程号课程号”不能部分为空,不能部分为空, 即即“学号学号”和和“课程号课程号”两个属性都不能为空两个属性都不能为空 参照完整

17、性(参照完整性(Referential integrity) 如果关系如果关系R2的外部关系键的外部关系键X与关系与关系R1的主关系键相符,的主关系键相符,则则X的每个值或者等于的每个值或者等于R1中主关系键的某一个值,或者中主关系键的某一个值,或者取空值取空值2424S( 学学 生生 关关 系系 ) D( 系系 别别 关关 系系) SNo 学学 号号 SN 姓姓 名名 Sex 性性 别别 Age 年年 龄龄 Dept 系系 别别 Dept 系系 别别 Addr 地地 址址 S1 赵赵 亦亦 女女 17 计计 算算 机机 计计 算算 机机 1 号号 楼楼 S2 钱钱 尔尔 男男 18 信信 息

18、息 信信 息息 1 号号 楼楼 自自 动动 化化 2 号号 楼楼 S11 王王 威威 男男 19 未分配系别未分配系别2525用户定义完整性(用户定义完整性(User-defined Integrity)针对某一具体关系数据库的约束条件针对某一具体关系数据库的约束条件反映某一具体应用所涉及的数据必须满足的语义要求反映某一具体应用所涉及的数据必须满足的语义要求 如:成绩属性的取值范围在如:成绩属性的取值范围在0-100之间之间 26262.3 关系代数关系代数 关系数据结构关系数据结构 关系操作关系操作 关系完整性约束关系完整性约束 查询查询 更新更新 插入插入 删除删除修改修改 关系模型关系模

19、型 27272.3.1 关系代数的分类及其运算符关系代数的分类及其运算符 2.3.1 关系代数的分类及其运算符关系代数的分类及其运算符 关系代数是一种抽象的关系代数是一种抽象的查询语言查询语言 关系代数的关系代数的运算对象与运算结果运算对象与运算结果都是关系都是关系关系代数运算符关系代数运算符 * ,=, 集合运算符集合运算符 关系运算符关系运算符 比较运算符比较运算符 逻辑运算符逻辑运算符 2828关系代数的运算按关系代数的运算按运算符运算符的不同主要分为两类:的不同主要分为两类:传统的集合运算:传统的集合运算:把关系看成元组的集合,以元组作为集合中元素来把关系看成元组的集合,以元组作为集合

20、中元素来进行运算,其运算是从关系的进行运算,其运算是从关系的“水平水平”方向即行的方向即行的角度进行的。角度进行的。包括并、差、交和笛卡尔积等运算。包括并、差、交和笛卡尔积等运算。专门的关系运算:专门的关系运算:不仅涉及行运算,也涉及列运算,这种运算是为数不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引进的特殊运算。据库的应用而引进的特殊运算。包括选取、投影、连接和除法等运算。包括选取、投影、连接和除法等运算。29292.3.2 传统的集合运算传统的集合运算 设给定两个关系设给定两个关系R、S,若满足:,若满足:()() 具有相同的度具有相同的度n;()() R中第中第i个属性和个属性和S中第中第i个属性必须来自同个属性必须来自同一个域。一个域。则说关系则说关系R、S是是相容的相容的。除笛卡尔积外,其他的集合运算要求参加运除笛卡尔积外,其他的集合运算要求参加运算的关系必须满足上述的相容性定义。算的关系必须满足上述的相容性定义。3030并(并(Union) :RS=t | tRtS 差(差(Difference) :R-S = t | tRtS 交(交(Intersection) :RS

温馨提示

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

评论

0/150

提交评论