数据库关与系演算实例 .ppt
文本预览下载声明
An Introduction to Database System 第二章 关系数据库 2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 元组演算 2.6 域演算 2.7 小结 2.5 关系演算 关系演算 以数理逻辑中的谓词演算为基础 按谓词变元不同 进行分类 1.元组关系演算: 以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 2.域关系演算: 以域变量作为谓词变元的基本对象 域关系演算语言QBE 2.5.1 公式 由E.F.Codd提出 INGRES所用的QUEL语言是参照ALPHA语言研制的 在元组演算系统中称{t|φ(t)}为元组演算表达式,其中t为元组变量,且为自由变元,φ(t)为元组关系演算公式,简称公式,它由原子公式和运算符组成 1、原子公式 ?原子公式有三类: ??? ①R(t):? R为关系名,t为元组变量,R(t)表示t是R中的元组这样一个命题函数。 ??? ②t[i]θu[j]:t和u是两个元组,i和j表示元组分量的序号,θ是算术比较符,所表示的命题函数是元组t第i个分量与元组u第j个分量满足θ关系。 ??? ③t[i]θC或Cθt[i]:表示的命题函数是元组第i个分量与常数C满足θ关系。 2、逆归定义元组运算公式 ①每一个原子公式是一个公式 ?②设φ1,φ2是公式则φ1∧φ2,φ1∨φ2, ┑φ1 也是公式 ?③ ??? 设t的域值为T={t1,t2, …tn}?? 则 : ????????????? ??? ④ 有限次使用①②③生成的公式 3、元组运算公式中运算符优先次序 ①算术比较符 ②量词次之,且 量词高于 量词? ③逻辑运算符 ④括号最优先??? 元组运算公式{t|φ(t)}表示了所有使φ为真的元组集合,它所表示的仍是一个关系,其中t为自由变元。 典型的数据库为ALPHA(P60—P65) 2.5.2 关系代数用元组运算替代 1、并 ?? R∪S = {t|R(t)∨S(t)} 2、差 ?? R-S = {t|R(t)∧ ┑S(t)}? 3、笛卡尔积 ?? R×S = {tm+n|(?um)∧(?vn)∧R(u)∧S(v)∧ ?????????? t[1]=u[1]∧t[2]=u[2]∧...t[m]=u[m]∧ ?????????? t[m+1]=v[1]∧....t[m+n]=v[n]} 2.5.2 关系代数用元组运算替代 4、投影 Πx(R)={tk|(?u(R(u)∧t[1]=u[i1]∧…t[k]=u[ik]))} 5、选取 ??? бp(R )={t|R(t)∧P} 2.5.3 元组演算运算实例 ①查找l1从书店s1购买的图书号及其册数 ? {t2| ?u(LBS(u)∧u[1]=l1∧u[3]=s1∧ ????? t[1]=u[2]∧t[2]=u[4])} 2.5.3 元组演算运算实例 2.5.3 元组演算运算实例 ? 2.5.3 元组演算运算实例 2.5.3 元组演算运算实例 2.5.3 元组演算运算实例 ? 第二章 关系数据库 2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 元组演算 2.6 域演算 2.7 小结 2.6 域演算 ? 2.6.1 公式 递归定义域运算公式: ??? 1、原子公式 ??? ①R(t1,t2…tn),R为n元关系,ti是域变量或常量,表示的谓词含义:以t1,t2…tn为分量的元组在关系R中 ??? ② ti θuj: ti为元组t第i个分量,uj为元组u第j个分量,θ为算术比较符,表示的谓词含义为t的第i个分量与u的第j个分量满足θ关系。 ??? ③ ti θc:c为常量,表示的谓司含义是t的第i个分量与常数C满足θ关系。 2、递归定义 ??? ①原子公式是域运算公式 ??? ②若φ1,φ2是公式,则φ1∨φ2,φ1∧φ2,┑φ1也是公式 ??? ③ ??? ④有限次使用①②③也是公式 2.6.1 公式 运算符优先次序同元组运算公式 ?域演算表达式{t1,t2…tn|φ(t1,t2…tn)}表示所有使得φ为真的那些t1,t2…tn组成的元组集合。 ??? 典型的数据库为QBE数据库 2.6.2 域演算运算实例 ①查找l1从书店s1购买的图书号及其册数 2.6.2 域演算运算实例 ②取出馆址在上海shanghai的馆名和电话号码 ??????? {t1t2|ョu1(L(u1t1shanghait2))} 2.6.2 域演算运算实例 ③取出S3发行的图书书名和数量 ??? {t1t2|ョu1ョu2ョv3
显示全部