数据库关系演算实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.元组关系演算: 以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 2.域关系演算:
以域变量作为谓词变元的基本对象
域关系演算语言QBE
2
数据库系统原理与设计
第 1 章
数据库系统概论
2.5.1 公式
由E.F.Codd提出
INGRES所用的QUEL语言是参照ALPHA语言研制的 在元组演算系统中称 {t|φ(t)} 为元组演算表达式,其中 t 为 元组变量,且为自由变元,φ(t)为元组关系演算公式,简 称公式,它由原子公式和运算符组成
11
数据库系统原理与设计
第 1 章
数据库系统概论
2.5.3 元组演算运算实例
③取出S3发行的图书书名和数量 {t2|(u)(v)(LBS(u)∧B(v)∧u[3]='S3'∧ u[2]=v[1]∧t[1]=v[2]∧t[2]=u[4])}
12
数据库系统原理与设计
第 1 章
来自百度文库
数据库系统概论
2.5.3 元组演算运算实例
15
数据库系统原理与设计
第 1 章
数据库系统概论
第二章 关系数据库
2.1 关系模型概述
2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 元组演算 2.6 域演算 2.7 小结
16
数据库系统原理与设计
第 1 章
数据库系统概论
2.6 域演算
类似于元组运算,只不过公式中的变量用元组各分量 对应的域变量来描述,域演算的谓词变元是域变量,域演 算表达式的一般形式为: {t1,t2,...tk|φ(t1,t2,...tk)} 其中t1,t2,...tk分别是域变量,φ是域演算公式
18
2、递归定义
数据库系统原理与设计
第 1 章
数据库系统概论
2.6.1 公式
运算符优先次序同元组运算公式
域演算表达式{t1,t2…tn|φ(t1,t2…tn)}表示所有使得φ为真的 那些t1,t2…tn组成的元组集合。 典型的数据库为QBE数据库
19
数据库系统原理与设计
第 1 章
27
数据库系统原理与设计
第 1 章
数据库系统概论
实例
28
数据库系统原理与设计
第 1 章
数据库系统概论
定理1
如果E是一个由五种基本关系代数运算 经过有限次组合而成的关系代数表达式, 则在元组运算中存在一个与 E等价的安全 的元组运算表达式。
实例 设R和S为二目关系则 П1,4(б2=3(R×S))={t|ョuョv(R(u)∧S(v)∧ u[2]=3∧t[1]=u[1]∧t[2]=v[2])}
④查找选购了所有图书的馆名
{t1|(v)( u)(w)(L(v)∧B(u)∧LBS(w)∧ w[1]=v[1]∧w[2]=u[1]∧t[1]=v[2])}
13
数据库系统原理与设计
第 1 章
数据库系统概论
2.5.3 元组演算运算实例
⑤查找同时收藏有b1和b2这两本书的图书馆名 {t1|(u)(v)(w)(LBS(u)∧LBS(v)∧L(w) ∧u[2]='b1'∧v[2]='b2'∧u[1]=v[1]∧ u[1]=w[1]∧t[1]=w[2])}
3
数据库系统原理与设计
第 1 章
数据库系统概论
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满足θ关系。
24
数据库系统原理与设计
第 1 章
数据库系统概论
1 基本概念
安全运算 不产生无穷关系或无穷验证的运算。 安全表达式 安全运算的运算表达式叫安全表达式。 在关系代数中由于不存在 运 算,关系代数是一个安全的运算表达式。
25
数据库系统原理与设计
第 1 章
数据库系统概论
安全表达式满足的条件
23
数据库系统原理与设计
第 1 章
数据库系统概论
构造安全约束与安全表达式查询的几个要素
元组演算的安全问题,域演算同元组演算 在关系运算表达式中形如 {t|┑R(t)}、 {t|R(t)∨{t}∧t[2]>3}等皆为无限关系,计算 机无法实现的, 形如
若判断为真,必须对所有的X进行验证,若X为无穷 集合,则导致无穷验证,必须进行一种限制即安全约 束。
表达式{t|φ(t)}为安全表达式满足如下的条件:
定义一个与ф有关的有限集合DOM(ф),其元素是在ф中所有出 现的符号。 若元组t使ф(t)为真则t的每个分量ti∈DOM(ф) 若R中每一个形如ョuф(u)的子表达式,若u满足ф,则u的每个 分量∈ DOM(ф) 若R中每一个形如 uф(u)的子表达式,若u满足ф,则u中必有 某个分量不属于DOM(ф),因为 uф(u) <==> ┑ョu┑ф(u)
第 1 章
数据库系统概论
3、元组运算公式中运算符优先次序
①算术比较符 ②量词次之,且 量词高于 量词 ③逻辑运算符 ④括号最优先
6
数据库系统原理与设计
第 1 章
数据库系统概论
元组运算公式{t|φ(t)}表示了所有使φ为真的 元组集合,它所表示的仍是一个关系,其中 t为自由变元。 典型的数据库为ALPHA(P60—P65)
数据库系统概论
2.6.2 域演算运算实例
①查找l1从书店s1购买的图书号及其册数
20
数据库系统原理与设计
第 1 章
数据库系统概论
2.6.2 域演算运算实例
②取出馆址在上海shanghai的馆名和电话号码

