第三章 关系运算精选文档.ppt
《第三章 关系运算精选文档.ppt》由会员分享,可在线阅读,更多相关《第三章 关系运算精选文档.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 关系运算本讲稿第一页,共六十三页第三章第三章 关系运算关系运算教学内容:教学内容:教学内容:教学内容:l l基本概念:基本概念:基本概念:基本概念:关系代数:关系代数:关系代数:关系代数:关系演算:关系演算:关系演算:关系演算:l l查询优化:查询优化:查询优化:查询优化:关系模型、关键码、关系的定义和性质、关系模型、关键码、关系的定义和性质、关系模型、关键码、关系的定义和性质、关系模型、关键码、关系的定义和性质、三类完整性规则。三类完整性规则。三类完整性规则。三类完整性规则。基本操作、组合操作、扩充操作。基本操作、组合操作、扩充操作。基本操作、组合操作、扩充操作。基本操作、组合操作、
2、扩充操作。元组演算、域演算、关系演算的安全性和等价性。元组演算、域演算、关系演算的安全性和等价性。元组演算、域演算、关系演算的安全性和等价性。元组演算、域演算、关系演算的安全性和等价性。关系代数表达式的等价转换规则、优化算法。关系代数表达式的等价转换规则、优化算法。关系代数表达式的等价转换规则、优化算法。关系代数表达式的等价转换规则、优化算法。教学重点:教学重点:关系代数运算关系代数运算本讲稿第二页,共六十三页11关系数据模型关系数据模型关系数据模型关系数据模型的基本概念的基本概念的基本概念的基本概念一、基本术语一、基本术语一、基本术语一、基本术语 用用用用二维表格二维表格二维表格二维表格表示
3、实体集,表示实体集,表示实体集,表示实体集,外键外键外键外键表示实体间联系的模型称为关系模型;表示实体间联系的模型称为关系模型;表示实体间联系的模型称为关系模型;表示实体间联系的模型称为关系模型;关系:关系:关系:关系:对应二维表格;对应二维表格;对应二维表格;对应二维表格;元组:元组:元组:元组:表中的行;表中的行;表中的行;表中的行;属性:属性:属性:属性:表中的列;表中的列;表中的列;表中的列;域:域:域:域:属性的取值范围。属性的取值范围。属性的取值范围。属性的取值范围。本讲稿第三页,共六十三页 二、数学定义二、数学定义二、数学定义二、数学定义 定义一:定义一:定义一:定义一:域(域(
4、域(域(DomainDomainDomainDomain)是值的集合。即域是属性的取值范围。)是值的集合。即域是属性的取值范围。)是值的集合。即域是属性的取值范围。)是值的集合。即域是属性的取值范围。定义二:定义二:定义二:定义二:关系的定义关系的定义关系的定义关系的定义 用集合论的观点定义关系:用集合论的观点定义关系:用集合论的观点定义关系:用集合论的观点定义关系:用值域的观点定义关系:用值域的观点定义关系:用值域的观点定义关系:用值域的观点定义关系:关系是一个元数为关系是一个元数为关系是一个元数为关系是一个元数为K K K K的元组的集合。的元组的集合。的元组的集合。的元组的集合。即这个关
5、系中有若干个元组,每个元组有即这个关系中有若干个元组,每个元组有即这个关系中有若干个元组,每个元组有即这个关系中有若干个元组,每个元组有K K K K个属性值。个属性值。个属性值。个属性值。把关系看成一个集合,集把关系看成一个集合,集把关系看成一个集合,集把关系看成一个集合,集合中的元素是元组。合中的元素是元组。合中的元素是元组。合中的元素是元组。关系是属性值域笛卡儿积的一个子集。关系是属性值域笛卡儿积的一个子集。关系是属性值域笛卡儿积的一个子集。关系是属性值域笛卡儿积的一个子集。本讲稿第四页,共六十三页三、关系的性质三、关系的性质三、关系的性质三、关系的性质11、列具有相同的性质,不同的列可
6、有相同的域,、列具有相同的性质,不同的列可有相同的域,、列具有相同的性质,不同的列可有相同的域,、列具有相同的性质,不同的列可有相同的域,22、任意两个元组不能相同,元组的次序可交换;、任意两个元组不能相同,元组的次序可交换;、任意两个元组不能相同,元组的次序可交换;、任意两个元组不能相同,元组的次序可交换;33、每个属性值、每个属性值、每个属性值、每个属性值(分量分量分量分量)都是不可分的数据项都是不可分的数据项都是不可分的数据项都是不可分的数据项(即属性即属性即属性即属性值为最小单位值为最小单位值为最小单位值为最小单位).).本讲稿第五页,共六十三页四、关键码四、关键码超超键:键:侯选键:
7、侯选键:主键:主键:外键:外键:能唯一标识元组的属性组合(可能存在多余的属性)。能唯一标识元组的属性组合(可能存在多余的属性)。能唯一标识元组的最小属性组合。能唯一标识元组的最小属性组合。不含有多余属性的超不含有多余属性的超键键若一个关系中有多个侯选键若一个关系中有多个侯选键,则选其中的一个为关系的主键。则选其中的一个为关系的主键。若某个属性组若某个属性组F F是关系是关系R R的主键的主键,F,F又在关系又在关系S S中出现中出现,则则F F是是S S的外键的外键.若一个关系若一个关系R R中包含有另一个关系中包含有另一个关系S S的主键所对应的属性的主键所对应的属性组组F F,则称则称F
8、F为为R R的外键。称关系的外键。称关系S S为参照关系,为参照关系,R R为依赖为依赖关系。关系。本讲稿第六页,共六十三页 五、五、关系模型的三类完整性规则关系模型的三类完整性规则实体完整性规则:实体完整性规则:实体完整性规则:实体完整性规则:参照完整性规则:参照完整性规则:参照完整性规则:参照完整性规则:用户定义的完整性规则:用户定义的完整性规则:用户定义的完整性规则:用户定义的完整性规则:若若某某个个属属性性组组F F是是关关系系R R的的主主键键,F,F又又在在关关系系S S中中出出现现,则则F F是是S S的的外外键键.F.F在在S S中中的的取取值值只只有有两两种种可可能能,一一为
9、为空空,二二为为R R中中的的某个主键值某个主键值通过外键通过外键子句来实现子句来实现(foreign key)(foreign key)。由应用环境决定,反映某一具体应用由应用环境决定,反映某一具体应用 涉及的数据必须满足的约束条件。涉及的数据必须满足的约束条件。关系中元组的主键值不能为空且不能重复。关系中元组的主键值不能为空且不能重复。通过主键子句来实现通过主键子句来实现(primary key)(primary key)本讲稿第七页,共六十三页六、关系模型的形式定义六、关系模型的形式定义(有三个组成部分)数据结构:数据结构:数据操作:数据操作:完整性规则:完整性规则:数数据据库库中中全全
10、部部数数据据及及其其相相互互联联系系都都被被组组织织成成关系(即二维表格)的形式。关系(即二维表格)的形式。提供了一组完备的高级关系运算,以支持提供了一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分为关系对数据库的各种操作。关系运算分为关系代数和关系演算两类。代数和关系演算两类。三类完整性规则三类完整性规则本讲稿第八页,共六十三页2关系代数关系代数一、一、关系数据语言关系数据语言关系数据库语言由查询语句(描述用户的检索操作)和更新关系数据库语言由查询语句(描述用户的检索操作)和更新语句(描述用户的插入、修改和删除等操作)两大类组成。语句(描述用户的插入、修改和删除等操作)两大类组成
11、。关系查询语言分为:关系查询语言分为:关系代数语言:关系代数语言:关系演算语言:关系演算语言:基于关系代数和关系演算语言双重特点的语言:基于关系代数和关系演算语言双重特点的语言:以集合操作为基础;以集合操作为基础;以谓词演算为基础;以谓词演算为基础;元组关系演算语言元组关系演算语言 域关系演算语言域关系演算语言SQLSQL本讲稿第九页,共六十三页二、关系代数的基本运算二、关系代数的基本运算二、关系代数的基本运算二、关系代数的基本运算1.1.1.1.并并并并(unionunionunionunion):):):):设关系设关系设关系设关系R R R R和关系和关系和关系和关系S S S S具有相
12、同的元数,且相应的具有相同的元数,且相应的具有相同的元数,且相应的具有相同的元数,且相应的 属性列具有相同的特征:属性列具有相同的特征:属性列具有相同的特征:属性列具有相同的特征:RStRSttRtStRtS 其中:其中:其中:其中:t t t t是元组变量,是元组变量,是元组变量,是元组变量,R R R R和和和和S S S S的元数相同。的元数相同。的元数相同。的元数相同。并并并并运运运运算算算算要要要要求求求求两两两两个个个个关关关关系系系系属属属属性性性性的的的的性性性性质质质质必必必必须须须须一一一一致致致致且且且且并并并并运运运运算算算算的的的的结结结结果果果果要要要要消消消消除重
13、复的元组。除重复的元组。除重复的元组。除重复的元组。举例:举例:本讲稿第十页,共六十三页 2.2.2.2.差差差差(differedce)(differedce)(differedce)(differedce):设关系设关系设关系设关系R R R R和关系和关系和关系和关系S S S S具有相同的元数,具有相同的元数,具有相同的元数,具有相同的元数,且相应的属性列具有相同的特征:且相应的属性列具有相同的特征:且相应的属性列具有相同的特征:且相应的属性列具有相同的特征:RStRSttRttRt SS 其中:其中:其中:其中:t t t t是元组变量,是元组变量,是元组变量,是元组变量,R R R
14、 R和和和和S S S S的元数相同。的元数相同。的元数相同。的元数相同。举例:举例:本讲稿第十一页,共六十三页3.3.3.3.笛卡儿积(笛卡儿积(笛卡儿积(笛卡儿积(cartesian productcartesian productcartesian productcartesian product)设设设设关关关关系系系系R R R R和和和和关关关关系系系系S S S S的的的的元元元元数数数数分分分分别别别别为为为为r r r r和和和和s s s s。定定定定义义义义R R R R和和和和S S S S的的的的笛笛笛笛卡卡卡卡儿儿儿儿积积积积RSRSRSRS是是是是一一一一个个个个
15、(r+sr+sr+sr+s)元元元元的的的的元元元元组组组组集集集集合合合合,每每每每个个个个元元元元组组组组的的的的前前前前r r r r个个个个分分分分量量量量(属属属属性性性性值值值值)来来来来自自自自R R R R的的的的一一一一个元组,后个元组,后个元组,后个元组,后s s s s个分量是个分量是个分量是个分量是S S S S的一个元组,记为的一个元组,记为的一个元组,记为的一个元组,记为RSRSRSRS。形式定义如下:形式定义如下:形式定义如下:形式定义如下:RStRStt=tt=ttr rRtRts sSS 若若若若R R R R有有有有n n n n个元个元个元个元组组组组,S
16、 S S S有有有有m m m m个元个元个元个元组组组组,则则则则RSRSRSRS有有有有nmnmnmnm个元个元个元个元组组组组。举例:举例:本讲稿第十二页,共六十三页 4.4.投影(投影(projectionprojection):):对一个关系进行垂直分割对一个关系进行垂直分割,消去某些列,消去某些列,并重新安排列的顺序并重新安排列的顺序,再删去重复元组。再删去重复元组。i1,imi1,im(R)t|t=t(R)t|t=tRR,1,1 m m k k 设设关关系系R R是是k k元元关关系系,R R在在其其分分量量A Ai1i1,A,Aimim(mk,(mk,i1,i1,im,im为为
17、1 1到到k k之之间间的的整整数数)上上的的投投影影用用i1i1,imim(R R)表表示示,它它是是从从R R中中选选择择若若干干属属性性列组成的一个列组成的一个m m元元组的集合,形式定义如下:元元组的集合,形式定义如下:举例:举例:本讲稿第十三页,共六十三页 5.5.选择选择(selection)(selection)根据某些条件对关系做水平分割根据某些条件对关系做水平分割,选择符合条件的元组。选择符合条件的元组。条件用命题公式条件用命题公式F F(即计算在括号中的条件表达式)(即计算在括号中的条件表达式)表示表示.F F中的运算对象中的运算对象:常量常量(用引号括起来)用引号括起来)
18、,元组分量(属性名或列的序号),元组分量(属性名或列的序号),算术比较运算符算术比较运算符:,,逻辑运算符逻辑运算符:,。关系关系R R关于公式关于公式F F的选择操作用的选择操作用F F(R R)表示,形式定义如下:)表示,形式定义如下:F F(R R)=t|tRF(t)=t|tRF(t)=T T 举例:举例:本讲稿第十四页,共六十三页 三、关系代数的组合操作三、关系代数的组合操作 1 1、交(、交(intersectionintersection)设设关关系系R R和和关关系系S S具具有有相相同同的的元元数数n n(即即两两个个关关系系都都有有n n个个属属性性),而而且且相相应应的的属
19、属性性取取自自同同一一个个域域。关关系系R R和和S S的的交交记记为为RSRS,结结果果仍仍为为n n元元的的关关系系。由由即属于即属于R R又属于又属于S S的元组组成。形式定义如下:的元组组成。形式定义如下:RStRSttRtStRtS t t是元组变量,是元组变量,R R和和S S的元数相同。的元数相同。关系的交可以由关系的差来表示,即:关系的交可以由关系的差来表示,即:RSR-RSR-(R-SR-S)举例举例:本讲稿第十五页,共六十三页 2 2、联接联接(join)(join)联接操作是笛卡儿积、选择和投影操作的组合。联接操作是笛卡儿积、选择和投影操作的组合。联接分成联接分成联接和联
20、接和F F联接两种。联接两种。联接:联接:F F 联接:联接:ijij R S R S i(r+j)i(r+j)(RS)(RS)如果如果为等号为等号“=”,那么这个联结操作称为等值连接。,那么这个联结操作称为等值连接。F F F F联联接接是是从从关关系系R R和和S S的的笛笛卡卡儿儿积积中中选选取取属属性性间间满满足足某一公式某一公式F F的元组的元组,记为记为:R SR S 这里这里F F是形为是形为F1F2F1F2FnFn公式,每个公式,每个FiFi是形为是形为ijij的式子。的式子。而而i i和和j j分别为关系分别为关系R R和和S S的第的第i i个分量和第个分量和第j j个分量
21、的序号。个分量的序号。举例:举例:本讲稿第十六页,共六十三页 3 3、自然联接、自然联接(natural join)-(natural join)-特殊的等值连接特殊的等值连接 将关系将关系R R和和S S中公共属性组满足对应分量相等的元组中公共属性组满足对应分量相等的元组 联接起来,联接起来,并且要在结果中将重复的属性去掉。并且要在结果中将重复的属性去掉。R R SSi1,.imi1,.im(R.A1=S.A1.R.AK=S.AKR.A1=S.A1.R.AK=S.AK(RS)(RS)举例:举例:本讲稿第十七页,共六十三页 4 4、除除(division)(division)设关系设关系R R
22、和和S S的元数分别为的元数分别为:r:r、s s(rs0rs0),),RS:RS:是一个(是一个(r-sr-s)元的元组的集合,)元的元组的集合,是满足下列条件的最大关系:是满足下列条件的最大关系:其中每个元组其中每个元组t t与与S S中每个元组中每个元组u u组成的组成的 新元组新元组必在关系必在关系R R中。中。本讲稿第十八页,共六十三页 RSRS的具体的具体计计算算过过程如下:程如下:T=T=1,2,r-s(R R)W=(TS)-R W=(TS)-R V=V=1,2,r-s(W W)RS=T RS=T V V RS RS1,2,r-s(R)-(R)-1,2,r-s(1,2,r-s(R
23、)S)-R)(R)S)-R)举例:举例:本讲稿第十九页,共六十三页四、关系代数表达式及其应用实例四、关系代数表达式及其应用实例本讲稿第二十页,共六十三页 工程项目零件供应数据库工程项目零件供应数据库PROJECTYPROJECTY有四个关系模式:有四个关系模式:供应商关系:供应商关系:S(S(SNOSNO,SNAME,SADDR),SNAME,SADDR)零件关系:零件关系:P(P(PNO,PNO,PNAME,COLOR,WEIGHT)PNAME,COLOR,WEIGHT)工程项目关系:工程项目关系:J(J(JNOJNO,JNAME,JCITY,BALANCE),JNAME,JCITY,BAL
24、ANCE)供应情况关系:供应情况关系:SPJ(SPJ(SNO,PNO,JNOSNO,PNO,JNO,PRICE,QTY),PRICE,QTY)SN0,PN0SN0,PN0(JNO=JNO=J1J1(SPJ)(SPJ)或或:l,2l,2(3=J13=J1(SPJ)(SPJ)试用关系代数表达式表示每个查询语句。试用关系代数表达式表示每个查询语句。.检索供应零件给工程检索供应零件给工程J1J1的供应商编号的供应商编号SNOSNO与零件编号与零件编号PNOPNO。本讲稿第二十一页,共六十三页SNOSNO(JNO=J1 PNO=P1JNO=J1 PNO=P1(SPJSPJ)3.3.检索使用了编号为检索使
25、用了编号为P3P3零件的工程编号和名称。零件的工程编号和名称。2.2.检索供应零件给工程检索供应零件给工程J1J1,且零件编号为,且零件编号为P1P1的供应商编号的供应商编号SNOSNO。4.4.检索供应零件给工程检索供应零件给工程J1,J1,且零件颜色为红色的供应商名称和地址。且零件颜色为红色的供应商名称和地址。5.5.检索使用了零件编号为检索使用了零件编号为P3P3或或P5P5零件的工程编号零件的工程编号JNOJNO。JNO,JNAMEJNO,JNAME(PNO=P3PNO=P3(J J SPJ)SPJ)SNAME,SADDRSNAME,SADDR(JNO=J1 COLOR=JNO=J1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 关系运算精选文档 第三 关系 运算 精选 文档
限制150内