收藏 分销(赏)

数据库原理及应用完整教程.ppt

上传人:快乐****生活 文档编号:2227166 上传时间:2024-05-23 格式:PPT 页数:188 大小:1.23MB
下载 相关 举报
数据库原理及应用完整教程.ppt_第1页
第1页 / 共188页
数据库原理及应用完整教程.ppt_第2页
第2页 / 共188页
点击查看更多>>
资源描述
数据数据库库原理及原理及应应用用PrinciplesandAppliedofDatabase1PrinciplesandAppliedofDatabase数据数据库库原理及原理及应应用用2关系数据关系数据库简库简介介v提出关系模型的是美国提出关系模型的是美国IBM公司的公司的E.F.Codd1970年提出关系数据模型年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,CommunicationoftheACM,1970之后,提出了关系代数和关系演算的概念之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式1974年提出了关系的年提出了关系的BC范式范式3.第第2章章关系数据关系数据库库2.1关系数据关系数据结结构及形式化定构及形式化定义义2.2关系操作关系操作2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6小小结结4.2.1关系数据关系数据结结构及形式化定构及形式化定义义2.1.1关系关系2.1.2关系模式关系模式2.1.3关系数据关系数据库库5.2.1.1关系关系v单单一的数据一的数据结结构构-关系关系现实现实世界的世界的实实体以及体以及实实体体间间的各种的各种联联系均用关系来系均用关系来表示表示v逻辑结逻辑结构构-二二维维表表从用从用户户角度,关系模型中数据的角度,关系模型中数据的逻辑结逻辑结构是一构是一张张二二维维表表v建立在集合代数的基建立在集合代数的基础础上上6.关系关系(续续)域(域(Domain)2.笛卡笛卡尔尔积积(CartesianProduct)3.关系(关系(Relation)7.域(域(Domain)v域是一域是一组组具有相同数据具有相同数据类类型的型的值值的集合。例的集合。例:整数整数实实数数介于某个取介于某个取值值范范围围的整数的整数长长度指定度指定长长度的字符串集合度的字符串集合男男,女女.8.2.笛卡笛卡尔尔积积(CartesianProduct)v笛卡笛卡尔尔积积给给定一定一组组域域D1,D2,Dn,这这些域中可以有相同的。些域中可以有相同的。D1,D2,Dn的笛卡的笛卡尔尔积为积为:D1D2Dn(d1,d2,dn)di Di,i1,2,n所有域的所有取所有域的所有取值值的一个的一个组组合合不能重复不能重复9.笛卡笛卡尔尔积积(续续)v元元组组(Tuple)笛卡笛卡尔尔积积中每一个元素(中每一个元素(d1,d2,dn)叫作一)叫作一个个n元元组组(n-tuple)或)或简简称元称元组组(Tuple)(张张清玫,清玫,计计算机算机专业专业,李勇,李勇)、(张张清玫,清玫,计计算机算机专专业业,刘晨,刘晨)等都是元等都是元组组v分量(分量(Component)笛卡笛卡尔尔积积元素(元素(d1,d2,dn)中的每一个)中的每一个值值di叫作一个分量叫作一个分量张张清玫、清玫、计计算机算机专业专业、李勇、刘晨等都是分量、李勇、刘晨等都是分量10.笛卡笛卡尔尔积积(续续)v基数(基数(Cardinalnumber)若若Di(i1,2,n)为为有限集,其基数有限集,其基数为为mi(i1,2,n),),则则D1D2Dn的基数的基数M为为:v笛卡笛卡尔尔积积的表示方法的表示方法笛卡笛卡尔尔积积可表示可表示为为一个二一个二维维表表表中的每行表中的每行对应对应一个元一个元组组,表中的每列,表中的每列对应对应一个域一个域11.12.3.关系(关系(Relation)1)关系关系D1D2Dn的子集叫作在域的子集叫作在域D1,D2,Dn上上的的关系,表示关系,表示为为R(D1,D2,Dn)R:关系名:关系名n:关系的目或度(:关系的目或度(Degree)13.关系(关系(续续)2)元元组组关系中的每个元素是关系中的元关系中的每个元素是关系中的元组组,通常用,通常用t表示。表示。3)单单元关系与二元关系元关系与二元关系当当n=1时时,称,称该该关系关系为单为单元关系(元关系(Unaryrelation)或一元关系或一元关系当当n=2时时,称,称该该关系关系为为二元关系(二元关系(Binaryrelation)14.关系(关系(续续)4)关系的表示关系的表示关系也是一个二关系也是一个二维维表,表的每行表,表的每行对应对应一个元一个元组组,表,表的每列的每列对应对应一个域一个域15.关系(关系(续续)5)属性属性关系中不同列可以关系中不同列可以对应对应相同的域相同的域为为了加以区分,必了加以区分,必须对须对每列起一个名字,称每列起一个名字,称为为属性属性(Attribute)n目关系必有目关系必有n个属性个属性16.关系(关系(续续)6)码码候候选码选码(Candidatekey)若关系中的某一属性若关系中的某一属性组组的的值值能唯一地能唯一地标识标识一个元一个元组组,则则称称该该属性属性组为组为候候选码选码简单简单的情况:候的情况:候选码选码只包含一个属性只包含一个属性全全码码(All-key)最极端的情况:关系模式的所有属性最极端的情况:关系模式的所有属性组组是是这这个关系个关系模式的候模式的候选码选码,称,称为为全全码码(All-key)17.关系(关系(续续)码码(续续)主主码码若一个关系有多个候若一个关系有多个候选码选码,则选则选定其中一个定其中一个为为主主码码(Primarykey)主属性主属性候候选码选码的的诸诸属性称属性称为为主属性(主属性(Primeattribute)不包含在任何侯不包含在任何侯选码选码中的属性称中的属性称为为非主属性(非主属性(Non-Primeattribute)或非)或非码码属性(属性(Non-keyattribute)18.关系(关系(续续)vD1,D2,Dn的笛卡的笛卡尔尔积积的某个子集才有的某个子集才有实际实际含含义义例:表例:表2.1的笛卡的笛卡尔尔积积没有没有实际实际意意义义取出有取出有实际实际意意义义的元的元组组来构造关系来构造关系关系:关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假假设设:导师导师与与专业专业:1:1,导师导师与研究生:与研究生:1:n主主码码:POSTGRADUATE(假(假设设研究生不会重名)研究生不会重名)SAP关系可以包含三个元关系可以包含三个元组组(张张清玫,清玫,计计算机算机专业专业,李勇,李勇),(张张清玫,清玫,计计算机算机专业专业,刘晨,刘晨),(刘逸,信息刘逸,信息专业专业,王敏,王敏)19.关系(关系(续续)7)三三类类关系关系基本关系(基本表或基表)基本关系(基本表或基表)实际实际存在的表,是存在的表,是实际实际存存储储数据的数据的逻辑逻辑表示表示查询查询表表查询结查询结果果对应对应的表的表视图视图表表由基本表或其他由基本表或其他视图视图表表导导出的表,是虚表,不出的表,是虚表,不对对应实际应实际存存储储的数据的数据20.关系(关系(续续)8)基本关系的性基本关系的性质质列是同列是同质质的(的(Homogeneous)不同的列可出自同一个域不同的列可出自同一个域其中的每一列称其中的每一列称为为一个属性一个属性不同的属性要不同的属性要给给予不同的属性名予不同的属性名列的列的顺顺序无所序无所谓谓,,列的次序可以任意交,列的次序可以任意交换换任意两个元任意两个元组组的候的候选码选码不能相同不能相同行的行的顺顺序无所序无所谓谓,行的次序可以任意交,行的次序可以任意交换换21.基本关系的性基本关系的性质质(续续)分量必分量必须须取原子取原子值值这这是是规规范条件中最基本的一条范条件中最基本的一条表表2.3非非规规范化关系范化关系22.2.1关系数据关系数据结结构构2.1.1关系关系2.1.2关系模式关系模式2.1.3关系数据关系数据库库23.2.1.2关系模式关系模式1什么是关系模式什么是关系模式2定定义义关系模式关系模式3.关系模式与关系关系模式与关系24.1什么是关系模式什么是关系模式v关系模式(关系模式(RelationSchema)是型)是型v关系是关系是值值v关系模式是关系模式是对对关系的描述关系的描述元元组组集合的集合的结结构构属性构成属性构成属性来自的域属性来自的域属性与域之属性与域之间间的映象关系的映象关系元元组语义组语义以及完整性以及完整性约约束条件束条件属性属性间间的数据依的数据依赖赖关系集合关系集合25.2定定义义关系模式关系模式关系模式可以形式化地表示关系模式可以形式化地表示为为:R(U,D,DOM,F)R关系名关系名U组组成成该该关系的属性名集合关系的属性名集合D属性属性组组U中属性所来自的域中属性所来自的域DOM属性向域的映象集合属性向域的映象集合F属性属性间间的数据依的数据依赖赖关系集合关系集合26.定定义义关系模式关系模式(续续)例例:导师导师和研究生出自同一个域和研究生出自同一个域人,人,取不同的属性名,并在模式中定取不同的属性名,并在模式中定义义属性向域属性向域的映象,即的映象,即说说明它明它们们分分别别出自哪个域:出自哪个域:DOM(SUPERVISOR-PERSON)=DOM(POSTGRADUATE-PERSON)=PERSON27.定定义义关系模式关系模式(续续)关系模式通常可以关系模式通常可以简记为简记为R(U)或或R(A1,A2,An)R:关系名关系名A1,A2,An:属性名属性名说说明:域名及属性向域的映象常常直接明:域名及属性向域的映象常常直接说说明明为为属性的属性的类类型、型、长长度度28.3.关系模式与关系关系模式与关系v关系模式关系模式对对关系的描述关系的描述静静态态的、的、稳稳定的定的v关系关系关系模式在某一关系模式在某一时时刻的状刻的状态态或内容或内容动态动态的、随的、随时间时间不断不断变变化的化的v关系模式和关系通常关系模式和关系通常统统称称为为关系关系v一般通一般通过过上下文加以区上下文加以区别别29.2.1关系数据关系数据结结构构2.1.1关系关系2.1.2关系模式关系模式2.1.3关系数据关系数据库库30.2.1.3关系数据关系数据库库v关系数据关系数据库库在一个在一个给给定的定的应应用用领领域中,所有关系的集合构成一域中,所有关系的集合构成一个关系数据个关系数据库库v关系数据关系数据库库的型与的型与值值31.2.关系数据关系数据库库的型与的型与值值v关系数据关系数据库库的型的型:关系数据关系数据库库模式模式 对对关系数据关系数据库库的描述。的描述。v关系数据关系数据库库模式包括模式包括若干域若干域的定的定义义在在这这些域上定些域上定义义的的若干若干关系模式关系模式v关系数据关系数据库库的的值值:关系模式在关系模式在某一某一时时刻刻对应对应的关系的集合,的关系的集合,简简称称为为关系数据关系数据库库32.第二章第二章关系数据关系数据库库2.1关系模型概述关系模型概述2.2关系操作关系操作2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6小小结结33.2.2.1基本关系操作基本关系操作v常用的关系操作常用的关系操作查询查询:选择选择、投影、投影、连连接、除、并、交、差接、除、并、交、差数据更新:插入、数据更新:插入、删删除、修改除、修改查询查询的表达能力是其中最主要的部分的表达能力是其中最主要的部分选择选择、投影、并、差、笛卡、投影、并、差、笛卡尔尔基是基是5种基本操作种基本操作v关系操作的特点关系操作的特点集合操作方式:操作的集合操作方式:操作的对对象和象和结结果都是集合。果都是集合。34.2.2.2关系数据关系数据库语库语言的分言的分类类v 关系代数关系代数语语言言用用对对关系的运算来表达关系的运算来表达查询查询要求要求代表:代表:ISBLv关系演算关系演算语语言:用言:用谓词谓词来表达来表达查询查询要求要求元元组组关系演算关系演算语语言言谓词变谓词变元的基本元的基本对对象是元象是元组变组变量量代表:代表:APLHA,QUEL域关系演算域关系演算语语言言谓词变谓词变元的基本元的基本对对象是域象是域变变量量代表:代表:QBEv具有关系代数和关系演算双重特点的具有关系代数和关系演算双重特点的语语言言代表:代表:SQL(StructuredQueryLanguage)35.第二章第二章关系数据关系数据库库2.1关系数据关系数据结结构及形式化定构及形式化定义义2.2关系操作关系操作2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6小小结结36.2.3关系的完整性关系的完整性2.3.1关系的三关系的三类类完整性完整性约约束束2.3.2实实体完整性体完整性2.3.3参照完整性参照完整性2.3.4用用户户定定义义的完整性的完整性37.2.3.1关系的三关系的三类类完整性完整性约约束束v实实体完整性和参照完整性:体完整性和参照完整性:关系模型必关系模型必须满须满足的完整性足的完整性约约束条件称束条件称为为关系的关系的两两个不个不变变性性,应该应该由关系系由关系系统统自自动动支持。支持。v用用户户定定义义的完整性:的完整性:应应用用领领域需要遵循的域需要遵循的约约束条件,体束条件,体现现了具体了具体领领域中域中的的语义约语义约束。束。38.2.3关系的完整性关系的完整性2.3.1关系的三关系的三类类完整性完整性约约束束2.3.2实实体完整性体完整性2.3.3参照完整性参照完整性2.3.4用用户户定定义义的完整性的完整性39.2.3.2实实体完整性体完整性v规则规则2.1实实体完整性体完整性规则规则(EntityIntegrity)若属性若属性A是基本关系是基本关系R的的主属性主属性,则则属性属性A不能取空不能取空值值例:例:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE:主主码码(假(假设设研究生不会重名)研究生不会重名)不能取空不能取空值值40.实实体完整性体完整性(续续)实实体完整性体完整性规则规则的的说说明明(1)(1)实实体完整性体完整性规则规则是是针对针对基本关系而言的。一个基本表通常基本关系而言的。一个基本表通常对应现对应现 实实世界的一个世界的一个实实体集。体集。(2)(2)现实现实世界中的世界中的实实体是可区分的,即它体是可区分的,即它们们具有某种唯一性具有某种唯一性标识标识。(3)(3)关系模型中以主关系模型中以主码码作作为为唯一性唯一性标识标识。(4)(4)主主码码中的属性即主属性不能取空中的属性即主属性不能取空值值。主属性取空主属性取空值值,就,就说说明存在某个不可明存在某个不可标识标识的的实实体,即存在不可区体,即存在不可区分的分的实实体,体,这这与第(与第(2 2)点相矛盾,因此)点相矛盾,因此这这个个规则规则称称为实为实体完整性体完整性41.2.3关系的完整性关系的完整性2.3.1关系的三关系的三类类完整性完整性约约束束2.3.2实实体完整性体完整性2.3.3参照完整性参照完整性2.3.4用用户户定定义义的完整性的完整性42.2.3.3参照完整性参照完整性1.关系关系间间的引用的引用2.外外码码3.参照完整性参照完整性规则规则43.1.关系关系间间的引用的引用v在关系模型中在关系模型中实实体及体及实实体体间间的的联联系都是用关系来系都是用关系来描述的,因此可能存在着关系与关系描述的,因此可能存在着关系与关系间间的引用。的引用。例例1学生学生实实体、体、专业实专业实体体学生(学生(学号学号,姓名,性,姓名,性别别,专业专业号号,年,年龄龄)专业专业(专业专业号号,专业专业名)名)主主码码主主码码v学生关系引用了专业关系的主码“专业号”。v学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。44.关系关系间间的引用的引用(续续)例例2学生、学生、课课程、学生与程、学生与课课程之程之间间的多的多对对多多联联系系学生(学生(学号学号,姓名,性,姓名,性别别,专业专业号,年号,年龄龄)课课程(程(课课程号程号,课课程名,学分)程名,学分)选选修(修(学号学号,课课程号程号,成,成绩绩)45.关系关系间间的引用的引用(续续)例例3学生学生实实体及其内部的一体及其内部的一对对多多联联系系学生(学生(学号学号,姓名,性,姓名,性别别,专业专业号,年号,年龄龄,班班长长)v“学号”是主码,“班长”是外码,它引用了本关系的“学号”v“班长”必须是确实存在的学生的学号46.2外外码码(ForeignKey)v设设F是基本关系是基本关系R的一个或一的一个或一组组属性,但不是关系属性,但不是关系R的的码码。如果如果F与基本关系与基本关系S的主的主码码Ks相相对应对应,则则称称F是基本关系是基本关系R的的外外码码v基本关系基本关系R称称为为参照关系参照关系(ReferencingRelation)v基本关系基本关系S称称为为被参照关系被参照关系(ReferencedRelation)或)或目目标标关系(关系(TargetRelation)47.外外码码(续续)v例例1:学生关系的:学生关系的“专业专业号与号与专业专业关系的主关系的主码码“专业专业号号”相相对应对应“专业专业号号”属性是学生关系的外属性是学生关系的外码码专业专业关系是被参照关系,学生关系关系是被参照关系,学生关系为为参照关系参照关系48.外外码码(续续)v例例2:选选修关系的修关系的“学号学号”与学生关系的主与学生关系的主码码“学号学号”相相对应对应选选修关系的修关系的“课课程号程号”与与课课程关系的主程关系的主码码“课课程号程号”相相对应对应“学号学号”和和“课课程号程号”是是选选修关系的外修关系的外码码学生关系和学生关系和课课程关系均程关系均为为被参照关系被参照关系选选修关系修关系为为参照关系参照关系49.外外码码(续续)v例例3:“班班长长”与本身的主与本身的主码码“学号学号”相相对应对应“班班长长”是外是外码码学生关系既是参照关系也是被参照关系学生关系既是参照关系也是被参照关系50.外外码码(续续)v关系关系R和和S不一定是不同的关系不一定是不同的关系v目目标标关系关系S的主的主码码KS和参照关系的外和参照关系的外码码F必必须须定定义义在同在同一个(或一一个(或一组组)域上)域上v外外码码并不一定要与相并不一定要与相应应的主的主码码同名同名v当外当外码码与相与相应应的主的主码码属于不同关系属于不同关系时时,往往取相同的名,往往取相同的名字,以便于字,以便于识别识别。51.3.参照完整性参照完整性规则规则规则规则2.2参照完整性参照完整性规则规则若属性(或属性若属性(或属性组组)F是基本关系是基本关系R的外的外码码它与基本关它与基本关系系S的主的主码码KS相相对应对应(基本关系(基本关系R和和S不一定是不同的关不一定是不同的关系),系),则对则对于于R中每个元中每个元组组在在F上的上的值值必必须为须为:或者取空或者取空值值(F的每个属性的每个属性值值均均为为空空值值)或者等于或者等于S中某个元中某个元组组的主的主码值码值52.参照完整性参照完整性规则规则(续续)例例1:学生关系中每个元学生关系中每个元组组的的“专业专业号号”属性只取两属性只取两类值类值:(1)空空值值,表示尚未,表示尚未给该给该学生分配学生分配专业专业(2)非空)非空值值,这时该值这时该值必必须须是是专业专业关系中某个元关系中某个元组组的的“专专业业号号”值值,表示,表示该该学生不可能分配一个不存在的学生不可能分配一个不存在的专业专业53.参照完整性参照完整性规则规则(续续)例例2:选选修(修(学号学号,课课程号程号,成,成绩绩)“学号学号”和和“课课程号程号”可能的取可能的取值值:(1)选选修关系中的主属性,不能取空修关系中的主属性,不能取空值值(2)只能取相)只能取相应应被参照关系中已被参照关系中已经经存在的主存在的主码值码值54.参照完整性参照完整性规则规则(续续)例例3:学生(学生(学号学号,姓名,性,姓名,性别别,专业专业号,年号,年龄龄,班班长长)“班班长长”属性属性值值可以取两可以取两类值类值:(1)空)空值值,表示,表示该该学生所在班学生所在班级级尚未尚未选选出班出班长长(2)非空)非空值值,该值该值必必须须是本关系中某个元是本关系中某个元组组的学号的学号值值55.关系的完整性关系的完整性(续续)2.3.1关系的三关系的三类类完整性完整性约约束束2.3.2实实体完整性体完整性2.3.3参照完整性参照完整性2.3.4用用户户定定义义的完整性的完整性56.2.3.4用用户户定定义义的完整性的完整性v针对针对某一具体关系数据某一具体关系数据库库的的约约束条件,反映某一具体束条件,反映某一具体应应用所涉及的数据必用所涉及的数据必须满须满足的足的语义语义要求要求v关系模型关系模型应应提供定提供定义义和和检验这类检验这类完整性的机制,以便用完整性的机制,以便用统统一的系一的系统统的方法的方法处处理它理它们们,而不要由,而不要由应应用程序承担用程序承担这这一功能一功能57.用用户户定定义义的完整性的完整性(续续)v例例:课课程程(课课程号程号,课课程名,学分程名,学分)“课课程号程号”属性必属性必须须取唯一取唯一值值非主属性非主属性“课课程名程名”也不能取空也不能取空值值“学分学分”属性只能取属性只能取值值1,2,3,4,558.第第2章章关系数据关系数据库库2.1关系模型概述关系模型概述2.2关系数据关系数据结结构构2.3关系的完整性关系的完整性2.4关系代数关系代数2.5关系演算关系演算2.6小小结结59.2.4关系代数关系代数v概述概述v传统传统的集合运算的集合运算v专门专门的关系运算的关系运算60.表表2.4关系代数运算符关系代数运算符概概述述61.表表2.4关系代数运算符(关系代数运算符(续续)概概述述(续续)62.2.4关系代数关系代数v概述概述v传统传统的集合运算的集合运算v专门专门的关系运算的关系运算63.1.并(并(Union)vR和和S具有相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属性)个属性)相相应应的属性取自同一个域的属性取自同一个域vRS仍仍为为n目关系,由属于目关系,由属于R或属于或属于S的元的元组组组组成成RS=t|t Rt S64.并并(续续)65.2.差(差(Difference)vR和和S具有相同的目具有相同的目n相相应应的属性取自同一个域的属性取自同一个域vR-S仍仍为为n目关系,由属于目关系,由属于R而不属于而不属于S的所有元的所有元组组组组成成R-S=t|t Rt S66.差差(续续)67.3.交(交(Intersection)vR和和S具有相同的目具有相同的目n相相应应的属性取自同一个域的属性取自同一个域vRS仍仍为为n目关系,由既属于目关系,由既属于R又属于又属于S的元的元组组组组成成RS=t|t Rt SRS=R(R-S)68.交交(续续)69.4.笛卡笛卡尔尔积积(CartesianProduct)v严严格地格地讲应该讲应该是广是广义义的笛卡的笛卡尔尔积积(ExtendedCartesianProduct)vR:n目关系,目关系,k1个元个元组组vS:m目关系,目关系,k2个元个元组组vRS列:(列:(n+m)列元)列元组组的集合的集合元元组组的前的前n列是关系列是关系R的一个元的一个元组组后后m列是关系列是关系S的一个元的一个元组组行:行:k1k2个元个元组组RS=trts|tr Rts S70.交交(续续)71.2.4关系代数关系代数v概述概述v传统传统的集合运算的集合运算v专门专门的关系运算的关系运算72.2.4.2专门专门的关系运算的关系运算先引入几个先引入几个记记号号(1)R,t R,tAi设设关系模式关系模式为为R(A1,A2,An)它的一个关系它的一个关系设为设为Rt R表示表示t是是R的一个元的一个元组组tAi则则表示元表示元组组t中相中相应应于属性于属性Ai的一个分量的一个分量73.专门专门的关系运算的关系运算(续续)(2)A,tA,A若若A=Ai1,Ai2,Aik,其中,其中Ai1,Ai2,Aik是是A1,A2,An中的一部分,中的一部分,则则A称称为为属性列或属性属性列或属性组组。tA=(tAi1,tAi2,tAik)表示元表示元组组t在属性列在属性列A上上诸诸分量的集合。分量的集合。A则则表示表示A1,A2,An中去掉中去掉Ai1,Ai2,Aik后剩后剩余的属性余的属性组组。74.专门专门的关系运算的关系运算(续续)(3)trts R为为n目关系,目关系,S为为m目关系。目关系。tr R,ts S,trts称称为为元元组组的的连连接。接。trts是一个是一个n+m列的元列的元组组,前,前n个分量个分量为为R中的一个中的一个n元元组组,后,后m个分量个分量为为S中的一个中的一个m元元组组。75.专门专门的关系运算的关系运算(续续)(4)象集)象集Zx给给定一个关系定一个关系R(X,Z),),X和和Z为为属性属性组组。当当tX=x时时,x在在R中的中的象集(ImagesSet)为为:Zx=tZ|t R,tX=x 它表示它表示R中属性中属性组组X上上值为值为x的的诸诸元元组组在在Z上分量上分量的集合的集合76.专门专门的关系运算的关系运算(续续)vx1在在R中的象集中的象集 Zx1=Z1,Z2,Z3,vx2在在R中的象集中的象集 Zx2=Z2,Z3,vx3在在R中的象集中的象集 Zx3=Z1,Z3象集举例77.专门专门的关系运算的关系运算(续续)v选择选择v投影投影v连连接接v除除78.专门专门的关系运算的关系运算(续续)(a)Student4)学生-课程数据库:学生关系Student、课程关系Course和选修关系SC学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121李勇男20CS200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS79.专门专门的关系运算的关系运算(续续)课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64Course(b)80.专门专门的关系运算的关系运算(续续)(c)SC学号Sno课程号Cno成绩Grade20021512119220021512128520021512138820021512229020021512238081.1.选择选择(Selection)v1)选择选择又称又称为为限制(限制(Restriction)v2)选择选择运算符的含运算符的含义义在关系在关系R中中选择满选择满足足给给定条件的定条件的诸诸元元组组F(R)=t|t RF(t)=真真F:选择选择条件,是一个条件,是一个逻辑逻辑表达式,基本形式表达式,基本形式为为:X1Y182.选择选择(续续)v3)选择选择运算是从关系运算是从关系R中中选选取使取使逻辑逻辑表达式表达式F为为真的元真的元组组,是从行的角度,是从行的角度进进行的运算行的运算83.选择选择(续续)例例1查询查询信息系(信息系(IS系)全体学生系)全体学生Sdept=IS(Student)或或5=IS(Student)结结果:果:SnoSnameSsexSageSdept200215122刘晨刘晨女女19IS200215125张张立立男男19IS84.选择选择(续续)例例2查询查询年年龄龄小于小于20岁岁的学生的学生 Sage20(Student)或或420(Student)结结果:果:SnoSnameSsexSageSdept200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张张立立男男19IS85.2.投影(投影(Projection)v1)投影运算符的含)投影运算符的含义义从从R中中选择选择出若干属性列出若干属性列组组成新的关系成新的关系A(R)=tA|t RA:R中的属性列中的属性列86.2.投影(投影(Projection)v2)投影操作主要是从列的角度)投影操作主要是从列的角度进进行运算行运算但投影之后不但投影之后不仅仅取消了原关系中的某些列,而且取消了原关系中的某些列,而且还还可能取消某些元可能取消某些元组组(避免重复行)(避免重复行)87.投影(投影(续续)例例3查询查询学生的姓名和所在系学生的姓名和所在系即求即求Student关系上学生姓名和所在系两个属性上的投影关系上学生姓名和所在系两个属性上的投影Sname,Sdept(Student)或或2,5(Student)结结果:果:SnameSdept李勇李勇CS刘晨刘晨IS王敏王敏MA张张立立IS88.投影(投影(续续)例例4查询查询学生关系学生关系Student中都有哪些系中都有哪些系Sdept(Student)结结果:果:SdeptCSISMA89.3.连连接(接(Join)v1)连连接也称接也称为为连连接接v2)连连接运算的含接运算的含义义从两个关系的笛卡从两个关系的笛卡尔尔积积中中选选取属性取属性间满间满足一定条件的元足一定条件的元组组RS=|tr Rts StrAtsBA和和B:分:分别为别为R和和S上度数相等且可比的属性上度数相等且可比的属性组组:比:比较较运算符运算符连连接运算从接运算从R和和S的广的广义义笛卡笛卡尔尔积积RS中中选选取(取(R关系)在关系)在A属属性性组组上的上的值值与(与(S关系)在关系)在B属性属性组组上上值满值满足比足比较较关系关系的元的元组组 ABtrts90.连连接接(续续)v3)两)两类类常用常用连连接运算接运算等等值连值连接(接(equijoin)什么是等什么是等值连值连接接为为“”的的连连接运算称接运算称为为等等值连值连接接等等值连值连接的含接的含义义从关系从关系R与与S的广的广义义笛卡笛卡尔尔积积中中选选取取A、B属性属性值值相等的相等的那些元那些元组组,即等,即等值连值连接接为为:RS=|tr Rts StrA=tsBA=Btrts91.连连接接(续续)自然自然连连接(接(Naturaljoin)自然自然连连接是一种特殊的等接是一种特殊的等值连值连接接两个关系中两个关系中进进行比行比较较的分量必的分量必须须是相同的属性是相同的属性组组在在结结果中把重复的属性列去掉果中把重复的属性列去掉自然自然连连接的含接的含义义R和和S具有相同的属性具有相同的属性组组BRS=|tr Rts StrB=tsBtrts92.连连接接(续续)v4)一般的)一般的连连接操作是从行的角度接操作是从行的角度进进行运算。行运算。自然自然连连接接还还需要取消重复列,所以是同需要取消重复列,所以是同时时从行和列的从行和列的角度角度进进行运算。行运算。ABRS93.连连接接(续续)v例例5关系关系R和关系和关系S如下所示:如下所示:94.连连接接(续续)v一般一般连连接接RS的的结结果如下:果如下:CE95.连连接接(续续)v等等值连值连接接RS的的结结果如下:果如下:R.B=S.B 96.连连接接(续续)v自然自然连连接接RS的的结结果如下:果如下:97.连连接接(续续)v外外连连接接如果把舍弃的元如果把舍弃的元组组也保存在也保存在结结果关系中,而在其他属性上填空果关系中,而在其他属性上填空值值(Null),这这种种连连接就叫做外接就叫做外连连接(接(OUTERJOIN)。)。v左外左外连连接接如果只把左如果只把左边边关系关系R中要舍弃的元中要舍弃的元组组保留就叫做左外保留就叫做左外连连接接(LEFTOUTERJOIN或或LEFTJOIN)v右外右外连连接接如果只把右如果只把右边边关系关系S中要舍弃的元中要舍弃的元组组保留就叫做右外保留就叫做右外连连接接(RIGHTOUTERJOIN或或RIGHTJOIN)。98.连连接接(续续)下图是例5中关系R和关系S的外连接99.连连接接(续续)图(b)是例5中关系R和关系S的左外连接,图(c)是右外连接100.4.除(除(Division)给给定关系定关系R(X,Y)和和S(Y,Z),其中,其中X,Y,Z为为属性属性组组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必可以有不同的属性名,但必须须出自相同的出自相同的域集。域集。R与与S的除运算得到一个新的关系的除运算得到一个新的关系P(X),P是是R中中满满足下列条件的元足下列条件的元组组在在X属性列上的投影:属性列上的投影:元元组组在在X上分量上分量值值x的象集的象集Yx包含包含S在在Y上投影的集合,上投影的集合,记记作:作:RS=trX|tr RY(S)YxYx:x在在R中的象集,中的象集,x=trX101.除除(续续)v2)除操作是同)除操作是同时时从行和列角度从行和列角度进进行运算行运算RS102.除除(续续)例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c)103.分析分析v在关系在关系R中,中,A可以取四个可以取四个值值a1,a2,a3,a4a1的象集的象集为为(b1,c2),(b2,c3),(b2,c1)a2的象集的象集为为(b3,c7),(b2,c3)a3的象集的象集为为(b4,c6)a4的象集的象集为为(b6,c6)vS在在(B,C)上的投影上的投影为为(b1,c2),(b2,c1),(b2,c3)v只有只有a1的象集包含了的象集包含了S在在(B,C)属性属性组组上的投影上的投影所以所以RS=a1104.5综综合合举举例例以学生以学生-课课程数据程数据库为库为例例(P56)例例7查询查询至少至少选选修修1号号课课程和程和3号号课课程的学生号程的学生号码码首先建立一个首先建立一个临时临时关系关系K:然后求:然后求:Sno,Cno(SC)KCno13105.综综合合举举例例(续续)例7续Sno,Cno(SC)200215121象集1,2,3200215122象集2,3K=1,3于是:于是:Sno,Cno(SC)K=200215121SnoCno20021512112002151212200215121320021512222002151223106.综综合合举举例例(续续)例例8查询选查询选修了修了2号号课课程的学生的学号。程的学生的学号。Sno(Cno=2(SC)200215121,200215122107.综综合合举举例例(续续)例例9查询查询至少至少选选修了一修了一门门其直接先行其直接先行课为课为5号号课课程的程的的学生姓名的学生姓名Sname(Cpno=5(Course SC Student)或或 Sname(Cpno=5(Course)SC Sno,Sname(Student)或或 Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)108.综综合合举举例例(续续)例例10查询选查询选修了全部修了全部课课程的学生号程的学生号码码和姓名。和姓名。Sno,Cno(SC)Cno(Course)Sno,Sname(Student)109.小小结结v关系代数运算关系代数运算关系代数运算关系代数运算并、差、交、笛卡并、差、交、笛卡尔尔积积、投影、投影、选择选择、连连接、除接、除基本运算基本运算并、差、笛卡并、差、笛卡尔尔积积、投影、投影、选择选择交、交、连连接、除接、除可以用可以用5种基本运算来表达种基本运算来表达引引进进它它们们并不增加并不增加语语言的能力,但可以言的能力,但可以简简化表达化表达110.小小结结(续续)v关系代数表达式关系代数表达式关系代数运算关系代数运算经经有限次复合后形成的式子有限次复合后形成的式子v典型关系代数典型关系代数语语言言ISBL(InformationSystemBaseLanguage)由由IBMUnitedKingdom研究中心研制研究中心研制用于用于PRTV(PeterleeRelationalTestVehicle)实验实验系系统统111.第第2章章关系数据关系数据库库2.1关系模型概述关系模型概述2.2关系数据关系数据结结构构2.3关系的完
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服