{t1t2|ョu1(L(u1t1'shanghai't2))}
21
数据库系统原理与设计

4
数据库系统原理与设计
第 1 章
数据库系统概论
2、逆归定义元组运算公式
①每一个原子公式是一个公式 ②设φ1,φ2是公式则φ1∧φ2,φ1∨φ2, ┑φ1 也是公式 ③ 设t的域值为T={t1,t2, …tn} 则 : ④ 有限次使用①②③生成的公式
5
数据库系统原理与设计
第 1 章
数据库系统概论
2.6.2 域演算运算实例
③取出S3发行的图书书名和数量 {t1t2|ョu1ョu2ョv3

(LBS(u1u2's3't2)∧B(u2t1v3))}
22
数据库系统原理与设计
第 1 章
数据库系统概论
2.6.2 域演算运算实例
④查找同时收藏有b1和b2这两本书的图书馆名 {t1|(ョu1ョu3ョu4)(ョv3ョv4)(ョw3ョw4) (LBS(u1 'b1'u3u4)∧ LBS(u1 'b2'v3v4)∧L(u1t1w3w4)}
数据库系统原理与设计
第 1 章
数据库系统概论
第二章 关系数据库
2.1 关系模型概述
2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 元组演算 2.6 域演算 2.7 小结
1
数据库系统原理与设计
第 1 章
数据库系统概论
2.5 关系演算
关系演算 以数理逻辑中的谓词演算为基础
按谓词变元不同 进行分类
8
数据库系统原理与设计
第 1 章
数据库系统概论
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}
9
数据库系统原理与设计
第 1 章
数据库系统概论
2.5.3 元组演算运算实例
经过安全约束的表达式称为安全表达式。
26
数据库系统原理与设计
第 1 章
数据库系统概论
实例
R={ (a1,b1,c1),(a2,b2,c2) } DOM(R)= ∏A(R)∪∏B(R)∪∏C(R) ={{a1,a2},{b1,b2},{c1,c2}}
S={t|┑R(t)}
即:S是Dom(R)中各域值元素的笛卡尔积与R 的差积。
14
数据库系统原理与设计
第 1 章
数据库系统概论
2.5.3 元组演算运算实例
⑥查找没有收藏computer这本书的图书馆名 {t1|(u)( v)(w)(L(u)∧LBS(v)∧B(w)∧ w[2]='computer'∧v[2]≠w[1]∧u[1]=v[1] ∧t[1]=u[1])} 或者 {t1|┑((u)(v)(w)(L(u)∧LBS(v)∧B(w)∧ w[2]='computer'∧v[2]=w[1]∧u[1]=v[1] ∧t[1]=u[1]))} 注意:第二种方法存在安全问题
①查找l1从书店s1购买的图书号及其册数 {t2| u(LBS(u)∧u[1]='l1'∧u[3]='s1'∧ t[1]=u[2]∧t[2]=u[4])}
10
数据库系统原理与设计
第 1 章
数据库系统概论
2.5.3 元组演算运算实例
②取出馆址在上海shanghai的馆名和电话号码 {t2| u(L(u)∧u[3]='shanghai'∧t[1]=u[2]∧t[2]=u[4])}
29
数据库系统原理与设计
第 1 章
数据库系统概论
定理2
对于每一个元组运算安全表达式,一定存在一个与之等价的
安全域运算表达式。
若u的目数为m,则引入m个域变量u1u2…um,并在u的受限
范围内用ui代替u[t],用R(u1u2…um)代替R(u),用ョu1ョu2…ョ um代替ョU, 用 代替 ,显然它等价于原元组运算表达式。
30
数据库系统原理与设计
第 1 章
数据库系统概论
定理3
对于每一个域运算表达式,总存在一个与 之等价的关系代数表达式。 从上面的定理可知,这三种运算在安全 定义范围内是可以互相转换的。
31
17
数据库系统原理与设计
第 1 章
数据库系统概论
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满足θ关系。 ①原子公式是域运算公式 ②若φ1,φ2是公式,则φ1∨φ2,φ1∧φ2,┑φ1也是公式 ③ ④有限次使用①②③也是公式
7
数据库系统原理与设计
第 1 章
数据库系统概论
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]}
相关文档
最新文档