【数据库系统概论】关系数据库1.ppt

上传人:marr****208 文档编号:149526788 上传时间:2020-10-27 格式:PPT 页数:41 大小:219KB
返回 下载 相关 举报
【数据库系统概论】关系数据库1.ppt_第1页
第1页 / 共41页
【数据库系统概论】关系数据库1.ppt_第2页
第2页 / 共41页
【数据库系统概论】关系数据库1.ppt_第3页
第3页 / 共41页
【数据库系统概论】关系数据库1.ppt_第4页
第4页 / 共41页
【数据库系统概论】关系数据库1.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《【数据库系统概论】关系数据库1.ppt》由会员分享,可在线阅读,更多相关《【数据库系统概论】关系数据库1.ppt(41页珍藏版)》请在金锄头文库上搜索。

1、第四章 关系数据库,4.1 关系模型的基本概念 4.1.1 数学定义 定义4.1 域(Domain)是值的集合.,定义4.2 给定一组域D1,D2,Dn,这些域中可以有相同的 D1,D2,Dn的笛卡尔积(Cartesian Product)为 D1D2Dn=(d1,d2,dn)diDi,i=1,2,n 其中每一个元素(d1,d2,dn)叫作一个n元组,或简称 为元素,元素中每一个值di叫做一个分量.,若Di(i=1,2,n)为有限集,其基数为mi(i=1,2,n), 则D1D2Dn的基数为m=mi,n,i =1,定义4.3 D1D2Dn 的子集叫做在域D1,D2,Dn上的关系, 用R(D1,D

2、2,Dn)表示,这里R表示关系的名字,n是关系的目或度.,当n=1时,称为单元关系. 当n=2时,称为二元关系. 关系是一张二维表,表的每一行对应一个元组,表的每一列对应一个域.由于域可以相同,为了加以区分,对每列取一个名字,称为属性.n目关系必有n个属性.,在上述例子中取出笛卡尔积的一个子集来构造一个关系,这个关系的名字为FAMILY(家庭),属性名就取域名,即MAN,WOMAN与CHILD.这个关系可表示为FAMILY(MAN,WOMAN,CHILD).,MAN WOMAN CHILD 王 兵 丁 梅 王 一 李 平 吴 芳 李 一 李 平 吴 芳 李 二,FAMILY,在关系数据库中,我

3、们能否把关系FAMILY定义成如下的形式呢?,MAN WOMAN,CHILD FIRST SECOND,王兵 丁梅 王一 李平 吴芳 李一 李二,数据库中的关系有以下性质: 1、列是同性质的,即每一列中的分量是同一类型的数据,来自同一个域。 2、不同的列可出自同一个域,每一列称为属性,要给予不同的属性名。 3、列的顺序无所谓,即列的次序可以任意交换。 4、任意两个元组不能全同。 5、行的顺序无所谓,即行的次序可以任意交换。 6、每一分量必须是不可分的数据项。,4.1.2 关 系 模 型 一、单一的数据结构关系 1、码 (1). 候选码 (2). 主码、主属性,2、关系模式 关系的描述称为关系模

4、式。通常记为: R(A1,A2,An)。R为关系名, A1,A2,An为属性名.属性向域的映象常常直接说明为属性的类型、长度。,3、关系数据库 (1).关系数据库的型 (2).关系数据库的值,二、关系操作 关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。关系语言的特点是高度非过程化。 关系模型中,关系操作的能力可用关系代数来表示。常用的几种如下: 1. 选择 2. 投影 3. 连接 4. 除 5. 并 6. 交 7. 差,三、关系模型的三类完整性 实体完整性、参照完整性和用户定义的完整性。 1、实体完整性 设属性A是基本关系R的主码组成成分(主属性),则属性A不能取

