《数据库原理第二章li.ppt》由会员分享,可在线阅读,更多相关《数据库原理第二章li.ppt(36页珍藏版)》请在三一办公上搜索。
1、本章内容提要 关系数据库系统是本书的重点。在数据库发展的历史上,最重要的成就是关系模型。关系数据库系统与非关系数据库系统的区别是:关系系统只有“表”这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。本章讲解关系数据库的重要概念,包括关系模型的数据结构、关系的完整性以及关系操作。介绍用代数方式来表达的关系语言即关系代数。,第二章 关系数据库,.本章重点:关系模型及其基本概念;关系操作及关系的完整性;关系代数及关系代数表达式。本章难点:关系数据库系统与非关系数据库系统的区别;关系的内涵与外延;关系代数中的运算(除),第二章 关系数据库,关系数据库系统是支持关系模型的数
2、据库系统。关系模型组成:关系数据结构、关系操作集合、关系完整性约束。,第二章 关系数据库2.1 关系模型概述,一、单一的数据结构关系二、关系操作1.常用的关系操作包括:查询操作:选择、投影、连接、除 交、并、差更新操作:增加、删除、修改2.关系操作的特点集合操作方式。即操作的对象和结果都是集合。3.关系数据语言 关系代数语言 如 ISBL 关系演算语言 如 APLHA QBE 具有关系代数和关系演算双重特点的语言 SQL,第二章 关系数据库2.1 关系模型概述,三、关系的三类完整性 实体完整性,参照完整性,用户自定义完整性,第二章 关系数据库2.1 关系模型概述,通用,专用,2.2.1 关系1
3、.域(Domain)定义2.1 域(Domain)是一组具有相同数据类型的值的集合。2.笛卡儿积(Cartesian Product)定义2.2 给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡儿积(Cartesian Product)为:D1D2Dn=(d1,d2,dn)|d i Di,I=1,2,n,其中每一个元素叫做一个n元组,或简称为元组。元素中每一个值d i叫做一个分量。若Di(i=1,2,n)为有限集,其基数为mi(i=1,2,n),则D1D2Dn的基数M为 M=m1m2mn,第二章 关系数据库2.2 关系数据结构及形式化定义,第二章 关系数据库2.2 关系
4、数据结构及形式化定义,例1:设D1=1,2,3 D2=A,B D1D2=(1,A),(1,B),(2,A),(2,B),(3,A),(3,B)基数为 32=6 写成二维表的形式为:D1 D2=,123,AB,2.2.1 关系3.关系(Relation)定义2.3 D1D2Dn的子集叫做在域D1,D2,Dn上的关系,用 R(D1,D2,Dn)表示。这里R表示关系的名字。n是关系的目或度。关系中的每个元素是关系中的元组,通常用 t 表示 当n=1时,称为单元关系。当n=2时,称为二元关系。关系是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,对每列起一个名字,称
5、为属性。n目关系必有n个属性。,第二章 关系数据库2.2 关系数据结构及形式化定义,若关系中的某一属性组的值能唯一地标识一个元组,则称该属为候选码(Candidate key)。若一个关系有多个候选码,则选定其中一个为主码(Primary key)。主码的诸属性称为主属性(Prime attribute)。不包含在任何候选码中的属性称为非主属性(Non-key attribute)在数据库中我们要求关系的每一个分量必须是不可分的数据项。并把这样的关系称为规范化的关系,简称为范式。关系可以有三种类型:基本关系(又称为基本表或基表。它是实际存在的表)查询表(是查询结果对应的表)视图表(是由基本表和
6、其它视图表导出的表,是虚表,不对应实际存储的数据),第二章 关系数据库2.2 关系数据结构及形式化定义,对关系的限定和扩充:(1)无限关系在数据库系统中是无意义的。限定关系数据模型中的关系必须是有限集合。(2)通过为关系的每个列附加一个属性名的方法取消元组的有序性。即(d1,d2,di,dj,dn)=(d1,d2,dj,di,dn),第二章 关系数据库2.2 关系数据结构及形式化定义,基本关系有以下性质:1.列是同质的,即每一列中的分量是同一类型的数据,来自同一域。2.不同的列可出自同一域,每一列称为属性,要给予不同的属性名。3.列的顺序无所谓,即列的次序可以任意交换。4.任意两个元组不能全同
7、。5.行的顺序无所谓,即行的次序可以任意交换。6.分量必须取原子值,每一分量必须是不可分的数据项。,第二章 关系数据库2.2 关系数据结构及形式化定义,第二章 关系数据库2.2 关系数据结构及形式化定义,2.2.2 关系模式关系数据库中,关系模式是型,关系是值。关系是元组的集合。因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。定义2.4 关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:R(U,D,dom,F)其中:R为关系名;U为组成该关系的属性名集合;D为属性组U中属性所来自的域;dom为属性向域的映
8、象集合;F为属性间数据的依赖关系集合。,第二章 关系数据库2.2 关系数据结构及形式化定义,关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的。关系是动态的、随时间不断变化的。在实际中,常常把关系模式和关系统称为关系,可以从上下文中加以区别。,第二章 关系数据库2.2 关系数据结构及形式化定义,2.2.3 关系数据库 关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。关系数据库有型和值之分。关系数据库的型:也称为关系数据库模式,包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值:是这些关系模式在某一时刻对应的关系的集合,通常称为
9、关系数据库。,第二章 关系数据库2.3 关系的完整性,关系模型的完整性规则是对关系的某种约束条件。关系模型有三类完整性约束:实体完整性、参照完整性、用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。,第二章 关系数据库2.3 关系的完整性,一、实体完整性(Entity Integrity)规则 2.1 实体完整性规则 设属性A是基本关系R的主属性,则属性A不能取空值。对实体完整性规则的说明:1.实体完整性规则是针对基本关系而言的。一个基本关系通常对应现实世界的一个实体集。2.现实世界的实体是可区分的,即他们具有某种唯一性标识。3.关系中由
10、主码作为唯一性标识。主属性不能取空值。空值是“不知道”或“无意义”的值。例2:学生(学号,姓名,出生日期,班级,所属系,专业号)学生选课(学号,课程号,成绩),第二章 关系数据库2.3 关系的完整性,二、参照完整性(Referential Integrity)定义2.5 设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码(Foreign Key),并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系R和S不一定是不同的关系。目标关系S的主码KS和参照关系的外码F必须定义在同一个(或一组)域上。参照完整性规则是定义外码与主
11、码之间的引用规则。规则 2.2 参照完整性规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和S不一定是不同的关系),则对于R中每一个元组在F上的值必须为:(1)或者取空值(2)或者等于S中某个元组的主码值。,第二章 关系数据库2.3 关系的完整性,例3:学生R(学号,姓名,出生日期,班级,所属系,专业号)专业S(专业号,专业名)被参照关系或目标关系例4:学生(学号,姓名,出生日期,班级,所属系,专业号)课程(课程号,课程名,学分)选修(学号,课程号,成绩)例5:学生2(学号,姓名,出生日期,班级,所属系,班长),第二章 关系数据库2.3 关系的完整性,三
12、、用户定义的完整性(User-defined Integrity)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。,第二章 关系数据库2.4 关系代数,关系代数是一种抽象的查询语言,是关系数据操纵的一种传统表达方式。关系代数是用对关系的运算来表达查询的。运算的三要素:运算对象、运算符、运算结果关系代数的运算对象:关系关系代数的运算结果:关系关系代数的运算符:集合运算符 专门的关系运算符 算术比较符 逻辑运算符关系代数运算按运算符分类:传统的集合运算 专门的关系运算,第二章 关系数据库2.4 关系代数,第二章 关系数据库2.4 关系代数,传统
13、的集合运算 定义2.6 关系相容 设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则称关系R和关系S是关系相容的。设关系R和关系S是关系相容的,则可以定义以下基本操作:1.并(Union)关系R和关系S的并记为:RS=t|tR tS 其结果仍为n目关系。由属于R或属于S的元组组成。2.差(Difference)关系R和关系S的差记为:R-S=t|tR tS 其结果仍为n目关系。由属于R而不属于S的元组组成。3.交(Intersection)关系R和关系S的交记为:RS=t|tR tS 其结果仍为n目关系。由既属于R又属于S的元组组成。关系的交可由关系的差表示,即 RS=R-(R-S)
14、,第二章 关系数据库2.4 关系代数,传统的集合运算 4.广义笛卡尔积 两个分别为n目和m目的关系R和关系S的广义笛卡尔积是一个元组(n+m)列的元组的集合。元组的前n列是R的一个元组,后m列是关系是的一个元组。如R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记作:R S=trts|trR tsS,第二章 关系数据库2.4 关系代数,传统的集合运算 传统的集合运算是二目运算,包括并、交、差、广义笛卡尔集运算。它将关系看成元组的集合,其运算是从关系的“水平”方向,即行的角度来进行的。,R,S,R,S,R,S,RS,R,S,RS,R-S,RS,第二章 关系数据库2
15、.4 关系代数,2.4.2 专门的关系运算专门的关系运算包括选择、投影、连接和除等。几个记号。1.设关系模式为 R(A1,A2,AN),它的一个关系设为R。tR表示t是R的一个元组,tAi则表示元组t中相应于属性Ai的一个分量。2.若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,AN中的一部分,则A称为属性列或域列。则tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。则表示A1,A2,AN中去掉Ai1,Ai2,Aik后剩下的属性组。3.R为 n目的关系,S为m目关系。trR,tsS,tr ts 称为元组的连串。它是一个n+m列的元组,前n个分量为R
16、中的一个n元组,后m个分量为S中的一个m元组。,第二章 关系数据库2.4 关系代数,2.4.2 专门的关系运算几个记号。4.给定一个关系R(X,Z),X和Z为属性组,定义,当tX=x时,x在R中的象集为:Zx=tZ|t R,tX=x,表示R中属性组X上的值为x的诸元组在Z上分量的集合。例6:设有关系 R(学号,姓名,性别),记:X为学号 Z为姓名,性别当 tX=x=0001时Zx=tZ=张萍,女,第二章 关系数据库2.4 关系代数,2.4.2 专门的关系运算1.选择(Selection)选择又称为限制。它是在关系R中选择满足给定条件的诸元组,记作:F(R)=t|t R F(t)=真 其中F表示
17、选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。F由逻辑运算符、连接各算术表达式组成。算术表达式的基本形式为:X1Y1。其中表示比较运算符,X1,Y1等是属性名,或为常量,或为简单函数。属性名也可以用它的序号来代替。,第二章 关系数据库2.4 关系代数,2.4.2 专门的关系运算选择运算是从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算。,第二章 关系数据库2.4 关系代数,2.4.2 专门的关系运算2.投影(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系。记作:A(R)=tA|t R 其中A为R中的属性列。投影操作是从列的角度进行的运算。,第二
18、章 关系数据库2.4 关系代数,2.4.2 专门的关系运算投影操作是从列的角度进行的运算。它不仅涉及到列,还涉及到行。,第二章 关系数据库2.4 关系代数,2.4.2 专门的关系运算3.连接(Join)连接也称为连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:RS=tr ts|tr R ts S trA tsB AB 其中:A和B分别是R和S上度数相等且可比的属性组。等值连接 RS=tr ts|tr R ts S trA=tsB A=B 自然连接 RS=tr ts|tr R ts S trB=tsB,第二章 关系数据库2.4 关系代数,R,S,连接,第二章 关系数据库2.4
19、 关系代数,R,S,自然连接,相同属性,第二章 关系数据库2.4 关系代数,2.4.2 专门的关系运算 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上投影的集合。除法结果是R中满足下列条件的元组在X属性列上的投影:记作:RS=trX|tr R Y(S)Yx 其中Yx为x在R中的象集,x=trX,第二章 关系数据库2.4 关系代数,在以上介绍的八种运算中基本的运算是五种:并、差、笛卡尔积、投影、选择其他的运算均可用这五种基本运算来表达。引进他们并不增加语言的能力,但可以简化表达。,第二章 关系数据库,小结:关系数据库系统与非关系数据库系统的区别是,关系系统只有“表”这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。关系数据库的重要概念关系三要素:关系模型的数据结构、关系的完整性以及关系操作。用代数方式或逻辑方式来表达的关系语言即关系代数、元组关系演算和域关系演算。其中,详细介绍了关系代数。,
链接地址:https://www.31ppt.com/p-6578462.html