ADB(2)-数据库系统基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ADB(2)-数据库系统基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADB 数据库 系统 基础 课件
- 资源描述:
-
1、1高级数据库技术与应用(2)-第2章 数据库系统基础汤汤 庸庸 叶小平叶小平 计算机科学系计算机科学系协同软件研究开发中心协同软件研究开发中心 协同软件研究开发中心2/26数据库系统基础目录n2.1 关系数据库基础关系数据库基础n2.2 面向对象数据库技术面向对象数据库技术n2.3 对象关系数据库技术对象关系数据库技术 协同软件研究开发中心3/262.1关系数据库基础关系数据库基础n2.1.1 关系数据模型关系数据模型n2.1.2 关系模式设计关系模式设计n2.1.3 事务处理技术事务处理技术 协同软件研究开发中心4/262.1.1关系数据模型(关系数据模型(01)n1.关系数据模型基本概念关
2、系数据模型基本概念n(1)关系描述(从技术直观层面)关系描述(从技术直观层面)n关系基本描述:关系基本描述:n一个关系就是一张二维平面表格,每个关系都有一个关系名。一个关系就是一张二维平面表格,每个关系都有一个关系名。n对关系的描述称为关系模式,不同关系模式对应不同关系结构。对关系的描述称为关系模式,不同关系模式对应不同关系结构。n关系表示形式为:关系表示形式为:n 关系名(属性名关系名(属性名1 1,属性名,属性名2 2,.,属性名,属性名n n)协同软件研究开发中心5/262.1.1关系数据模型(关系数据模型(02)n1.关系数据模型基本概念关系数据模型基本概念n(1)关系描述(从技术直观
3、层面)关系描述(从技术直观层面)n关系相关概念:关系相关概念:n元组:在一个二维表中,水平方向的行称为元组,每一行是一个元组:在一个二维表中,水平方向的行称为元组,每一行是一个 元组。元组对应存储文件中的一个具体的记录。元组。元组对应存储文件中的一个具体的记录。n属性列:二维表中垂直方向的列称为属性列,每一列有一个属性属性列:二维表中垂直方向的列称为属性列,每一列有一个属性 名。名。n域:域:属性的取值范围,即对同一属性的取值所限定的范围。属性的取值范围,即对同一属性的取值所限定的范围。协同软件研究开发中心6/262.1.1关系数据模型(关系数据模型(03)n1.关系数据模型基本概念关系数据模
4、型基本概念n(2)关系概念(从数学形式层面)关系概念(从数学形式层面)n笛卡尔乘积:笛卡尔乘积:n给定一组域给定一组域D1D1,D2D2,DnDn(其中允许有相同的其中允许有相同的),则笛卡儿积定义为:,则笛卡儿积定义为:n D1D1D2D2DnDn=(d1,d2,=(d1,d2,dn)|diDi,idn)|diDi,i=1,2,n=1,2,nn其中每个其中每个(d1,d2,(d1,d2,dndn)叫作元组;元组中的每个叫作元组;元组中的每个didi叫作分量,叫作分量,didi必是必是DiDi中的一个值;当中的一个值;当n=1n=1时称单元组,时称单元组,n=2n=2时,称二元组,时,称二元组
5、,。协同软件研究开发中心7/262.1.1关系数据模型(关系数据模型(04)n1.关系数据模型基本概念关系数据模型基本概念n(2)关系概念(从数学形式层面)关系概念(从数学形式层面)n关系的数学定义:关系的数学定义:n当且仅当当且仅当R是是D1D2Dn的一个子集,则称的一个子集,则称R是是D1D2Dn上的一个关系,上的一个关系,记为:记为:R(D1,D2,Dn),n其中其中 R为关系名,为关系名,n为关系的度,为关系的度,Di为第为第i个域名。在关个域名。在关系对应的二维表中,行对应元组,列对应域。系对应的二维表中,行对应元组,列对应域。协同软件研究开发中心8/262.1.1关系数据模型(关系
6、数据模型(05)n元组标识由主键描述元组标识由主键描述n超 键:在给定关系R中,能够唯一标识各个元组的属性集合称 为关系R的超键(Super Key)。n候选键:不含多余属性的超键称为候选键(Candidate Key),或者说候选键是其中任何真子集均不是超键的 超键。候选键有时也称作键(Key)。n主 键:选定了用于标识的候选键称为主键(Prime Key)。1.关系数据模型基本概念关系数据模型基本概念(3)元组标识与关系间关联元组标识与关系间关联 协同软件研究开发中心9/262.1.1关系数据模型(关系数据模型(06)关系间相互关联由外键描述。关系间相互关联由外键描述。外外 键:如果一个关
7、系键:如果一个关系R1R1的一个属性子集的一个属性子集S S是另一个是另一个关系关系R2R2的主键,但不是的主键,但不是R1R1本身的主键,则称本身的主键,则称S S是关系是关系R1R1的外键(的外键(Foreign Foreign KeyKey)。其中,)。其中,R1R1称为依赖关系,称为依赖关系,R2R2称为参照关系。称为参照关系。1.关系数据模型基本概念关系数据模型基本概念(3)元组标识与关系间关联元组标识与关系间关联 协同软件研究开发中心10/262.1.1关系数据模型(关系数据模型(07)n列的同质性列的同质性 关系表中每一列的属性值都必须关系表中每一列的属性值都必须为同一类型数据,
8、来自同一个属性域。为同一类型数据,来自同一个属性域。n异列同域性异列同域性 关系中不同的属性列可以出自同关系中不同的属性列可以出自同一个域,但不同属性列应当有不同属性名称。一个域,但不同属性列应当有不同属性名称。n列的无序性列的无序性 关系中属性是无序的,即列的次关系中属性是无序的,即列的次序可以任意交换。由于列的顺序无关紧要,列序可以任意交换。由于列的顺序无关紧要,列顺序不同的关系在逻辑上是同一集合。顺序不同的关系在逻辑上是同一集合。2.关系结构基本性质关系结构基本性质 协同软件研究开发中心11/262.1.1关系数据模型(关系数据模型(08)n元组相异性元组相异性 关系的主体中不允许出现相
9、同的关系的主体中不允许出现相同的元组。元组。n行的无序性行的无序性 关系中不考虑元组之间的顺序,关系中不考虑元组之间的顺序,元组在关系中应是无序的,即没有行序,这是元组在关系中应是无序的,即没有行序,这是因为关系是元组的集合,按集合的定义,集合因为关系是元组的集合,按集合的定义,集合中的元素无序。中的元素无序。n属性值原子性属性值原子性 关系中的每一个属性值都是不关系中的每一个属性值都是不可分解的,不允许出现组合数据,更不允许可分解的,不允许出现组合数据,更不允许“表中有表表中有表”。2.关系结构基本性质关系结构基本性质 协同软件研究开发中心12/262.1.1关系数据模型(关系数据模型(09
10、)n基于更新的代数运算建立在传统集合运算之上基于更新的代数运算建立在传统集合运算之上n插入插入集合的并运算集合的并运算 n设有同类关系R、S(即R、S具有相同的关系模式),则二者的并运算定义为:n式中“”为并运算符,t为元组变量,结果RS为一个新的与R、S同类的关系,该关系是由属于R或属于S的元组构成的集合。3.关系运算关系运算关系代数关系代数 基于更新的代数运算基于更新的代数运算|StRttSR 协同软件研究开发中心13/262.1.1关系数据模型(关系数据模型(10)n删除删除集合的差运算集合的差运算n设有同类关系R、S,则二者的差(Difference)运算定义为:n式中“”为差运算符,
11、t为元组变量,结果R-S为一个新的与R、S同类的关系,该关系是由属于R而且不属于S的元组构成的集合,即在R中减去与S中相同的那些元组。|StRttSR3.关系运算关系运算关系代数关系代数 基于更新的代数运算基于更新的代数运算 协同软件研究开发中心14/262.1.1关系数据运算(关系数据运算(11)n基于查询需要建立不同于传统情形的新的集合运算基于查询需要建立不同于传统情形的新的集合运算n关系属性的指定关系属性的指定投影运算投影运算n设有设有k k元关系元关系R R,其元组变量为,其元组变量为tktk=t1,t2,=,那么关系那么关系R R在其分量在其分量Ai1,Ai2,Ai1,Ai2,Ain
12、Ain(nknk,i1,i2,in i1,i2,in 为为1 1到到k k之间互不相同的整数之间互不相同的整数)上的上的投影定义为:投影定义为:,|)(2121,2,1RttttttttRkiniiinii3.关系运算关系运算关系代数关系代数 基于查询的代数运算基于查询的代数运算 协同软件研究开发中心15/262.1.1关系数据模型(关系数据模型(12)n关系元组的选定关系元组的选定选择运算选择运算 n设有设有k元关系元关系R,条件用一命题公式,条件用一命题公式F表示,则从关系表示,则从关系R中选择出满足条件中选择出满足条件F的行定义为的行定义为:)(|)(truetFRttRF3.关系运算关
13、系运算关系代数关系代数 基于查询的代数运算基于查询的代数运算 协同软件研究开发中心16/262.1.1关系数据模型(关系数据模型(13)n 关系的集成关系的集成广义笛卡尔乘积运算广义笛卡尔乘积运算 n设有关系R、S,其中关系R有r个属性分量、m个元组,关系S有s个属性分量、n个元组,则二者的广义笛卡尔乘积(Cartesian Product)运算定义为:,|StRtttttSRsrsr3.关系运算关系运算关系代数关系代数 基于查询的代数运算基于查询的代数运算 协同软件研究开发中心17/262.1.1关系数据模型(关系数据模型(14)n 交 运 算交 运 算 设 有 同 类 关 系设 有 同 类
14、 关 系 R、S,则 二 者 的 交,则 二 者 的 交(Intersection)运算定义为)运算定义为n 除法运算除法运算 设有两个关系设有两个关系T和和R,其元数分别为,其元数分别为n和和m(nm0),则),则T和和R进行进行“除法除法”运算的结果记运算的结果记P=TR,其中,其中P是一个元数为是一个元数为n-m的满足下述性质的最大关的满足下述性质的最大关系:系:P中的每个元组中的每个元组u与与R中每个元组中每个元组v所组成的元组所组成的元组(u,v)必在关系)必在关系T中。在这里,为了叙述方便,假中。在这里,为了叙述方便,假设设R的属性为的属性为T中的后中的后m个属性。个属性。|StR
15、ttSR3.关系运算关系运算关系代数关系代数 组合代数运算组合代数运算 协同软件研究开发中心18/262.1.1关系数据模型(关系数据模型(15)n 连接运算连接运算 n设有关系R、S,为算术比较符,i为R中某一属性列的编号,j为S中某一属性列的编号,ij为一个算术比较式。关系R,S在域i,j上的-连接(-Join)就是从R和S的笛卡尔乘积中选取满足条件“ij”的元组,其定义为:)(SRSRjiji3.关系运算关系运算关系代数关系代数 组合代数运算组合代数运算 协同软件研究开发中心19/262.1.1关系数据模型(关系数据模型(16)n如果在一阶谓词演算表达式中,变量是以元组为演算单位,就称其
16、为元组关系演算(Tuple Relation Calculus),其中元组变量表示关系中的元组,变量取值范围是整个关系。n 关系的元组演算表示关系的元组演算表示 为了得到关系操作的元组关系演算表达式,需要考虑关系与谓词的联系。3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心20/262.1.1关系数据模型(关系数据模型(17)nA.由关系由关系R确定的谓词确定的谓词P 在数理逻辑中我们知道,关系可用谓词表示,n元关系可以由n元谓词表示。n设有关系R,它有元组(r1,r2,rm),定义关系R对应如下一个谓词nP(x1,x2,xn)。n当t=(r1,r2,rm)属于R时,
17、t为P的成真指派,而其他不在R中的任意元组t则是P的成假指派。即是说,由关系R定义一个谓词P具有如下性质:nP(t)=T (当t在R中);nP(t)=F (当t不在R中)。3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心21/262.1.1关系数据模型(关系数据模型(18)nB.由谓词由谓词P表示关系表示关系R 由于关系代数中R是元组集合,一般而言,集合是可以用满足它的某种特殊性质来刻画与表示。如果谓词P表述了关系R中元组的本质特性,就可以将关系R写为:nR=t|P(t)n这个公式就建立了关系(元组集合)的谓词表示,称之为关系演算表达式。3.关系运算关系运算关系演算关
18、系演算元组演算元组演算 协同软件研究开发中心22/262.1.1关系数据模型(关系数据模型(19)n元组关系演算的语法元组关系演算的语法 元组关系演算表达式的严格数学描述是由“归纳定义”方式完成的。按照通常的思路,元组演算表达式是由“关系演算公式”组成;“关系演算公式”是由“原子公式”组成。3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心23/262.1.1关系数据模型(关系数据模型(20)n下述三类称为元组演算原子公式,简称原子公式:nA.R(t)是原子公式 这里,R是关系名,t=(r1,r2,rm)是元组变量,并且是P的成真指派,此时R(t)表示命题“t是关系R中
19、元组”。nB.u(i)v(j)是原子公式 这里,u(i)表示元组u的第i个分量,v(j)表示元组v的第j个分量,u(i)v(j)表示命题:“表示u的第i个分量与u的第j个分量有关系”。nC.u(i)a是原子公式 这里,a是常量,u(i)a表示命题“u的第i个分量与常量a有关系”。3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心24/262.1.1关系数据模型(关系数据模型(21)n利用原子公式可以递归定义关系演算公式:利用原子公式可以递归定义关系演算公式:nA.原子公式是公式。原子公式是公式。nB.如果如果1,2是公式,则是公式,则12,12,12和和1均是公式。均是
20、公式。nC.如果如果是公式,是公式,r是是中自由变元,则中自由变元,则r(),),r()是公式。)是公式。nD.所有公式由且仅由上述三种方式经过有限次所有公式由且仅由上述三种方式经过有限次操作生成。操作生成。3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心25/262.1.1关系数据模型(关系数据模型(22)n有了公式有了公式的概念,以公式的概念,以公式作为特性就构成作为特性就构成一个有若干元组组成的集合,即关系一个有若干元组组成的集合,即关系R,这种,这种形式的元组集合就称其为关系演算表达式。关形式的元组集合就称其为关系演算表达式。关系演算表达式的一般形式为:系演算
21、表达式的一般形式为:nt|(t)n其中,其中,(t)为公式,)为公式,t为为中出现的自由变元。中出现的自由变元。关系演算表达式也简称为关系表达式或者表达关系演算表达式也简称为关系表达式或者表达式。式。3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心26/262.1.1关系数据模型(关系数据模型(23)n关系操作的元组演算表示关系操作的元组演算表示 关系操作有五种基关系操作有五种基本操作,它们在关系代数中分别对应五种基本本操作,它们在关系代数中分别对应五种基本运算,这五种基本运算可以用一阶谓词演算中运算,这五种基本运算可以用一阶谓词演算中的公式表示。的公式表示。3.关系
22、运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心27/262.1.1关系数据模型(关系数据模型(24)n设有关系设有关系R、S,其谓词表示为,其谓词表示为R(t)和)和S(t),),此时有此时有nRS=t|R(t)S(t);nR S=(t|R(t)S(t););n F(R)=t|R(t)F,其中,其中F是一个是一个谓词公式;谓词公式;3.关系运算关系运算关系演算关系演算元组演算元组演算 协同软件研究开发中心28/262.1.1关系数据模型(关系数据模型(25)3.关系运算关系运算关系演算关系演算元组演算元组演算)()(|)()(,.,2,1uRutRkuikuiui)()(.
23、)2()2()1()1(ikuktiutiut其中t(k)所表示的元组有k个分量,而t(i)表示t的第i个分量,u(j)表示u第j个分量。协同软件研究开发中心29/262.1.1关系数据模型(关系数据模型(26)3.关系运算关系运算关系演算关系演算域演算域演算n域关系演算(Domain Relation Calculus)简称为域演算,它是关系演算的另外一种形式。域关系和元组关系演算都建立在谓词演算之上,同属于关系演算范畴。n域关系和元组关系演算的不同之处首先在于,谓词表达式中谓词变元不同 元组演算以元组为变元,域演算以元组的分量为变元,由于元组分量是在相应属性域内变化,所以也将元组变元视为域
24、变元,相应的谓词公式就表示了属性域间关系,也就是域关系的由来;其次在于元组变元的变化范围为整个关系,域变元的变化范围是某个属性域。协同软件研究开发中心30/262.1.1关系数据模型(关系数据模型(27)3.关系运算关系运算关系演算关系演算域演算域演算n域关系演算(Domain Relation Calculus)简称为域演算,它是关系演算的另外一种形式。域关系和元组关系演算都建立在谓词演算之上,同属于关系演算范畴。n域关系和元组关系演算的不同之处首先在于,谓词表达式中谓词变元不同 元组演算以元组为变元,域演算以元组的分量为变元,由于元组分量是在相应属性域内变化,所以也将元组变元视为域变元,相
25、应的谓词公式就表示了属性域间关系,也就是域关系的由来;其次在于元组变元的变化范围为整个关系,域变元的变化范围是某个属性域。协同软件研究开发中心31/262.1.1关系数据模型(关系数据模型(28)3.关系运算关系运算关系演算关系演算域演算域演算n域演算表达式的一般形式为:域演算表达式的一般形式为:nR=t1,t2,tk|P(t1,t2,tk)n其中,其中,t1,t2,tk是域变量,是域变量,P(t1,t2,tk)是域演算表达式。)是域演算表达式。协同软件研究开发中心32/262.1.1关系数据模型(关系数据模型(29)4.完整性约束完整性约束(1)实体完整性约束实体完整性约束n当实体模型转化为
展开阅读全文