5、空值。 对实体完整性的4点说明:,2、参照完整性 若基本关系R中含有与另一个基本关系S的主码Ks相对应的属性组F,则对于R中每个元组在F上的值必须为:(1)取空值.(2)或者等于S中某个元组的主码值。 如职工关系EMP(ENO,ENAME,DNO)与 部门关系DEPT(DNO,DNAME),3、用户定义完整性,4.2 关系数据语言概述 关系的数据操纵语言按照表达查询的方式可分为两大类: 1. 用对关系的运算来表达查询的方式,称为关系代数. 2. 用谓词来表达查询要求的方式,称为关系演算. (1)元主关系演算 (2)域关系演算,关系代数和两种关系演算均是抽象的查询语言. 这三种语言在表达能力上是

6、彼此等价的.它们能用作评估实际系统中查询语言能力的标准或基础. 实际的查询语言除了提供关系代数的功能外,还提供了许多附加的功能,如库函数、关系赋值、算术运算等功能。,4.3 关 系 代 数 一、关系代数的运算的分类 1. 传统的集合运算 2. 专门的关系运算,关系代数的运算对象是关系.运算结果亦为关系。 二、关系代数用到的运算符 (1)集合运算符: (并),(差),(交),(广义笛卡尔积) (2)专门的关系运算符: (选择),(投影), (连接),(除) (3)算术比较符=, (4)逻辑运算符:, , ,4.3.1 传统的集合运算 设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则可

7、以定义四种运算如下:,1. 并(Union) 关系R和关系S的并记为RS, 结果仍为n目关系.由属于R或属于S的元组组成. RS,2. 差(Difference) 关系R和关系S的差记为R-S.结果仍为n目关系.由属于R而不属于S的元组组成.,3. 交(Intersection) 关系R和关系S的交记为R S, 结果仍为n目关系.由既属于R有属于S的元组组成. 关系的交可由关系的差表示,即RS=R-(R-S).,4. 广义笛卡尔积(Extended cartesian product) 两个分别为n、m目阿关系R和S的广义笛卡尔积RS是一个(n+m)元组的集合.元组的前n个分量是R的一个元组,

8、后m个分量是S的一个元组.若R有k1个元组,S有k2个元组,则RS有k1k2个元组.,R,S,图 4-1 ( c )RS,图 4-1 ( e )RS,图 4-1 ( d ) R-S,( a ),( b ),4.3.2 专门的关系运算 一. 几个记号 1. 设关系模式为R(A1,A2,An). 它的一个关系设为R. TR表示t是R的一个元组。TAi则表示元组t中相应属于Ai的一个分量。 2.若A=Ai1,Ai2,Ai3,Aik,其中Ai1,Ai2,Ai3,Aik 是A1,A2,A3,An中的一部分,则A称为属性列或域列.A则表示A1,A2,A3,An中去掉Ai1,Ai2,Ai3,Aik后剩余的属

9、性组.tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合.,3. R为n目关系,S为m目关系 tr R , ts S tr ts 称为元组的连串(Concatenation).这是一个(n+m)元组,前n个分量是R的一个n元组,后m个分量是S中的一个m元组. 4. 给定一个关系R(X , Z), X,Z为属性组. 我们定义当X=x时,x在R中的象集(Image Set)为: Zx=tz| tR,tX=x 表示R中属性组X上值为x的诸元组在Z上分量的集合.,二. 关系运算 1. 选择(Selection),亦称为限制(Restriction). 在关系R中选择满足给定条件的

10、诸元组,记为: F( R)=t|tRF(t)=真,F是一个公式,它的取值为真或假. F由逻辑运算符(,)连接各算术表达式组成. 选择运算是从关系R中选取使公式F为真的元组.这是从行的角度进行的运算. 举例说明选择运算:,设有学生课程关系数据库,学生关系S、课程关系C和学生选课关系SC,分别如图4-2 (a ), ( b ), ( c )所示,S,C,SC,( a ),( b ),( c ),图 4-2,例1. 求计算机科学系CS的学生,解: 在学生关系中找出SD为CS的学生. SD=CS(S)或3=CS(S),结果如图4-3.,图 4-3,例2. 求年龄大于或等于20的元组.,解: 在学生关系

