数据库课件二讲.ppt

数据库课件二讲

2.2关系运算 关系数据操作(通过关系运算表达查询) 数据查询 数据更新 关系运算按表达查询方式的不同(代数方式,逻辑方式) 关系代数和关系演算是一种抽象的查询语言,这些抽象的查询语言与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准或基础,是研究关系数据语言的数学工具。 一、关系代数 关系代数是对关系进行集合代数运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。 关系运算符如下图所示 关系代数 关系代数包括基本操作(并、差、选择、投影和笛卡尔积)和附加操作(交、连接、商)。 关系代数的运算按运算符的不同主要分为传统的集合运算和专门的关系运算两类。 1.?传统的集合运算 2.?专门的关系运算 传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。 在进行关系的并、交、差运算时,要求参与运算的关系R与S具有相同的目n,相应的属性取自同一个域,而且两个关系的属性排列次序一样,这意味着R和S具有相同的结构,称它们为相容(或同构)关系。 2. 差(Difference) 关系R与关系S的差由属于R而不属于S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: R-S={t|t∈R∧┐t∈S} 通过差运算,可实现关系数据库记录的删除。 3. 交(Intersection) 关系R与关系S的交由既属于R又属于S的元组组成,即R与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: R∩S={t|t∈∧t∈S} 如果两个关系没有相同的元组,那么它们的交为空。 两个关系的并和差运算为基本运算(即不能用其他运算表达的运算),而交运算为非基本运算,交运算可以用差运算来表示:R∩S=R-(R-S) 专门的关系运算 由于传统的集合运算,只是从行的 角度进行,而要灵活地实现关系数 据库多样的查询操作,必须引入专 门的关系运算。 5.选择(Selection) 选取运算是单目运算,是根据一定的条件在给定的关系R中选取若干个元组,组成一个新关系,记作: σF(R)={t|t∈R∧F(t)为真} 其中,σ为选取运算符,F为选取的条件,它由运算对象(属性名、常数、简单函数)、算术比较运算符( ,≥,,≤,=,≠)和逻辑运算符(∨ ∧ ┐)连接起来的逻辑表达式,结果为逻辑值“真”或“假”。 选取运算实际上是从关系R中选取使逻辑表达式为真的元组,是从行的角度进行的运算。 6. 投影(Projection) 投影运算也是单目运算,关系R上的投影是从R中选择出若干属性列,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记作:ΠA(R)={t[A]|t∈R} 其中A为R中的属性列,Π为投影运算符。 从其定义可看出,投影运算是从列的角度进行的运算,这正是选择运算和投影运算的区别所在。选取运算是从关系的水平方向上进行运算的,而投影运算则是从关系的垂直方向上进行的。 7. 连接(Join) 2)复合连接 类似于自然连接,只是连接结果不包含连接属性 3)半连接 R与S的连接结果中去掉S的属性后所得的关系。 8. 商(Division) 象集(Image Set) 关系R(X , Z), X, Z是属性组,x是X上的取值,定义x在R中的象集为 Zx = { t[Z] | t?R ? t[X]= x } 从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量 商的定义: 给定关系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 ? S = {tr [x] | tr ?R ? Yx? ? y (S)} 关系除法运算的步骤: 将被除关系属性分为象集属性和结果属性 对象集属性进行投影—目标数据集 将被除关系分组:结果属性值一样的元组分为一组 找出结果集 关系数据库COMPANY 工作人员: EMPLOYEE(NAME,SSN,BDATE,AEERESS,SEX,SALARY, SUPERSSN,DNO) 部门: DEPARTMENT(DNAME,DNUMBER,MGRSSN,MGRSTARTDATE) 部门地址: DEPARTMENT_L

文档评论(0)

1亿VIP精品文档

相关文档