《第三章 关系数据库精选PPT.ppt》由会员分享,可在线阅读,更多相关《第三章 关系数据库精选PPT.ppt(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章关系数据库第1页,本讲稿共102页AnIntroductiontoDatabaseSystems数据库系统及应用数据库系统及应用基于基于SQLServer2000第三章第三章 关系数据库关系数据库第2页,本讲稿共102页AnIntroductiontoDatabaseSystems关系数据库简介关系数据库简介v提出关系模型的是美国IBM公司的E.F.Codd1970年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,CommunicationoftheACM,1970之后,提出了关系代数和关系演算的概念197
2、2年提出了关系的第一、第二、第三范式1974年提出了关系的BC范式第3页,本讲稿共102页AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系数据结构及形式化定义关系数据结构及形式化定义3.2关系操作关系操作3.3关系的完整性关系的完整性3.4关系代数关系代数3.5小结小结第4页,本讲稿共102页AnIntroductiontoDatabaseSystems3.1关系数据结构及形式化定义关系数据结构及形式化定义v3.1.1关系关系v3.1.2关系数据库关系数据库第5页,本讲稿共102页AnIntroductiontoDatabaseSyste
3、ms3.1.1 关系关系v单一的数据结构-关系现实世界的实体以及实体间的各种联系均用关系来表示v逻辑结构-二维表从用户角度,关系模型中数据的逻辑结构是一张二维表第6页,本讲稿共102页AnIntroductiontoDatabaseSystems关系关系(续续)域(Domain)2.笛卡尔积(CartesianProduct)3.关系(Relation)第7页,本讲稿共102页AnIntroductiontoDatabaseSystems域(域(Domain)v域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数长度指定长度的字符串集合男,女.第8页,本讲稿共102页AnIn
4、troductiontoDatabaseSystems2.笛卡尔积(笛卡尔积(CartesianProduct)v笛卡尔积给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:D1D2Dn(d1,d2,dn)diDi,i1,2,n所有域的所有取值的一个组合不能重复第9页,本讲稿共102页AnIntroductiontoDatabaseSystems笛卡尔积(续笛卡尔积(续)v元组(Tuple)笛卡尔积中每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组v分量(Com
5、ponent)笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量张清玫、计算机专业、李勇、刘晨等都是分量第10页,本讲稿共102页AnIntroductiontoDatabaseSystems笛卡尔积(续笛卡尔积(续)v笛卡尔积的表示方法笛卡尔积可表示为一个二维表表中的每行对应一个元组,表中的每列对应一个域第11页,本讲稿共102页AnIntroductiontoDatabaseSystems第12页,本讲稿共102页AnIntroductiontoDatabaseSystems3.关系(关系(Relation)1)关系D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为R(D
6、1,D2,Dn)nR:关系名nn:关系的目或度(Degree)第13页,本讲稿共102页AnIntroductiontoDatabaseSystems关系(续)关系(续)2)关系的表示关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域第14页,本讲稿共102页AnIntroductiontoDatabaseSystems关系(续)关系(续)3)属性n关系中不同列可以对应相同的域n为了加以区分,必须对每列起一个名字,称为属性(Attribute)nn目关系必有n个属性第15页,本讲稿共102页AnIntroductiontoDatabaseSystems关系(续)关系(续)4)码候选码
7、(Candidatekey)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性全码(All-key)最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)第16页,本讲稿共102页AnIntroductiontoDatabaseSystems关系(续)关系(续)码(续)主码若一个关系有多个候选码,则选定其中一个为主码(Primarykey)主属性候选码的诸属性称为主属性(Primeattribute)不包含在任何侯选码中的属性称为非主属性(Non-Primeattribute)或非码属性(Non-keyattribu
8、te)第17页,本讲稿共102页AnIntroductiontoDatabaseSystems关系(续)关系(续)vD1,D2,Dn的笛卡尔积的某个子集才有实际含义例:表2.1的笛卡尔积没有实际意义取出有实际意义的元组来构造关系关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)假设:导师与专业:1:1,导师与研究生:1:n主码:POSTGRADUATE(假设研究生不会重名)SAP关系可以包含三个元组(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(刘逸,信息专业,王敏)第18页,本讲稿共102页AnIntroductiontoDatabaseSys
9、tems关系(续)关系(续)5)基本关系的性质基本关系的性质v列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域。个值域。v每一分量必须是不可分的最小数据项,即每个属性都是不可再分解的,这是关系数据库对关系的最每一分量必须是不可分的最小数据项,即每个属性都是不可再分解的,这是关系数据库对关系的最基本的限定。基本的限定。v不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名。不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名。v列的顺序是无关紧要的,即列的
10、次序可以任意交换,但一定是整体交换,属性名列的顺序是无关紧要的,即列的次序可以任意交换,但一定是整体交换,属性名和属性值必须作为整列同时交换。和属性值必须作为整列同时交换。v行的顺序是无关紧要的,即行的次序可以任意交换。行的顺序是无关紧要的,即行的次序可以任意交换。v元组不可以重复,即在一个关系中任意两个元组不能完全一样。元组不可以重复,即在一个关系中任意两个元组不能完全一样。第19页,本讲稿共102页AnIntroductiontoDatabaseSystems3.1关系数据结构关系数据结构3.1.1关系关系3.1.2关系数据库关系数据库第20页,本讲稿共102页AnIntroduction
11、toDatabaseSystems3.1.2 关系数据库关系数据库v关系数据库在一个给定的应用领域中,所有关系的集合构成一个关系数据库第21页,本讲稿共102页AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系模型概述关系模型概述3.2关系操作关系操作3.3关系的完整性关系的完整性3.4关系代数关系代数3.5关系演算关系演算3.6小结小结第22页,本讲稿共102页AnIntroductiontoDatabaseSystems3.2.1基本关系操作基本关系操作v常用的关系操作传统的集合运算 并(Union)交(Intersection)差(D
12、ifference)广义笛卡尔积(Extended Cartesian Product)专门的关系运算选择(Select)投影(Project)连接(Join)除(Divide)有关的数据操作查询(Query)插入(Insert)删除(Delete)修改(Update)v关系代数的特点集合操作方式:操作的对象和结果都是集合,一次一集合一次一集合的方式第23页,本讲稿共102页AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系数据结构及形式化定义关系数据结构及形式化定义3.2关系操作关系操作3.3关系的完整性关系的完整性3.4关系代数关系代数
13、3.5小结小结第24页,本讲稿共102页AnIntroductiontoDatabaseSystems2.3关系的完整性关系的完整性2.3.1关系的三类完整性约束关系的三类完整性约束2.3.2实体完整性实体完整性2.3.3参照完整性参照完整性2.3.4用户定义的完整性用户定义的完整性第25页,本讲稿共102页AnIntroductiontoDatabaseSystems3.3.1关系的三类完整性约束关系的三类完整性约束v在数据库中数据完整性是指保证数据正确的特性。它包括两方面的内容:与现实世界中应用需求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。v在关系数据模型中一般将数据完整性
14、分为三类 实体完整性参照完整性用户定义完整性 第26页,本讲稿共102页AnIntroductiontoDatabaseSystems3.3关系的完整性关系的完整性3.3.1关系的三类完整性约束关系的三类完整性约束3.3.2实体完整性实体完整性3.3.3参照完整性参照完整性3.3.4用户定义的完整性用户定义的完整性第27页,本讲稿共102页AnIntroductiontoDatabaseSystems3.3.2实体完整性实体完整性规则规则3.1实体完整性规则(实体完整性规则(EntityIntegrity)若属性A是基本关系R的主属性,则属性A不能取空值例:SAP(SUPERVISOR,SPE
15、CIALITY,POSTGRADUATE)POSTGRADUATE:主码(假设研究生不会重名)不能取空值第28页,本讲稿共102页AnIntroductiontoDatabaseSystems实体完整性实体完整性(续续)实体完整性规则的说明v实体完整性规则是针对关系而言的,而关系则对应一个现实世界中的实体集。例如,仓库关系对应现实世界中的仓库实体集。v现实世界中的实体是可区分的,它们具有某种标识特征;相应地,关系中的元组也是可区分的,在关系中用主关键字做唯一性标识。v主关键字中的属性、即主属性不能取空值。如果主属性取空值,则意味着关系中的某个元组是不可标识的,即存在不可区分的实体,这与实体的定
16、义也是矛盾的。第29页,本讲稿共102页AnIntroductiontoDatabaseSystems3.3关系的完整性关系的完整性3.3.1关系的三类完整性约束关系的三类完整性约束3.3.2实体完整性实体完整性3.3.3参照完整性参照完整性3.3.4用户定义的完整性用户定义的完整性第30页,本讲稿共102页AnIntroductiontoDatabaseSystems3.3.3参照完整性参照完整性1.关系间的引用2.外码3.参照完整性规则第31页,本讲稿共102页AnIntroductiontoDatabaseSystems1.关系间的引用关系间的引用v在关系模型中实体及实体间的联系都是用关
17、系来描述的,因此可能存在着关系与关系间的引用。例1学生实体、专业实体学生(学号,姓名,性别,专业号专业号,年龄)专业(专业号专业号,专业名)主码主码主码主码v学生关系引用了专业关系的主码“专业号”。v学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。第32页,本讲稿共102页AnIntroductiontoDatabaseSystems关系间的引用关系间的引用(续续)例2学生、课程、学生与课程之间的多对多联系学生(学号学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号学号,课程号,成绩)第33页,本讲稿共102页AnIntroductiont
18、oDatabaseSystems关系间的引用关系间的引用(续续)例3学生实体及其内部的一对多联系学生(学号,姓名,性别,专业号,年龄,班长)v“学号”是主码,“班长”是外码,它引用了本关系的“学号”v“班长”必须是确实存在的学生的学号第34页,本讲稿共102页AnIntroductiontoDatabaseSystems2外码(外码(ForeignKey)v设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码v基本关系R称为参照关系(ReferencingRelation)v基本关系S称为被参照关系(ReferencedRelatio
19、n)或目标关系(TargetRelation)第35页,本讲稿共102页AnIntroductiontoDatabaseSystems外码外码(续续)v例1:学生关系的“专业号与专业关系的主码“专业号”相对应n“专业号”属性是学生关系的外码n专业关系是被参照关系,学生关系为参照关系第36页,本讲稿共102页AnIntroductiontoDatabaseSystems外码外码(续续)v例2:选修关系的“学号”与学生关系的主码“学号”相对应选修关系的“课程号”与课程关系的主码“课程号”相对应“学号”和“课程号”是选修关系的外码学生关系和课程关系均为被参照关系选修关系为参照关系第37页,本讲稿共1
20、02页AnIntroductiontoDatabaseSystems外码外码(续续)v例3:“班长”与本身的主码“学号”相对应“班长”是外码学生关系既是参照关系也是被参照关系第38页,本讲稿共102页AnIntroductiontoDatabaseSystems外码外码(续续)v关系R和S不一定是不同的关系v目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上v外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别第39页,本讲稿共102页AnIntroductiontoDatabaseSystems3.参照完整性规则参照完整性规则规则规则
21、3.2参照完整性规则参照完整性规则若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:n或者取空值(F的每个属性值均为空值)n或者等于S中某个元组的主码值第40页,本讲稿共102页AnIntroductiontoDatabaseSystems参照完整性规则参照完整性规则(续续)例1:学生关系中每个元组的“专业号”属性只取两类值:(1)空值,表示尚未给该学生分配专业(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配一个不存在的专业第41页,本讲稿共102页AnIntroduc
22、tiontoDatabaseSystems参照完整性规则参照完整性规则(续续)例2:选修(学号,课程号,成绩)“学号”和“课程号”可能的取值:(1)选修关系中的主属性,不能取空值(2)只能取相应被参照关系中已经存在的主码值第42页,本讲稿共102页AnIntroductiontoDatabaseSystems参照完整性规则参照完整性规则(续续)例3:学生(学号,姓名,性别,专业号,年龄,班长)“班长”属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长(2)非空值,该值必须是本关系中某个元组的学号值第43页,本讲稿共102页AnIntroductiontoDatabaseSystem
23、s关系的完整性关系的完整性(续续)3.3.1关系的三类完整性约束关系的三类完整性约束3.3.2实体完整性实体完整性3.3.3参照完整性参照完整性3.3.4用户定义的完整性用户定义的完整性第44页,本讲稿共102页AnIntroductiontoDatabaseSystems3.3.4用户定义的完整性用户定义的完整性v针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求v关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能第45页,本讲稿共102页AnIntroductiontoDatabaseSystems用户定义的
24、完整性用户定义的完整性(续续)例:课程(课程号,课程名,学分)“课程号”属性必须取唯一值非主属性“课程名”也不能取空值“学分”属性只能取值1,2,3,4第46页,本讲稿共102页AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系模型概述关系模型概述3.2关系数据结构关系数据结构3.3关系的完整性关系的完整性3.4关系代数关系代数3.5小结小结第47页,本讲稿共102页AnIntroductiontoDatabaseSystems3.4 关系代数关系代数v概述概述v传统的集合运算传统的集合运算v专门的关系运算专门的关系运算第48页,本讲稿共1
25、02页AnIntroductiontoDatabaseSystems集合运算符-并差交笛卡尔积比较运算符大于大于等于小于小于等于等于不等于运算符含义运算符含义表3.4关系代数运算符概概述述第49页,本讲稿共102页AnIntroductiontoDatabaseSystems专门的关系运算符选择投影连接除逻辑运算符非与或运算符含义运算符含义表3.4关系代数运算符(续)概概述述(续续)第50页,本讲稿共102页AnIntroductiontoDatabaseSystems3.4 关系代数关系代数v概述概述v传统的集合运算传统的集合运算v专门的关系运算专门的关系运算第51页,本讲稿共102页AnI
26、ntroductiontoDatabaseSystems1.并(并(Union)vR和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域vRS仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S 第52页,本讲稿共102页AnIntroductiontoDatabaseSystems并并(续续)第53页,本讲稿共102页AnIntroductiontoDatabaseSystems2.差(差(Difference)vR和S具有相同的目n相应的属性取自同一个域vR-S仍为n目关系,由属于R而不属于S的所有元组组成R-S=t|tRtS第54页,本讲稿共102页AnIntr
27、oductiontoDatabaseSystems差差(续续)第55页,本讲稿共102页AnIntroductiontoDatabaseSystems3.交(交(Intersection)vR和S具有相同的目n相应的属性取自同一个域vRS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)第56页,本讲稿共102页AnIntroductiontoDatabaseSystems交交(续续)第57页,本讲稿共102页AnIntroductiontoDatabaseSystems4.笛卡尔积(笛卡尔积(CartesianProduct)v严格地讲应该是广义的笛卡尔积
28、(ExtendedCartesianProduct)vR:n目关系,k1个元组vS:m目关系,k2个元组vRS列:(n+m)列元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS=trts|trRtsS第58页,本讲稿共102页AnIntroductiontoDatabaseSystems交交(续续)第59页,本讲稿共102页AnIntroductiontoDatabaseSystems3.4 关系代数关系代数v概述概述v传统的集合运算传统的集合运算v专门的关系运算专门的关系运算第60页,本讲稿共102页AnIntroductiontoDatabaseSyst
29、ems3.4.2专门的关系运算专门的关系运算v选择v投影v连接v除第61页,本讲稿共102页AnIntroductiontoDatabaseSystems选择运算选择运算选择运算是从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。选择运算表示为:其中R是关系名,是选择运算符,F是逻辑表达式。第62页,本讲稿共102页AnIntroductiontoDatabaseSystems选择(续)选择(续)v选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算第63页,本讲稿共102页AnIntroductiontoDatabaseSystems选
30、择运算举例:选择运算举例:职工号职工号=E3(订购单订购单)订购单关系订购单关系从订购单关系中选择职工号为“E3”的元组构成新的关系第64页,本讲稿共102页AnIntroductiontoDatabaseSystems专门的关系运算专门的关系运算(a)Student)学生-课程数据库:学生关系Student、课程关系Course和选修关系SC学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121李勇男20CS200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS第65页,本讲稿共102页AnIntroductiontoDa
31、tabaseSystems专门的关系运算专门的关系运算(续续)课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64Course(b)第66页,本讲稿共102页AnIntroductiontoDatabaseSystems专门的关系运算专门的关系运算(续续)(c)SC学号Sno课程号Cno成绩Grade200215121192200215121285200215121388200215122290200215122380第67页,本讲稿共102页AnIntroductiontoDatabase
32、Systems选择(续)选择(续)例1查询信息系(IS系)全体学生Sdept=IS(Student)或5=IS(Student)结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215125张立男19IS第68页,本讲稿共102页AnIntroductiontoDatabaseSystems选择(续)选择(续)例2查询年龄小于20岁的学生Sage20(Student)或420(Student)结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215123王敏女18MA200215125张立男19IS第69页,本讲稿共102
33、页AnIntroductiontoDatabaseSystems投影运算投影运算1)选择指定的属性,形成一个可能含有重复行的表格;2)删除重复行,形成新的关系。投影运算对指定的关系进行投影操作,根据该关系分两步产生一个新关系:第70页,本讲稿共102页AnIntroductiontoDatabaseSystems投影(投影(Projection)v投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)第71页,本讲稿共102页AnIntroductiontoDatabaseSystems投影运算表示为投影运算表示为其中R是关系名,是投影运算符
34、,A是被投影的属性或属性集。第72页,本讲稿共102页AnIntroductiontoDatabaseSystems投影运算举例:投影运算举例:订购单关系选取职工号和供应商号两列构成新的关系职工号,供应商号(订购单)第73页,本讲稿共102页AnIntroductiontoDatabaseSystems投影(续)投影(续)v例3查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影Sname,Sdept(Student)或2,5(Student)结果:第74页,本讲稿共102页AnIntroductiontoDatabaseSystems投影(续)投影(续)SnameS
35、dept李勇CS刘晨IS王敏MA张立IS第75页,本讲稿共102页AnIntroductiontoDatabaseSystems投影(续)投影(续)例4查询学生关系Student中都有哪些系Sdept(Student)结果:SdeptCSISMA第76页,本讲稿共102页AnIntroductiontoDatabaseSystems选择和投影运算举例:选择和投影运算举例:从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号。订购单关系供应商号,订购单号供应商号,订购单号(职工号职工号=E3(订购单订购单)第77页,本讲稿共102页AnIntroductiontoDataba
36、seSystems连接运算连接运算v连接运算是将满足两个表之间运算关系的记录连接成一条记录,所有这样的记录构成新的表(连接运算的结果)。v连接运算可以表示为:这里Ai是R中的属性,Bj是S中的属性,是关系(比较)运算符,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足Ai和Bj间的关系。当为“=”时,称为等值连接;为“”时,称为大于连接等等。第78页,本讲稿共102页AnIntroductiontoDatabaseSystems自然连接自然连接 v在连接运算中最常用的连接是自然连接。v自然连接运算一般表示为:其中其中Ai和和Bj要出自同一个值域,并且在实际应用中这两个属要出自同一个值域,并
37、且在实际应用中这两个属性往往具有相同的属性名。性往往具有相同的属性名。第79页,本讲稿共102页AnIntroductiontoDatabaseSystems自然连接做了三件事:自然连接做了三件事:v计算广义笛卡尔积RS;v选择满足条件rAi=sBj的所有元组;v去掉重复的属性。第80页,本讲稿共102页AnIntroductiontoDatabaseSystems自然连接的例子自然连接的例子第81页,本讲稿共102页AnIntroductiontoDatabaseSystems连接连接(续续)v例5关系R和关系S如下所示:第82页,本讲稿共102页AnIntroductiontoDataba
38、seSystems连接连接(续续)一般连接RS的结果如下:CE第83页,本讲稿共102页AnIntroductiontoDatabaseSystems连接连接(续续)等值连接R S 的结果如下:R.B=S.B 第84页,本讲稿共102页AnIntroductiontoDatabaseSystems连接连接(续续)自然连接R S的结果如下:第85页,本讲稿共102页AnIntroductiontoDatabaseSystems综合运算实例综合运算实例根据以上关系求出在上海工作的职工的工资值都有哪些?仓库仓库职工职工关系代数语句为:关系代数语句为:第86页,本讲稿共102页AnIntroducti
39、ontoDatabaseSystems查询过程示意查询过程示意选择运算选择运算自然连接运算自然连接运算投影投影运算运算第87页,本讲稿共102页AnIntroductiontoDatabaseSystems注意注意 自然连接和等值连接很相象,但它们不同,自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。第88页,本讲稿共102页AnIntroductiontoDatabaseSystems除运算除运算设有关系R(X,Y)和S(Y),其中X、Y可以是单个属性或属性集,则除法运算定义为:第89页,本讲稿共102页AnIntroductiontoDatabaseSystems理解除法运算理
40、解除法运算vR(X,Y)是被除关系vS(Y)是除关系v商关系由R中某些X属性值构成,其中的任一X值所对应的一组Y值都包含除关系S。v除运算常用于至少查询或运算第90页,本讲稿共102页AnIntroductiontoDatabaseSystems除运算的例子除运算的例子v它的含义是:至少向WH1、WH3、WH5供货的供应商号。第91页,本讲稿共102页AnIntroductiontoDatabaseSystems除除(续续)例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c)第92页,本讲稿共102页AnIntroductiontoDatabaseSystems基本运算及变换基本运
41、算及变换在关系代数运算中集合的在关系代数运算中集合的并运算并运算、差运算差运算、笛卡尔积笛卡尔积运算运算以及以及选择运算选择运算和和投影运算投影运算是是5种基本运算,另三种运种基本运算,另三种运算(集合的算(集合的交运算交运算以及以及连接运算连接运算和和除运算除运算)可以用)可以用5种基种基本运算来表达,引进它们并不增加语言的能力,但是可以简本运算来表达,引进它们并不增加语言的能力,但是可以简化表达。化表达。第93页,本讲稿共102页AnIntroductiontoDatabaseSystems两个关系的交运算可以表示为两个关系的交运算可以表示为 RS=R-(R-S)第94页,本讲稿共102页
42、AnIntroductiontoDatabaseSystems两个关系的自然连接运算可以表示两个关系的自然连接运算可以表示为为两个关系的连接运算可以表示为第95页,本讲稿共102页AnIntroductiontoDatabaseSystems两个关系的除运算可以表示为两个关系的除运算可以表示为第96页,本讲稿共102页AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系模型概述关系模型概述3.2关系数据结构关系数据结构3.3关系的完整性关系的完整性3.4关系代数关系代数3.5小结小结第97页,本讲稿共102页AnIntroductiontoD
43、atabaseSystems3.5小结小结v关系数据库系统是目前使用最广泛的数据库系统v关系数据库系统与非关系数据库系统的区别:关系系统只有“表”这一种数据结构;非关系数据库系统还有其他数据结构,以及对这些数据结构的操作第98页,本讲稿共102页AnIntroductiontoDatabaseSystems小结(续)小结(续)v关系数据结构关系域笛卡尔积关系关系,属性,元组候选码,主码,主属性基本关系的性质关系模式关系代数关系数据库第99页,本讲稿共102页AnIntroductiontoDatabaseSystems小结(续)小结(续)v关系的完整性约束实体完整性参照完整性外码用户定义的完整性第100页,本讲稿共102页AnIntroductiontoDatabaseSystems关系数据库系统的三层模式结构关系数据库系统的三层模式结构关系数据库系统也是三层模式的数据库系统,同样可以划分为存储模式、概念模式和外部模式三个层次。第101页,本讲稿共102页AnIntroductiontoDatabaseSystems休息一会儿。休息一会儿。追求第102页,本讲稿共102页