11、中找出SA大于或等于20的学生. 即: SA20(S)或420(S),结果如图4-4,图 4-4,2. 投影(Projection) 关系R上的投影是从R中选择若干属性列组成新的关系.记作: A( R )=tA | t R A为R中的属性列.,例3. 求学生关系S在学生姓名和所在系这两个属性上的投影.,解: SN,SD( S )或2,3( S ) 结果如图4-5所示.,例4. 求学生选课关系SC在学号和成绩两个属性上的投影. 求学生选课关系SC在课程号和成绩两个属性上的投影.,解: . S#,G( SC )或1,3( SC ) 结果如图4-6 ( a ) . C#,G( SC )或2,3( S

12、C ) 结果如图4-6 ( b ),3. 连接(Join)亦称为连接 连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组.记作: RS = tr ts | trRtsS trA tsB,AB,自然连接(Natural join)是一种特殊而常用的连接.若R和S具有相同的属性组B,则自然连接定义如下: RS = tr tsB | trRtsS trB =tsB,例5. 设关系R,S分别为图4-7中的( a),(b ). RS 的结果如图4-7( c ). RS 自然连接的结果如图4-7( d ).,CE,4. 除(Division) 给定关系R(X,Y)与S(Y,Z), 其中X,Y,Z

13、为属性列,R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集.定义除法: RS=trX | trRYx r(S ) Yx为x在R中象集,x= trX . 除法结果是R中满足下列条件的元组在X属性列上的投影: 元组在X上分量值x的象集Yx包含S在Y上投影的集合.,例: 求至少选修C1,C3课程的学生的学号(图4-2P101) 解: 设一个临时关系K:,则所求结果为: S#,C#(SC)K=S1,4.4 关系演算 关系演算按谓词变元的不同可分为元组关系演算和域关系演算.我们首先介绍元组关系演算然后介绍域关系演算,都是先讨论抽象语言然后介绍一种实际语言。,4.4.1 元组关系演算 元组关系演

14、算用表达式 t | (t) 说明:应为小写,因计算机中无此符号 来表示.其中t为元组变量. (t)是由原子公式和运算符组成的公式.,一. 原子公式: 1. R(t).R是关系名,t是元组变量.R(t)表示t是R中的一个元组.即tR. 2. tiuj. t 和 u是元组变量, 是算术比较符. 3. tiC 或C ti. 表示“t的第i个分量与常量C之间满足比较关系”.,二. 公式可以递归定义 1. 每个原子公式是一个公式. 2. 设1和2是公式,则1,12,1 2也是公式. 3. 若是公式,t是元组变量.则( t ) ( t) 也是公式. 4. 公式中运算符的优先次序为: ( ) 算术比较符 量

15、词( 、 ) 5. 公只限于上述这些.,E,A,A E,元组关系表达式t | (t),表示使为真的元组集合. 三. 用关系演算表达式表示5种关系代数的基本运算: 1. 并 RS= t |R( t)S(t ),2. 差 R-S=t | R(t)S(t),3. 笛卡尔积 4. 投影 i1,i2,ik(R)=t | ( u)(R(u)t1=u(i1)tk=uik),(k),E,5. 选择 F(R)= t| R(t)F,四. 举例 例1 求计算机科学系CS的学生,SCS= t| S( t) t3=CS,例2. 求年龄大于或等于20的学生. S20= t| S( t) t420,例3. 求学生姓名及所在的系 S1=t | ( u)(R(u)t1=u2)t2=u3),(2),E,五. 元组演算表达式的安全性 1、无限关系 t | R(t)表示所有不属于R的元组。 2、安全表达示 * 安全表达式 * 安全限制 * DOM()一个有限符号集,当满足下列条件时,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号