《第2章关系数据模型精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据模型精选文档.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章关系数据模型本讲稿第一页,共六十一页2.1 关系模型的数据结构关系模型的数据结构 关系模型的数据结构,无论是现实世界中的实体还是联系在关系模型的数据结构,无论是现实世界中的实体还是联系在关系模型中都用一个统一的概念关系模型中都用一个统一的概念关系关系(表)表示。(表)表示。1、笛卡尔积、笛卡尔积 基本概念:基本概念:域:域:具有相同数据类型的值的集合,具有相同数据类型的值的集合,例如:整数域是所有整数的集合,实数域是所有实数的集合。例如:整数域是所有整数的集合,实数域是所有实数的集合。基数:基数:域中元素个数称为域的基数。域中元素个数称为域的基数。本讲稿第二页,共六十一页 多个域可以进行
2、多个域可以进行笛卡尔积运算笛卡尔积运算(运算符:(运算符:)。)。定义:定义:给定一组域给定一组域D1,D2,Dn,它们的笛卡尔积为:它们的笛卡尔积为:D1 D2 Dn=(d1,d2,d n)|d i Di ,i=1,2,n 例如例如:若若 D1=0,1,D2=a,b,D3=x,y,z,则则D1 D2 D3 为:为:(0,a,x),(0,a,y),(0,a,z),(0,b,x),(0,b,y),(0,b,z),(1,a,x),(1,a,y);(1,a,z),(1,b,x),(1,b,y),(1,b,z)本讲稿第三页,共六十一页其中其中D1,D2,Dn中的某些域可能相同。笛卡尔积可以用一个中的某
3、些域可能相同。笛卡尔积可以用一个二维表来表示,笛卡尔积中每个元素(二维表来表示,笛卡尔积中每个元素(d1,d2,d n)称为一个)称为一个n元组,元组,对应于表中的一行;组成笛卡尔积的每个域对应表中的一列。对应于表中的一行;组成笛卡尔积的每个域对应表中的一列。每个元组中的每个值每个元组中的每个值di称为一个分量称为一个分量,亦称属性,对应表中的一个单亦称属性,对应表中的一个单元格。元格。(如书本如书本10-11页页)本讲稿第四页,共六十一页 2.关系的数学定义关系的数学定义 (1)定义。定义。D1D2Dn的的子子集集称称为为在在域域D1,D2,Dn上上的的关关系系(Relation),用用R(
4、D1,D2,.,Dn)表表示示。这这里里,R是是关关系系名名,n是是关关系系的的目目或或度度(degree),D是属性名。是属性名。(2)关系模式中关系模式中二维表表示关系二维表表示关系。表表名名为为关关系系名名,每每一一行行为为一一个个元元组组,每每一一列列为为一一个个属属性性,每每列列的的首标为属性名。首标为属性名。本讲稿第五页,共六十一页 3.关系的性质关系的性质 关关系系数数据据库库的的关关系系与与数数学学上上的的关关系系有有所所不不同同,它它的的性质有:性质有:每一列都是每一列都是不可分的数据项不可分的数据项,且来自同一域。且来自同一域。每每列列有有一一个个属属性性名名,其其所所有有
5、的的值值都都来来自自于于同同一一个个域域,不不同同列列有有不同的属性名,不同的属性名,但可出自同一域。但可出自同一域。任意两个元组不能完全相同任意两个元组不能完全相同。列之间的次序、列之间的次序、行之间的行之间的次序都是不重要的次序都是不重要的。本讲稿第六页,共六十一页 4.关系模式关系模式 关关系系的的描描述述称称为为关关系系模模式式。一一个个有有名名关关系系的的关关系系模模式式常常简简记记为它的属性名序列。为它的属性名序列。若一个关系的名为若一个关系的名为R,其所有属性名分别为其所有属性名分别为A1,A2,An,则关系模式记为:则关系模式记为:R(A1,A2,An)事事实实上上,除除了了上
6、上述述内内容容外外,关关系系模模式式还还应应描描述述:各各属属性性的的值值域域、属属性性与与域域之之间间的的映映像像关关系系、各各属属性性间间的的数数据据依依赖赖以以及及一一组组完完整整性性约约束条件。束条件。因此,因此,关系模式的形式化定义是一个多元组。关系模式的形式化定义是一个多元组。R(U,D,DOM,I,F)本讲稿第七页,共六十一页 多多元元组组中中,R为为关关系系名名;U是是组组成成R的的有有限限属属性性集集;D是是各各属属性性的的值值域域;DOM是是属属性性列列到到域域的的映映射射;I是是一一组组完完整整性性约约束束条条件件;F是属性间的一组依赖关系。是属性间的一组依赖关系。但一般
7、都简化为用但一般都简化为用R(U)表示。表示。关关系系模模式式是是一一个个框框架架,是是关关系系的的结结构构,不不随随时时间间而而变变化化的的。关关系系是是关关系系模模式式在在某某一一时时刻刻的的“当当前前值值”,它它是是随随着着各各元元组组的的增增删删,随随着着元元组组各各属属性性值值的的改改变变而而不不断断变变化化的的。实实际际使使用用中中,常常把把关关系系模模式式和和关关系系 统统称称为为关关系系,可可根根据据上上下下文文加加以以区区分分。一个系统中所有关系的当前值,一个系统中所有关系的当前值,称为称为 关系数据库关系数据库。本讲稿第八页,共六十一页 5 关系数据结构关系数据结构 关系模
8、型的数据结构是指用关系(即二维表)来表示关系模型的数据结构是指用关系(即二维表)来表示实体以及实体间的联系。实体以及实体间的联系。6 关系操作关系操作 关关系系操操作作指指对对关关系系进进行行的的存存储储操操作作和和检检索索(查查询询)操操作作。关关系系操操作作有有代代数数方方式式和和逻逻辑辑方方式式两两种种,即即关关系系代代数数和和关关系系演算。演算。本讲稿第九页,共六十一页 SQL(Structured Query Language,结结构构化化查查询询)语语言言是是一一种种兼兼有有关关系系 代代 数数 和和 关关 系系 演演 算算 特特 点点 的的 语语 言言,它它 集集 查查 询询(Q
9、uery)、操操 纵纵(Manipulation)、定定义义(Definition)和和控控制制(Control)四四个个功功能能于于一一身,身,是一种通用的、是一种通用的、功能极强的关系数据库操纵语言。功能极强的关系数据库操纵语言。关于关于SQL语言在后面的章节中将进一步介绍。语言在后面的章节中将进一步介绍。本讲稿第十页,共六十一页 在讲完整性约束之前,在讲完整性约束之前,首先要弄清数据库中的几个概念。首先要弄清数据库中的几个概念。(1)关键字或码(关键字或码(Key)。)。可可惟惟一一标标识识关关系系中中每每一一个个元元组组的的属属性性(组组)称称为为该该关关系系的的候候选选码码;若若一一
10、个个关关系系中中有有多多个个候候选选码码,则则选选取取其其中中一一个个为为主主关关键键字字(或或叫叫主主码)。码)。包含在候选码中的属性叫主属性。包含在候选码中的属性叫主属性。(2)外部键或外部码(外部键或外部码(Foreign Key)。)。设设有有两两个个关关系系R和和S,其其中中属属性性(组组)X是是两两个个关关系系的的公公共共键键,又又是是关关系系S的的关关键键字字,但但不不是是关关系系R的的关关键键字字,则则把把X叫叫做做关关系系R的外部码(外部键)。的外部码(外部键)。2.2关系模型的完整性约束本讲稿第十一页,共六十一页l解释:外键表示了两个关系之间的联系。以另一个关解释:外键表示
11、了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。表被称为主表的从表。外键又称作外关键字。本讲稿第十二页,共六十一页1 实体完整性(实体完整性(Entity Integrity)如果一个属性是某个关系的主关键字的组成部分,如果一个属性是某个关系的主关键字的组成部分,则该属性则该属性 就不能就不能取空值。取空值。实体完整性约束的理由是:实体完整性约束的理由是:一个基本关系通常对应现实世界的一个实体集;一个基本关系通常对应现实世界的一个实体集;现实世界的实体是可区分的,现实世界的实体是
12、可区分的,它们具有某种唯一性标识;它们具有某种唯一性标识;在关系模型中由主关键字作为惟一性标识;在关系模型中由主关键字作为惟一性标识;如如果果主主关关键键字字取取空空值值,说说明明存存在在某某个个不不可可标标识识的的实实体体,这这和和相矛盾,相矛盾,所以主关键字不能取空值。所以主关键字不能取空值。书上书上12-13页例页例本讲稿第十三页,共六十一页2 参照完整性参照完整性(Referential Integrity)设有两个基本关系设有两个基本关系R和和S,属性组属性组A是是S的主关键字,的主关键字,是是R的外部码,的外部码,则对于则对于R中中属性组属性组A的取值只有两种可能性:的取值只有两种
13、可能性:取空值;取空值;等于等于S中中属性组属性组A的主关键字值。的主关键字值。书上书上13页例页例本讲稿第十四页,共六十一页 3用户定义的完整性(用户定义的完整性(User Definitional Integrity)实体完整性和参照完整性约束是关系数据模型的两个最实体完整性和参照完整性约束是关系数据模型的两个最基本的完整性约束。基本的完整性约束。而用户自定义的完整性是针对某一个具而用户自定义的完整性是针对某一个具体数据库的约束条件,体数据库的约束条件,由应用环境决定,由应用环境决定,它反映的是某一它反映的是某一具体应用所涉及的数据必须满足的语义要求。具体应用所涉及的数据必须满足的语义要求
14、。书上书上13页例页例本讲稿第十五页,共六十一页2.3 关系代数关系代数 前前2节节已已对对关关系系模模型型的的数数据据结结构构和和完完整整性性约约束束做做了了介介绍绍。本节主要讨论数据操作,本节主要讨论数据操作,即关系代数。即关系代数。关关系系代代数数是是一一种种抽抽象象的的查查询询语语言言,是是关关系系数数据据操操纵纵语语言言的的一一种种传传统统表表达达方方式式。关关系系代代数数中中给给出出的的功功能能在在任任何何实实际际语语言言中中应该都能实现。应该都能实现。关系代数是通过关系的运算来表达查询的。关系代数是通过关系的运算来表达查询的。它的运它的运算对象是关系,算对象是关系,运算结果也是关
15、系。运算结果也是关系。本讲稿第十六页,共六十一页 关系代数的运算分为两类:关系代数的运算分为两类:(1)传统的集合运算:传统的集合运算:并、并、交、交、差和广义笛卡尔乘积。差和广义笛卡尔乘积。(2)专门的关系运算:专门的关系运算:选择、选择、投影、投影、连接和除。连接和除。在集合运算中,在集合运算中,还涉及到两类辅助运算符:还涉及到两类辅助运算符:(1)比比较较运运算算符符:(大大于于)、=(大大于于等等于于)、(小小于于)、=(小小于于等等于于)、(等等于于)、(不不等等于)。于)。(2)逻辑运算符:逻辑运算符:(非)、(非)、(与)、(与)、(或)。(或)。本讲稿第十七页,共六十一页 2.
16、3.1 传统的集合运算传统的集合运算 传传统统的的集集合合运运算算是是二二目目运运算算(又又称称二二元元操操作作)。以以下下运运算算用用到到的的两两个个关关系系R和和S均均为为n 度度关关系系,且且相相应应的的属属性性取取自同一个域。自同一个域。基本运算如下:基本运算如下:1 并(并(Union)关系关系R和和S的并为:的并为:RS=t|tRtS 其结果仍为其结果仍为n目关系。目关系。任取元组任取元组t,当且仅当当且仅当t属于属于R或或t属于属于S时,时,t属于属于RS。(例书上。(例书上18页)页)注意:注意:R和和S的所有元组合并,并且删去重复的元组。的所有元组合并,并且删去重复的元组。R
17、和和S的属性个数相同,并且相应属性分别有的属性个数相同,并且相应属性分别有 相同的值域。相同的值域。本讲稿第十八页,共六十一页 2 差(差(Difference)关系关系R和和S的差为:的差为:RS=t|tRt S 其其结结果果仍仍为为n目目关关系系。任任取取元元组组t,当当且且仅仅当当t属于属于R且且t不属于不属于S时,时,t属于属于R-S。(例书上(例书上19页)页)本讲稿第十九页,共六十一页3 交(交(Intersection)关系关系R和和S的交为:的交为:RS=t|tRtS 其结果仍为其结果仍为n目关系。目关系。任取元组任取元组t,当且仅当当且仅当 t 既属既属于于R又属于又属于S时
18、,时,t 属于属于RS。从集合论的观点分析,从集合论的观点分析,关系关系的交运算可表示为差运算:的交运算可表示为差运算:RS=R-(R-S)。(例书上(例书上20页)页)本讲稿第二十页,共六十一页 4 笛卡尔乘积(笛卡尔乘积(Cartesian Product)设设R为为m目目关关系系,S为为n目目关关系系,则则R和和S的的广广义义笛卡尔乘积为:笛卡尔乘积为:RS=t|t=tr,tstrRtsS 其其结结果果为为m+n目目关关系系。元元组组的的前前m列列是是关关系系R的的一一个个元元组组,元元组组的的后后n列列是是关关系系S的的一一个个元元组组。若若R有有k1个元组,个元组,S有有k2个元组,
19、个元组,则则RS有有k1k2个元组。个元组。(例书上(例书上17页)页)本讲稿第二十一页,共六十一页 实实际际运运算算时时,可可从从R的的第第一一个个元元组组开开始始,依依次次与与S的的每每一一个个元元组组组组合合,然然后后对对R的的下下一一个个元元组组进进行行同同样样的的操操作作,直直至至R的的最最后后一一个个元元组组也也进进行行完完相相同同操操作作为为止止,即即可可得得到到RS的全部元组。的全部元组。【例例2.1】给给定定两两个个相相容容性性关关系系R和和S,计计算算 RS,RS,RS,RS的结果。的结果。解解:依依据据四四种种运运算算的的定定义义,可可得得到到如如图图2.2(a)、(b)
20、、(c)、(d)所示的结果。所示的结果。(学生版书学生版书)本讲稿第二十二页,共六十一页计算RS,RS,RS,RS的结果。图2.1本讲稿第二十三页,共六十一页图2.2传统集合运算举例本讲稿第二十四页,共六十一页2.3.2 专门的关系运算专门的关系运算专门的关系运算包括选择、投影、连接和除。前两个是一元操作,后两个为二元操作。1选择(Selection)设R是n目关系,F是命题公式,其结果为逻辑值,取“真”或“假”,则R的选择操作定义为:F(R)=t|tRF(t)=true即即取取出出满满足足条条件件F的的所所有有元元组组。其中,F包含下列两类符号:本讲稿第二十五页,共六十一页运算对象(元组分量
21、(属性名或列序号)、常数);运算符(、=、=、)。例如,例如,对书本对书本14页表页表2.3可写出:可写出:press=高等教育出版社(book),price*stock100(book),press=高等教育出版社year=2002(book)F中的常量需用单引号括起。选选择择操操作作一一般般从从行行的的角角度进行运算。度进行运算。本讲稿第二十六页,共六十一页 2 投影(Projection)l关系R上的投影是从R中选择出若干属性列组成新的关系。记作:A(R)=tA|tR其中A为R中的属性列。本讲稿第二十七页,共六十一页例如title,price(book)。取出title,price分量的
22、值。titlePrice高效程序的奥秘数据库系统概论C+程序设计语言.28.0059.5048.00.图2.3投影说明举例本讲稿第二十八页,共六十一页投投影影操操作作一一般般从从列列的的角角度度进进行行运运算算,可以改变关系中列的顺序。需需要要说说明明的的是是,投投影影操操作作消消去去部部分分列列后后,可可能能会会出出现现重重复复元元组组,根根据据关关系系特特性性,应应将将重重复复元元组组删删去去。如下面给出的关系S,在域列A,C上投影后结果如右图所示。ACa1c2a1c2a2c1本讲稿第二十九页,共六十一页3连接(Join)连连接接也也称称为为连连接接,是是从从两两个个关关系系的的笛笛卡卡尔
23、尔乘乘积积中中选选取取属属性性间间满满足足一一定定条条件件的的元元组组。记作:RABS=AB(RS)其中,A和B分别是R和S上目数相等且可比的属性组(名称可不相同)。AB作为比较公式F,F的一般形式为F1F2Fn。本讲稿第三十页,共六十一页下面介绍两种比较重要的连接:等值连接和自然连接。(1)等值连接(Equijoin)。当一个连接表达式中所有运算符取“=”时的连接就是等值连接,是从两个关系的广义笛卡尔乘积中选取A,B属性间相等的元组。记作:RA=BS=A=B(RS)若若A和和B的的属属性性个个数数为为n,A和和B中中属属性性相相同同的的个个数数为为k(nk0),则则等等值值连连接接结结果果将
24、将出出现现k个个完完全全相相同同的的列列,即数据冗余,即数据冗余,这是它的不足。这是它的不足。本讲稿第三十一页,共六十一页(2)自然连接(Naturaljoin)。等等值值连连接接可可能能出出现现数数据据冗冗余余,而而自自然然连连接接将将去去掉掉重重复复的的列列。自自然然连连接接是是一一种种特特殊殊的的等等值值连连接接,它它要要求求两两个个关关系系中中进进行行比比较较的的分分量量必必须须是是相相同同的的属属性性组组,并并且且将将去去掉掉结结果果中中重复的属性列。重复的属性列。自然连接记作:RS=RUS(R.A1=S.A1R.A2=S.A2R.An=S.An(RS)本讲稿第三十二页,共六十一页自
25、然连接和等值连接的区别是:等值连接相等的属性可以是相同属性,也可以是不同属性;自然连接相等的属性必须是相同的属性。自然连接必须去掉重复属性(指相等比较属性,其它相同属性不管),而等值连接无此要求。一般地,自然连接用于有公共属性的情况中。如果两个关系没有公共属性,那么它们的自然连接就退化为笛卡尔乘积。本讲稿第三十三页,共六十一页例2.2给定如下关系R和S,计算:B5(R),A,B(R),RBDS,RR.B=S.BR.C=S.CSRS(R和S及结果如图2.4所示)。本讲稿第三十四页,共六十一页图2.4选择、投影、连接举例本讲稿第三十五页,共六十一页图2.4选择、投影、连接举例本讲稿第三十六页,共六
26、十一页练习lRABCa1b15a1b26a2b38a2b412lSBEb13b27b310b42b52求求:1、RCES2、RR.B=S.BS3、RS4、C7(R)5、2(S)本讲稿第三十七页,共六十一页4除(Division)给给定定关关系系R(X,Y,Z)和和S(Y,Z),其其中中X,Y,Z为为属属性性或或属属性性组组合合。要要求求R的的属属性性集集包包含含S的的属属性性集集。RS是满足下列条件的最大关系:其中每个元组t与S中的各个元组s组成的新元组t,s必在关系R中。定义形式为:RS=X(R)X(X(R)S)R)=t|tX(R)且sS,t,sR关系的除操作需要说明的是:本讲稿第三十八页,
27、共六十一页(1)RS的新关系属性是由属于R但不属于S的所有属性构成的。(2)RS的任一元组都是R中某元组的一部分。但必须符合下列要求:即任取属于RS的一个元组t,则t与S的任一元组相接后,结果都为R中的一个元组。(3)R(X,Y)S(Y,Z)R(X,Y)Y(S)本讲稿第三十九页,共六十一页(4)RS的计算过程如下:T=X(R);W=(TS)R;V=X(W);RS=TV。例题:课本P21P22【例2.3】给定关系R和S,求RS(如图2.5)。本讲稿第四十页,共六十一页图2.5除法操作举例本讲稿第四十一页,共六十一页l关系RlABCD-abcdabefbccdbcefedcdlabghledefl
28、求RS关系SABabbced关系TABCD-abcdabefbccdbcefedcdedef求TS本讲稿第四十二页,共六十一页【例2.4】基于前边给出的关系数据库E、P、EP:E(E,EN,EA,EE,ED)Key=EP(P,PN,PL)Key=PEP(E,P,L)Key=E,P职工表(职工号,姓名,年龄,性别,部门)项目表(项目号,项目名称,项目工时)联系表(职工号,项目号,工时)用关系代数完成下列问题的查询:本讲稿第四十三页,共六十一页用关系代数完成下列问题的查询:检索部门为“维修班”的全体职工。ED=WX(E)检索年龄大于48岁的女职工。EE=女348(E)查询职工的姓名和所在的部门。E
29、N,ED(E)本讲稿第四十四页,共六十一页检索参与了项目号为“P5”项目的职工的职工号与工时,并给出对应职工的姓名。EN,E#,L(P=P5(EP)E)检索未参与名为“礼堂”项目的职工号、姓名。E,EN(PN=礼堂(P)EP)E)E,EN(E)E,EN(PN=礼堂(P))EP)E)本讲稿第四十五页,共六十一页检索参与项目号为P2或P4的职工号、姓名。T=E(P=P2P=P4(EP)R=E,EN(TE)检索同时参与项目号为P2和P4的职工号。E#(2=P25=P41=4(EPEP)或构造临时关系T,再求E,P(EP)TT为P#P2P4本讲稿第四十六页,共六十一页检索参与全部项目职工姓名。EN(E
30、,P(EP)P(P)E)检索参与项目包含职工E3参与项目的职工号,或参与项目不包含职工E3所参与项目的职工号及姓名。E,P(EP)P(E=E3(EP)E(E)(E,P(EP)P(E=E3(EP)E,EN(E(E)(E,P(EP)P(E=E3(EP)E)本讲稿第四十七页,共六十一页5.扩充的关系代数运算根据前面讨论可知,涉及两个及两个以上关系表的查询必然用到连接运算,包括等值连接、非等值连接、自然连接。除此之外,为了保留更多信息,还有外连接、半连接、外部并、复合连接,这四类连接就是扩充的关系代数运算。本讲稿第四十八页,共六十一页 (1)外连接(Outer join)两个关系R和S在作自然连接时,
31、选择两个关系在所有公共属性上值相等的元组组成新关系的元组。此时,两个关系公共属性上值不相等的元组无法进入连接后的新关系,造成R和S中部分元组值被舍弃。这种舍弃是正常的,但有时希望该舍弃的元组继续保留在新关系中。本讲稿第四十九页,共六十一页【例2.5】关系数据库S和SC两个关系有如下元组(如图2.6):S(S,SN,SA,SE,SD)SC(S,C,G)执行运算SSC后,结果如图2.7。本讲稿第五十页,共六十一页图2.6基本关系R和S本讲稿第五十一页,共六十一页图2.7SSC运算结果本讲稿第五十二页,共六十一页从例2.5可见,结果关系中没有95003和95004两个学生的数据,原因在于他们没有选课
32、,即SC中无相应元组,这是正确的。但是,有时我们想以S为主体列出每个学生的基本情况及其选课情况,若该生未选课,则只输出其基本信息,其选课信息为空值,即产生如图2.8所示的结果(此时用到外连接)。本讲稿第五十三页,共六十一页图2.8外连接说明举例本讲稿第五十四页,共六十一页【定义】如果R和S在作自然连接时,把该舍弃的元组也保留在新关系中,在新增加的属性上填上空值(NULL),那么这种操作称为外连接,用符号:表示。根据保留元组的不同,外连接又分为左外连接和右外连接。(1)左外连接。如如果果R和和S在在作作自自然然连连接接时时,只只把把R中中原原该该舍舍弃弃的的元元组组保保留留在在新关系中,那么这种
33、操作称为左外连接,用符号表示:本讲稿第五十五页,共六十一页(2)右外连接。如如果果R和和S在在作作自自然然连连接接时时,只只把把S中中原原该该舍舍弃弃的的元元组组保保留留在在新新关关系系中中,那那么么这这种种操操作作称称为为右右外外连连接接,用符号:表示。【例2.6】在图3.9中给出两个基本关系R和S为(a)和(b),可将其自然连接、外连接、左外连接、右外连接分别为(c),(d),(e),(f)。从上述结果可见,外连接的交换律不成立,即RSRS.本讲稿第五十六页,共六十一页本讲稿第五十七页,共六十一页图2.9外连接操作举例本讲稿第五十八页,共六十一页6.重命名()重命名操作为关系及其属性指定新
34、的名称。重命名运算用字母表示。操作表示方法如下:(1)x(E)表示将关系E重命名为x。(2)x(A1,A2,A3,An)(E)表示将E重命名为x,同时还将其各属性重命名为A1,A2,A3,An。通常有两种情况需要使用重命名操作:(1)当两个相同关系进行笛卡尔积运算时,为区分笛卡尔积之后的属性,需要将其中一个关系重命名。Bookbookbookb(book)则可以用左边book.isbn和右边的b.isbn加以区分的。本讲稿第五十九页,共六十一页(2)某些关系运算产生的关系不具有名称和属性名。如集合的并、差运算,由于参与运算的两个关系未必同名,对应属性的名称也未必相同,因此其结果没有名称,结果中各列也没有属性名,这时可用重命名操作为该结果及其属性指定名称以方便引用。例:查询所有书籍的最高价。解决办法:首先选择出所有至少比一个价格低的价格,即非最高价格,这里就要使用重命名操作。表达式:b1.price(b1.priceb2.price(b1(book)b1(book)本讲稿第六十页,共六十一页然后用所有价格的集合减去上述集合得到最后结果,如下:b1.price(book)b1.price(b1.priceb2.price(b1(book)b1(book)本讲稿第六十一页,共六十一页