文档详情

数据库系统原理与技术第四章.ppt

发布:2017-04-24约6.94千字共148页下载文档
文本预览下载声明
数据库原理与技术 (第二版);第四章 关系数据库实现及使用;关 系 代 数;第四章 关系数据库实现及应用;关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询。 按照表达查询的方式可分为两大类。第一类是用对关系的运算来表达查询的方式,称为关系代数。第二类是用谓词来表达查询要求的方式称为关系演算。;一、传统的集合运算 包括四种运算:并(∪)、交(∩)、差(-)、广义笛卡尔积(×)。 1.并(Union) 设关系R和关系S具有相同的目n,且相应的属性取自同一个域。则关系R和关系S的并记为R∪S,其结果仍为n目关系,由属于R或属于S的元组组成。;如R和S的元组分别用两个圆表示,则R∪S的集合如图4.1所示虚影部分元组。;关 系 代 数;关 系 代 数;2、交(Intersection) 设关系R和关系S具有相同的目n,且相应的属性取自同一个域。关系R和关系S的交记为R∩S,结果仍为n 目关系,由既属于R又属于S的元组组成。如R和S的元组分别用两个圆表示,则R∩S集合运算结果可用图4.2示意,则两圆相交部分元组表示R与S的交。;关 系 代 数;关 系 代 数;关 系 代 数;3、差(Difference) 设关系R和关系S具有相同的目n,且相应的属性取自同一个域。定义关系R和关系S的差记为R-S,其结果仍为n目关系,由属于R而不属于S的元组组成。 ;关 系 代 数;关 系 代 数;4.笛卡尔积(Extended Cartesian Product) 两个分别为n,m的关系R和S的广义笛卡尔积R×S是一个(n×m)元组的集合。元组的前n个分量是R的一个元组,后m个分量是S的一个元组.若R有K1个元组,S有K2个元组,则R×S有K1×K2个元组。记为R×S;二、专门的关系运算 包括四种运算即选择(σ)、投影(∏)、连接( )和除法(÷),是关系数据库数据维护、查询、统计等操作的基础。 1.选择(Selection) 设有关系R,在关系R中求取满足给定条件F的元组组成新的关系的运算称为选择。记作: σF(R) ; 在σF(R)中, f 是一个条件表达式,其值为“真”或“假”。 σ F (R)是从关系R中选取使条件表达式 F 为真的元组。 这是以行为处理单位进行的运算。 条件表达式 F 是由常量、变量及算术比较符 {,≥,<,≤,=,≠}和逻辑运算符(∧,∨, )等构成。;关 系 代 数;2.投影(Projection) 设有关系R(A,B,C,D),在关系R中求指定的若干个属性列组成新的关系的运算称作投影,记作∏A(R)。其中A为欲选取的属性的列表。可以用:列名1,列名2……形式表示,也可以用[1],[2],……形式表示。 这是以列作为处理单位进行的运算,示意图如图4.4所示的阴影部分,a∈{A}, c∈{A}, d∈{A}。;关 系 代 数;关 系 代 数;关 系 代 数;;关 系 代 数;例如:关系R和S如表4.10,4.11所式,求R S ,连接结果如图所示。;4.除(Division) 给定关系R(x, y)与S(y)其中x,y为属性集(也可为单属性),R中的y 和S中的y可以有不同的属性名,但必须出自相同的域集。 在求解R÷S时,对R按x的值分组,然后检查每一组,如某一组中的y包含S中全部的y,则取该组中的x的值作为商关系中的一个元组,否则不取。如此求出R÷S的商。;关 系 代 数;第四章 关系数据库实现及应用;关系演算以数理逻辑中的谓词演算为基础。谓词(Predicate) 指明一个条件,通过对它的求解可得出下列之一的值:“真”、“假”、“未知”。 常见的谓词例如: 比较谓词:,≥,<,≤,=,≠; 包含谓词:IN; 存在谓词:EXISTS ;一、元组关系演算 用表达式{t|Q(t)}来表示,其中t为元组变量,Q(t)是由关系名、元组变量、常量及运算符组成的公式。{t|Q(t)}表示使Q(t)为“真”的元组的集合。; 关系代数的运算均可用关系演算表达式来表示(反之亦然)表示如下: 1)并: R∪S={t|R(t)∨S(t)} 2)交: R∩S={t|R(t)∧S(t)} 3)差: R-S={t|R(t)∧ S(t)} 4)投影:∏ i1,i2, …ik(R)={tk|(u)(R(u)∧t[1]=u[i1]∧…t[k]=u[ik])} ;5)选择: 其中
显示全部
相似文档