关系数据库PPT课件_第1页
关系数据库PPT课件_第2页
关系数据库PPT课件_第3页
关系数据库PPT课件_第4页
关系数据库PPT课件_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,数据库原理第三章,第三章关系数据库,.,2,数据库原理第三章,目录,3.1关系模型及其三要素3.2关系代数,.,3,数据库原理第三章,3.1关系模型及其三要素,3.1.1关系模型的数据结构及其形式化定义,1.关系的形式化定义,数据结构关系实体和实体间的联系均由关系来表示,.,4,数据库原理第三章,(1)域(Domain),一组具有相同数据类型的值的集合,整数、实数和字符串的集合都是域,域的基数:域中所包含的值的个数(用m表示),D1=姓名=王平,李丽,张晓刚D2=性别=男,女D3=年龄=19,20,m1=3,m2=2,m3=2,.,5,数据库原理第三章,(2)笛卡尔积(CartesianProduct),给定一组域D1,D2,Dn(既可以完全不同,也可以部分或全部相同),D1,D2,Dn的笛卡尔积为:,每一个元素(d1,d2,dn)叫做一个n元组,简称元组,元素(d1,d2,dn)中的每一个值di叫做一个分量,diDi,.,6,数据库原理第三章,笛卡尔积D1D2Dn的基数M所有域的基数的累乘之积:,.,7,数据库原理第三章,D1=姓名=王平,李丽,张晓刚D2=性别=男,女D3=年龄=19,20,D1D2D3,行数=基数M,列数=域的个数n,元组个数=基数M,元组中的分量个数=域的个数n,集合,二维表,322=12,3,.,8,数据库原理第三章,D1,D2,D3的笛卡儿积为D1D2D3,.,9,数据库原理第三章,(3)关系(Relation),D1D2Dn的子集称作在域D1,D2,Dn上的关系,表示为:,R(D1,D2,Dn),R关系名,n关系的度(Degree)或目,当n=1时,称为单元关系;当n=2时,称为二元关系,以此类推,.,10,数据库原理第三章,从D1D2D3中取出有用的元组,构造学生关系:,学生,.,11,数据库原理第三章,2.关系中的基本名词,(1)元组关系表中的每一横行称作一个元组,组成元组的元素为分量。,(2)属性关系中的每一列称为一个属性。,.,12,数据库原理第三章,(3)候选码(CandidateKey)能唯一标识关系中元组的一个属性或属性集。,设关系R有属性:,,其属性集,当且仅当满足以下条件时,K为候选码:,唯一性关系R的任意两个不同元组,其属性集K的值都不相同。,最小性属性集中,任一属性都不能从属性集K中删掉。,.,13,数据库原理第三章,例如:学生(学号,身份证号码,姓名,性别,年龄),“学号”+“性别”是候选码吗?,不是,“学号”是候选码吗?,是,“身份证号码”是候选码吗?,是,.,14,数据库原理第三章,选课(学号,课程号),不是,“学号”是候选码吗?,是,“学号”+“课程”是候选码吗?,不是,“课程号”是候选码吗?,.,15,数据库原理第三章,(3)主码(PrimaryKey)从多个候选码中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主码。每个关系必定有且仅有一个主码,学生(学号,身份证号码,姓名,性别,年龄),主码,.,16,数据库原理第三章,选课(学号,课程),主码,.,17,(4)全码(AllKey)若关系的候选码中只包含一个属性,则称它为单属性码;若候选码是由多个属性构成的,则称为它为多属性码。最简单的情况下,一个候选码只包含一个属性;极端情况下,所有属性的组合是关系的候选码,称为全码。,数据库原理第三章,.,18,数据库原理第三章,借书(学号,书号,日期),多属性码,学生(学号,身份证号码,姓名,性别,年龄),单属性码,.,19,数据库原理第三章,选课(学号,课程),多属性码、全码,.,20,数据库原理第三章,(5)主属性和非主属性候选码中的属性称为主属性;不包含在任何候选码中的属性称为非主属性。,学生(学号,身份证号码,姓名,性别,年龄),候选码,主属性:学号、身份证号码非主属性:姓名,性别,年龄,.,21,数据库原理第三章,3.关系的类型,(1)基本表:关系数据库中实际存在的表,是实际存储数据的逻辑表示(2)视图表:视图表是由基本表或其他视图表导出的表(3)查询表:查询表是指查询结果表或查询中生成的临时表,.,22,数据库原理第三章,4.关系的基本性质,(1)同一属性的数据具有同质性每一列中的分量必须来自同一个域,必须是同一类型的数据。,选课,错误,.,23,数据库原理第三章,(2)同一关系的属性名具有不能重复性允许不同关系中有相同的属性名,(3)关系中的列位置具有顺序无关性列的顺序可以任意交换,(4)关系中的元组位置具有顺序无关性行的顺序可以任意交换,选课(学号,课程号)授课(教师号,课程号),.,24,数据库原理第三章,(5)关系具有元组无冗余性关系中不允许出现相同的元组,(6)关系中每一个分量都必须是不可分的数据项分量是原子量,不允许表中有表,.,25,数据库原理第三章,.,26,数据库原理第三章,5.关系模式(RelationSchema),关系的描述称为关系模式,形式化地表示为:,R(U,D,Dom,F),R-关系名U-属性名集合D-属性所来自的域DOM-属性向域的映像集合F-属性间数据的依赖关系集合,.,27,数据库原理第三章,可以简单记为:R(U)或R(A1,A2,An)其中:R为关系名,A1,A2,An为属性名。,学生(学号,姓名,性别,年龄,系别)教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系别)课程(课程号,课程名,课时)选课(学号,课程号,成绩)授课(教师号,课程号),.,28,数据库原理第三章,关系模式:静态、稳定,固定不变,关系数据:随数据更新不断变化,.,29,数据库原理第三章,6.关系数据库(RelationDataBase),所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。关系数据库也有“型”和“值”之分:,关系数据库模式,关系数据库,型,值,静态、稳定,固定不变,随数据更新不断变化,.,30,数据库原理第三章,3.1.2关系操作概述,1.关系操作的基本内容,数据查询数据维护(更新)数据控制,.,31,数据库原理第三章,2.关系操作的特点,(1)关系操作语言操作一体化数据定义、查询、更新和控制一体化,既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。,.,32,数据库原理第三章,(2)关系操作的方式是一次一集合方式操作的初始数据、中间数据、结果数据都是集合,因此能够使其利用集合运算和关系规范化等数学理论进行优化和处理操作,但关系操作与其他系统配合时需要解决处理方式的矛盾。,.,33,数据库原理第三章,(3)关系操作语言是高度非过程化的语言具有强大的表达能力。用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。,.,34,数据库原理第三章,3.关系操作语言的种类,(1)关系代数语言用对关系的运算来表达查询要求的语言。(2)关系演算语言用查询得到的元组应满足的谓词条件来表达查询要求的语言。(3)基于映象的语言具有关系代数和关系演算双重特点的语言。主流语言SQL语言,.,35,数据库原理第三章,3.1.3关系的完整性,1.关系模型的实体完整性,若属性A是基本关系R的主属性,则属性A的值不能为空值。,.,36,数据库原理第三章,主属性,实体完整性能够保证实体的唯一性。实体完整性能够保证实体的可区分性。,.,37,数据库原理第三章,主属性,二义性无法区分,.,38,数据库原理第三章,2.关系模型的参照完整性,(1)外码,设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码);如果F与基本关系S的主码相对应,则称F是R的外码。R为参照关系,S为被参照关系。,.,39,数据库原理第三章,关系R,属性F,关系S,主码K,F不是主码,F是R的外码,参照关系,被参照关系,.,40,数据库原理第三章,例如“基层单位数据库”中有“职工”和“部门”两个关系,其关系模式如下:,职工(职工号,姓名,工资,性别,部门号),部门(部门号,名称,领导人号),主码用下划线标出,外码,参照关系,被参照关系,.,41,数据库原理第三章,职工(职工号,姓名,工资,性别,部门号),部门(部门号,名称,领导人号),外码,被参照关系,参照关系,外码给出了不同关系之间建立联系的方法,.,42,数据库原理第三章,学生(学号,姓名,性别,专业号,年龄),课程(课程号,课程名,学分),选修(学号,课程号,成绩),外码,外码,参照关系,被参照关系,被参照关系,.,43,数据库原理第三章,(2)参照完整性规则,若属性(或属性组)F是基本关系R的外码,则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。,.,44,数据库原理第三章,职工,部门,外码,.,45,数据库原理第三章,(3)用户定义的完整性,用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。如:成绩属性的取值范围在0-100之间在职职工的年龄小于65岁,.,46,数据库原理第三章,完整性约束,实体完整性,参照完整性,用户自定义完整性,必须满足,体现具体领域中的语义约束(取值范围、格式限制),.,47,运算=运算对象+运算符+运算结果,数据库原理第三章,3.2关系代数,3.2.1概述,关系代数是一种抽象的查询语言,通过关系的运算来表达查询。,关系,关系,.,48,数据库原理第三章,运算符,(1)集合运算符(并运算),(差运算)(交运算),(广义笛卡儿积)(2)专门的关系运算符(选择),(投影)(连接),(除),.,49,数据库原理第三章,(3)比较运算符(大于),(大于等于)(小于),(小于等于)(等于),(不等于)(4)逻辑运算符(非)(与)(或),.,50,数据库原理第三章,关系代数运算符,传统的集合运算,把关系看成元组的集合,运算从“行”的角度进行。并()、差(-)、交()、广义笛卡尔积(),专门的关系运算,不仅涉及行运算,也涉及列运算,为数据库的应用而引进的特殊运算。选择()、投影()、连接()、除法(),比较运算符和逻辑运算符用于辅助操作,.,51,数据库原理第三章,3.2.2传统的集合运算,双目运算,下述三种运算,两个集合需满足以下条件:,设给定两个关系R、S,需满足:(1)具有相同的度n;(2)R中第i个属性和S中第i个属性必须来自同一个域。,.,52,数据库原理第三章,1.并(Union)运算,t为元组,R和S并的结果仍为n目关系其数据由属于R或属于S的元组组成,.,53,数据库原理第三章,R,S,RS,.,54,数据库原理第三章,2.差(Difference)运算,R和S并的结果仍为n目关系其数据由属于R,且不属于S的元组组成,.,55,数据库原理第三章,R,S,R-S,.,56,数据库原理第三章,3.交(Intersection)运算,R和S并的结果仍为n目关系其数据由属于R,且同时属于S的元组组成,.,57,数据库原理第三章,R,S,RS,.,58,关系Rn目关系Sm目它们的广义笛卡儿积是一个(n+m)目的元组集合:(1)元组的前n列是关系R的一个元组,后m列是关系S的一个元组。(2)若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积应当有k1k2个元组。,数据库原理第三章,4.广义笛卡尔积(ExtendedCartesianProduct)运算,.,59,数据库原理第三章,R和S的广义笛卡儿积表示为:,.,60,数据库原理第三章,R,S,RS,.,61,数据库原理第三章,3.2.3专门的关系运算,记号说明,关系模式、关系、元组和分量设关系模式为,它的一个关系设为R;表示t是R的一个元组,则表示元组t中相对于属性的一个分量。,.,62,数据库原理第三章,职工,A1,A2,A3,A4,A5,t,tA3,.,63,数据库原理第三章,域列和域列非设关系模式为,取的一部分构成集合A:,A称为属性列或域列。,表示元组t在属性列A,上各分量的集合。,表示中去掉之后的属性组。,称为A的域列非。,.,64,数据库原理第三章,职工,A1,A2,A3,A4,A5,t,.,65,数据库原理第三章,1.选择(Selection)运算,单目运算,根据给出的条件在关系R中选择若干元组,组成一个新的关系。(“行的角度”),.,66,属性名可以用属性的序号表示,数据库原理第三章,:选择运算符,F:选择条件,是一个逻辑表达式运算对象:属性名、常数、简单函数运算符:比较运算符、逻辑运算符,.,67,数据库原理第三章,例1.用关系代数表示在学生关系中查询计算机系全体学生的操作。,学生,.,68,数据库原理第三章,结果:,.,69,数据库原理第三章,例2.用关系代数表示在职工关系中查询工资高于5000元的职工的操作。,职工,.,70,数据库原理第三章,结果:,.,71,数据库原理第三章,2.投影(Projection)运算,单目运算,在关系R中选择若干属性列,组成一个新的关系。(“列的角度”)从左到右按照指定的属性及其顺序取出相应的列,删去重复的元组。,.,72,数据库原理第三章,:选择运算符,A:属性列,.,73,数据库原理第三章,例3.查询职工关系中的职工号、部门号和工资。,职工,.,74,数据库原理第三章,结果:,列数变少,改变了属性的顺序,.,75,数据库原理第三章,例4.查询学生关系中包含哪些系。,学生,.,76,数据库原理第三章,结果:,删除了重复的行,减少了元组数量,投影运算会改变关系的属性个数、顺序;会改变关系的元组个数。,.,77,数据库原理第三章,3.连接(Join)运算,二目运算,从二个关系的广义笛卡尔积中选取满足一定条件的元组。,.,78,数据库原理第三章,:连接运算符,A和B分别为R和S上度数相等且可比的属性组,:比较运算符,:连接条件/比较条件,连接运算:从中,选择满足条件的元组。,.,79,数据库原理第三章,例5.有关系R,S如下所示,求出相应的连接运算的结果,R,S,.,80,数据库原理第三章,R,S,.,81,数据库原理第三章,R,S,.,82,数据库原理第三章,R,S,.,83,数据库原理第三章,当为为“=”时,称为等值连接,自然连接:特殊的等值连接,去掉重复列,例6.求出例5中关系R,S的自然连接,.,84,数据库原理第三章,例7.教材例4-4,学生选课,.,85,数据库原理第三章,学生选课学生.学号=选课.学号,.,86,数据库原理第三章,学生选课,.,87,数据库原理第三章,4.除(Division)运算,二目运算,属性的像集,给定一个关系R(X,Z),X和Z为属性组。定义当tX=x时,x在R中的像集为:,表示R中的属性组X上值为x的各元组对应于Z上的分量的集合。,.,88,数据库原理第三章,x1在R中的像集Zx1=Z1,Z2,Z3x2在R中的像集Zx2=Z2,Z3x3在R中的像集Zx3=Z1,Z

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论