数据库原理-第三章-关系运算课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据库原理-第三章-关系运算课件.ppt》由会员分享,可在线阅读,更多相关《数据库原理-第三章-关系运算课件.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理数据库原理第三章第三章 关系运算关系运算1本章内容概要本章内容概要l 关系数据模型关系数据模型l关系数据模型定义关系数据模型定义l关键码和表之间的联系关键码和表之间的联系l关系模式关系模式l关系模型的完整性规则关系模型的完整性规则l 关系运算关系运算l关系查询语言和关系运算关系查询语言和关系运算l关系代数运算符的分类关系代数运算符的分类l传统的集合运算传统的集合运算l专门的关系运算专门的关系运算l扩充的关系代数操作(自学)扩充的关系代数操作(自学)l 关系代数表达式的优化(自学)关系代数表达式的优化(自学)l关系数据库关系数据库l关系数据库是通过关系数据模型建立起来的数关系数据库是通
2、过关系数据模型建立起来的数据库系统据库系统 。l关系数据库有一个严密的、能够数学推导的、关系数据库有一个严密的、能够数学推导的、容易理解的、得到实践证明正确的是关系数据模容易理解的、得到实践证明正确的是关系数据模型。型。l 基本概念:基本概念:利用利用集合代数集合代数、谓词演算谓词演算等抽象的等抽象的数学知识,深刻而透彻地介绍了数学知识,深刻而透彻地介绍了关系数据结构关系数据结构,关关系数据库操作系数据库操作及及关系数据库完整性关系数据库完整性这关系数据模型这关系数据模型的的三要素三要素的概念。的概念。l数据模型中的数据描述数据模型中的数据描述,组成的基本要素组成的基本要素.3.13.1关系数
3、据模型关系数据模型关系数据模型关系数据模型 关系数据模型三要素关系数据模型三要素-关系数据结构关系数据结构、关系操关系操作集合作集合和和关系完整性约束关系完整性约束。1 1、关系模型的数据结构、关系模型的数据结构关系结构关系结构l 关系模型的数据结构:非常单一,在用户看来关关系模型的数据结构:非常单一,在用户看来关系模型中数据的逻辑结构是一张二维表。但关系模系模型中数据的逻辑结构是一张二维表。但关系模型的这种简单的数据结构能够表达丰富的语义,描型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系。述出现实世界的实体以及实体间的各种联系。2 2、关系模型的数据操作、
4、关系模型的数据操作关系操作关系操作l 关系模型给出了关系操作的能力,它利用基于数关系模型给出了关系操作的能力,它利用基于数学的方法来表达关系操作,关系模型给出的关系操学的方法来表达关系操作,关系模型给出的关系操作往往不针对具体的作往往不针对具体的RDBMSRDBMS语言来表述。语言来表述。关系模型(续)关系模型(续)3 3、关系的三类完整性约束、关系的三类完整性约束l 关系模型提供了丰富的完整性控制机制,允许定关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户自定义三类完整性:实体完整性、参照完整性和用户自定义的完整性。其中实体完整性和参照完整性是关系模义的完
5、整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动型必须满足的完整性约束条件,应该由关系系统自动支持。用户自定义的完整性是应用领域特殊要求而需支持。用户自定义的完整性是应用领域特殊要求而需要遵循的约束条件,体现了具体领域中的语义约束。要遵循的约束条件,体现了具体领域中的语义约束。3.1.13.1.1关系数据模型的定义关系数据模型的定义 域(域(DomainDomain)定义定义1:1:域是一组具有相同数据类型的值的集合。又称为域是一组具有相同数据类型的值的集合。又称为值域值域(用用D D表示表示)。域中所包含的值的个数称为域的域中所包含的值的个数称为域的基数
6、基数(用用m m表示表示)。)。在关系中就是用域来表示属性的在关系中就是用域来表示属性的取值范围取值范围的。的。例如,自然数、整数、实数、长度小于例如,自然数、整数、实数、长度小于1010字节的字符串集字节的字符串集合、合、1-161-16之间的整数之间的整数,它们都是域。它们都是域。又如,又如,D1=张三,李四张三,李四 D1的基数的基数m1为为2 D2=男,女男,女 D2的基数的基数m2为为2 D3=19,20,21 D3的基数的基数m3为为3 笛卡尔积(笛卡尔积(Cartesian ProductCartesian Product)l 定义定义2 2:给定一组域给定一组域D1、D2、Dn
7、(这些域中可以包含相同这些域中可以包含相同的元素的元素,即可以完全不同即可以完全不同(也可以部分或全部相同也可以部分或全部相同),),D1、D2、Dn的的笛卡尔积笛卡尔积为:为:D D1 1D D2 2D Dn n=(d(d1,1,d d2,2,d dn n)|d)|di iDDi,i,i i1,2,1,2,,n n 由定义可以看出,笛卡尔积也是一个由定义可以看出,笛卡尔积也是一个集合集合。其中:其中:(1)(1)其中每一个元素其中每一个元素(d(d1,1,d d2,2,d dn n)叫作一个叫作一个n n元组元组(n-n-tupletuple),或简称为元组,或简称为元组(TupleTupl
8、e)。但元组不是。但元组不是d di i的集合,元的集合,元组由组由d di i按序排列而成。按序排列而成。(2)(2)元素中的每一个值元素中的每一个值d di i叫作一个分量叫作一个分量(Component)(Component)。分。分量来自相应的域量来自相应的域(d di iDDi i)。(3)(3)若若D Di i(i i1 1,2 2,n n)为有限集,为有限集,其基数(其基数(Cardinal numberCardinal number)为)为m mi i(i i1 1,2 2,n n),),则则D D1 1DD2 2D Dn n的基数为的基数为n n个域的基数累乘之积个域的基数累
9、乘之积(4)(4)笛卡尔积可表示为一个二维表。表中的每行对应一个元笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。组,表中的每列对应一个域。l如上面例子中如上面例子中D D1 1与与D D2 2的笛卡尔积:的笛卡尔积:D D1 1DD2 2=(=(张三张三,男男),(),(张三张三,女女),(),(李四李四,男男),(),(李四李四,女女)可以表示成二维表,如下表可以表示成二维表,如下表2.12.1所示:所示:姓名姓名 性别性别张三张三男男张三张三女女李四李四男男李四李四女女表表3-3 3-3 笛卡尔积笛卡尔积笛卡尔积是个二维表笛卡尔积是个二维表3 3、关系、关系(R
10、elationRelation)l关系是属性值域的笛卡尔积中有意义的元组的集合关系是属性值域的笛卡尔积中有意义的元组的集合l定义定义3:3:D D1 1DD2 2D Dn n的任何一个子集叫作在域的任何一个子集叫作在域D D1 1,D,D2 2,D Dn n上的关系,用上的关系,用 R(DR(D1 1,D,D2 2,D Dn n)表示。如上表示。如上例中例中D D1 1DD2 2笛卡尔积的子集可以构成关系笛卡尔积的子集可以构成关系T T1 1,如下如下表所示:表所示:姓名姓名性别性别张三张三男男李四李四女女笛卡尔积的子集笛卡尔积的子集关系关系T1笛卡尔积的二维表笛卡尔积的二维表关系关系T1的二
11、维表的二维表表现形式表现形式关系关系(续续)(1)R R表示关系的名字,表示关系的名字,n n是关系的目或度(是关系的目或度(DegreeDegree)。当当n=1n=1时,称为单元关系。时,称为单元关系。当当n=2n=2时,称为二元关系。时,称为二元关系。当当n=mn=m时,称为时,称为 m m元关系。元关系。(2)(2)关系中的每个元素是关系中的元组。关系中的每个元素是关系中的元组。通常用通常用t t表示表示。(3)(3)关系是笛卡尔积的子集,所以关系也是一个二维表。关系是笛卡尔积的子集,所以关系也是一个二维表。表的每行对应一个元组,表的每列对应一个域。由于表的每行对应一个元组,表的每列对
12、应一个域。由于域可以相同,为了加以区分,必须对每列起一个唯一的域可以相同,为了加以区分,必须对每列起一个唯一的名字,称为属性(名字,称为属性(AttributeAttribute)。)。n n目关系必有目关系必有n n个属性。个属性。关系关系(续续2)2)l对关系作如下限定和扩充:对关系作如下限定和扩充:无限关系在数据库系统中是无意义的。因此限定无限关系在数据库系统中是无意义的。因此限定关系数据模型中的关系必须是关系数据模型中的关系必须是有限集合有限集合。通过为关系的每个列附加一个属性名的方法取消通过为关系的每个列附加一个属性名的方法取消关系元组的有序性。关系元组的有序性。即即(d(d1,1,
13、d d2,2,d dj,j,d di i,d dn n)=(d =(d1,1,d d2,2,d di,i,d dj j,d dn n)(i)(i,j=1,2j=1,2,n n)l基本关系具有以下六条性质:基本关系具有以下六条性质:列是同质的列是同质的(HomogeneousHomogeneous),),即每一列中的分量是即每一列中的分量是同一类型的数据,来自同一个域。同一类型的数据,来自同一个域。不同的列可出自同一个域,称其中的每一列为一不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。个属性,不同的属性要给予不同的属性名。关系关系(续续3)3)列的顺序无所谓,即
14、列的次序可以任意交换。列的顺序无所谓,即列的次序可以任意交换。任意两个元组不能完全相同。任意两个元组不能完全相同。行的顺序无所谓,即行的次序可以任意交换。行的顺序无所谓,即行的次序可以任意交换。分量必须取原子值,即每一个分量都必须是不可分分量必须取原子值,即每一个分量都必须是不可分的数据项。的数据项。如下两图:如下两图:课程关系课程关系C(C(不规范的关系不规范的关系)课程关系课程关系C C(规范的关系规范的关系)课程名课程名学时学时理论理论实验实验数据库数据库52522020C C语言语言45452020数据结构数据结构55553030课程名课程名理论理论学时学时实验实验学时学时数据库数据库
15、52522020C C语言语言45452020数据结构数据结构555530303.1.2 3.1.2 关键码和表之间的关系关键码和表之间的关系插入键的概念:键(插入键的概念:键(KeyKey)-关键码关键码l1 1、超键(、超键(Super KeySuper Key)l在一个关系中能唯一标识元组的属性集合在一个关系中能唯一标识元组的属性集合例如:属性集(教师、系别)例如:属性集(教师、系别)l2 2、候选键(、候选键(Candidate KeyCandidate Key)l若关系中某一属性组的值能唯一地表示一个元组,则称该属若关系中某一属性组的值能唯一地表示一个元组,则称该属性组为候选键。例如
16、:教师编号、身份证号性组为候选键。例如:教师编号、身份证号l3 3、主键(、主键(Primary KeyPrimary Key)l在候选键中选中一个作为主键,主键带有主属性。在候选键中选中一个作为主键,主键带有主属性。l例如:可选教师号、身份证号均可。例如:可选教师号、身份证号均可。l4 4、合成键(、合成键(Composite KeyComposite Key)l由多个属性组成的候选键。由多个属性组成的候选键。l5 5、外键(、外键(Foreign KeyForeign Key)l若关系包含有另一个关系若关系包含有另一个关系R R所对应的属性所对应的属性F F,则,则F F为为R R的外键,
17、的外键,或当关系或当关系R1R1与与R2R2建立联系时,建立联系时,R1R1的属性的属性A1A1不是不是R1R1的候选键,的候选键,而是而是R2R2的候选键,则称的候选键,则称A1A1为为R1R1的外键。的外键。l例如教师编号、例如教师编号、系别编号系别编号、姓名、年龄、省份证号、姓名、年龄、省份证号例题:例题:l设教学管理数据库中有设教学管理数据库中有5 5个关系如下:个关系如下:学生学生 S(SNO,SNAME,AGE,SEX,BPLACE)S(SNO,SNAME,AGE,SEX,BPLACE)课程课程 C(CNO,CNAME,CREDIT)C(CNO,CNAME,CREDIT)教师教师
18、T(TNO,TNAME,AGE,PS)T(TNO,TNAME,AGE,PS)选课选课 SE(SNO,CNO,GRADE)SE(SNO,CNO,GRADE)任课任课 TE(CNO,TNO,SNUM)TE(CNO,TNO,SNUM)例例11找出找出S S,SESE关系中的各种关键字。关系中的各种关键字。例例22设关系设关系S S中有两个超键中有两个超键BCBC、C C,其中哪个是候选健、,其中哪个是候选健、主键、复合键。主键、复合键。Home关键码和表之间的关系(续)关键码和表之间的关系(续)3.1.3 3.1.3 关系模式关系模式l 在数据库中要区分型和值两方面。在数据库中要区分型和值两方面。关
19、系数据库中,关系模式是型,关系是值。关系模式是对关系关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述,那么一个关系需要描述哪些方面?的描述,那么一个关系需要描述哪些方面?l 首先应该知道,关系实际上是一张二维表,首先应该知道,关系实际上是一张二维表,表的每一行为一个元组,每一列为一个属性。表的每一行为一个元组,每一列为一个属性。其次一个关系通常是由赋予它的元组语义来确定的。其次一个关系通常是由赋予它的元组语义来确定的。元组语义实质上是一个元组语义实质上是一个n n目谓词(目谓词(n n是属性集中属性的个数)是属性集中属性的个数)。l 关系模式的关系在不同的时刻会随着现实世界的不关系
20、模式的关系在不同的时刻会随着现实世界的不断地变化会有所变化。断地变化会有所变化。现实世界的许多已有事实限定了关系模式,因此所有可能的关现实世界的许多已有事实限定了关系模式,因此所有可能的关系必须满足一定的完整性约束条件。系必须满足一定的完整性约束条件。l 关系模式的形式化表示关系模式的形式化表示 一个关系模式应当是一个一个关系模式应当是一个5 5元组。元组。关系模式(续)关系模式(续)l定义定义4 4:关系的描述称为关系模式关系的描述称为关系模式(Relation Schema)(Relation Schema)一一个关系模式应当是一个五元组。个关系模式应当是一个五元组。它形式化地表示为:它形
21、式化地表示为:R R(U,D,U,D,domdom,F,F)。其中其中R R为关系名,为关系名,U U为组成该关系的属性名集合,为组成该关系的属性名集合,D D为属性为属性组组U U中属性所来自的域的集合,中属性所来自的域的集合,domdom为属性向域的映象集合,为属性向域的映象集合,F F为属性间数据的依赖关系集合。为属性间数据的依赖关系集合。l关系模式通常简记为:关系模式通常简记为:R(AR(A1 1,A,A2 2,A,An n)或或R(U)R(U)。其中其中 A A1 1,A,A2 2,A,An n为属性名。而域名及属性向域的映象常常为属性名。而域名及属性向域的映象常常直接说明为属性的类
22、型、长度。直接说明为属性的类型、长度。l关系实际上就是关系模式在某一时刻的状态或内容。关系实际上就是关系模式在某一时刻的状态或内容。就是说,关系模式是型,关系是它的值。关系模式是静态的、就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系。和关系统称为关系。关系数据库关系数据库n在一个给定的现实世界领域中,所有实体及实体之间在一个给定的现实世界领域中,所有
23、实体及实体之间的联系关系的集合构成一个关系数据库的联系关系的集合构成一个关系数据库。n 在关系模型中,实体以及实体间的联系都是用关系来表示。在关系模型中,实体以及实体间的联系都是用关系来表示。例如学生实体、课程实体、学生与课程之间的多对多选课联例如学生实体、课程实体、学生与课程之间的多对多选课联系都可以分别用一个关系(或二维表)来表示。系都可以分别用一个关系(或二维表)来表示。n关系数据库也分成型和值。关系数据库也分成型和值。n型称为关系数据库模式,是对关系数据库的描述,是关系模型称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。式的集合。n值称为关系数据库,是关系的集合。值称为关系
24、数据库,是关系的集合。n关系数据库模式与关系数据库通常统称为关系数据库。关系数据库模式与关系数据库通常统称为关系数据库。3.1.4 3.1.4 关系模型的完整性规则关系模型的完整性规则l一、实体完整性规则(一、实体完整性规则(Entity IntegrityEntity Integrity)规则规则3.143.14:若属性组(或属性)若属性组(或属性)K K是基本关系是基本关系R R的主码(或称主的主码(或称主关键字),则所有关键字),则所有元组元组K K的取值唯一的取值唯一,并且并且K K中属性不中属性不能全部或部分取空值能全部或部分取空值。l二、参照完整性(二、参照完整性(Referent
25、ial integrityReferential integrity)定义定义5 5:设设F F是基本关系是基本关系R R的一个或一组属性,但不是的一个或一组属性,但不是关系关系R R的码,如果的码,如果F F与基本关系与基本关系S S的主码的主码K Ks s相对应,则相对应,则称称F F是基本关系是基本关系R R的外码的外码(Foreign keyForeign key),),并称基本并称基本关系关系R R为为参照关系参照关系(Referencing relationReferencing relation),),基本基本关系关系S S为为被参照关系被参照关系(Referenced rela
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 第三 关系 运算 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内