数据库关系演算实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
数据库系统原理与设计
第 1 章 数据库系统概论
元组运算公式{t|φ(t)}表示了所有使φ为真的 元组集合,它所表示的仍是一个关系,其中 t为自由变元。
典型的数据库为ALPHA(P60—P65)
7
数据库系统原理与设计
2.5.2 关系代数用元组运算替代
第 1 章 数据库系统概论
1、并
R∪S = {t|R(t)∨S(t)}
③取出S3发行的图书书名和数量 {t2|(u)(v)(LBS(u)∧B(v)∧u[3]='S3'∧
u[2]=v[1]∧t[1]=v[2]∧t[2]=u[4])}
12
数据库系统原理与设计
2.5.3 元组演算运算实例
第 1 章 数据库系统概论
④查找选购了所有图书的馆名
{t1|(v)( u)(w)(L(v)∧B(u)∧LBS(w)∧
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]}
8
数据库系统原理与设计
2.5.2 关系代数用元组运算替代
②t[i]θu[j]:t和u是两个元组,i和j表示元组分 量的序号,θ是算术比较符,所表示的命题函数是 元组t第i个分量与元组u第j个分量满足θ关系。
③t[i]θC或Cθt[i]:表示的命题函数是元组第i个 分量与常数C满足θ关系。
4
数据库系统原理与设计
2、逆归定义元组运算公式
第 1 章 数据库系统概论
数据库系统原理与设计
第二章 关系数据库
2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 元组演算 2.6 域演算 2.7 小结
第 1 章 数据库系统概论
1
数据库系统原理与设计
2.5 关系演算
第 1 章 数据库系统概论
关系演算 以数理逻辑中的谓词演算为基础
w[1]=v[1]∧w[2]=u[1]∧t[1]=v[2])}
13
数据库系统原理与设计
2.5.3 元组演算运算实例
第 1 章 数据库系统概论
⑤查找同时收藏有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])}
按谓词变元不同 进行分类 1.元组关系演算: 以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 2.域关系演算: 以域变量作为谓词变元的基本对象 域关系演算语言QBE
2
数据库系统原理与设计
2.5.1 公式
第 1 章 数据库系统概论
由E.F.Codd提出 INGRES所用的QUEL语言是参照ALPHA语言研制的
17
数据库系统原理与设计
2.6.1 公式
第 1 章 数据库系统概论
递归定义域运算公式: 1、原子公式 ①R(t1,t2…tn),R为n元关系,ti是域变量或常量,表示的谓词含义:以t1,t2…tn为分量
的元组在关系R中 ② ti θuj: ti为元组t第i个分量,uj为元组u第j个分量,θ为算术比较符,表示的谓词含
16
数据库系统原理与设计
2.6 域演算
第 1 章 数据库系统概论
类似于元组运算,只不过公式中的变量用元组各分量 对应的域变量来描述,域演算的谓词变元是域变量,域演 算表达式的一般形式为:
{t1,t2,...tk|φ(t1,t2,...tk)} 其中t1,t2,...tk分别是域变量,φ是域演算公式
10
数据库系统原理与设计
2.5.3 元组演算运算实例
第 1 章 数据库系统概论
②取出馆址在上海shanghai的馆名和电话号码 {t2| u(L(u)∧u[3]='shanghai'∧t[1]=u[2]∧t[2]=u[4])}
11
数据库系统原理与设计
2.5.3 元组演算运算实例
第 1 章 数据库系统概论
第 1 章 数据库系统概论
4、投影 Πx(R)={tk|(u(R(u)∧t[1]=u[i1]∧…t[k]=u[ik]))}
5、选取 бp(R )={t|R(t)∧P}
9
数据库系统原理与设计
2.5.3 元组演算运算实例
第 1 章 数据库系统概论
①查找l1从书店s1购买的图书号及其册数 {t2| u(LBS(u)∧u[1]='l1'∧u[3]='s1'∧ t[1]=u[2]∧t[2]=u[4])}
14
数据库系统原理与设计
2.5.3 元组演算运算实例
第 1 章 数据库系统概论
⑥查找没有收藏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)∧
①每一个原子公式是一个公式 ②设φ1,φ2是公式则φ1∧φ2,φ1∨φ2,
┑φ1 也是公式 ③ 设t的域值为T={t1,t2, …tn} 则 : ④ 有限次使用①②③生成的公式
5
数据库系统原理与设计
第 1 章 数据库系统概论
3、元组运算公式中运算符优先次序
①算术比较符 ②量词次之,且 量词高于 量词 ③逻辑运算符 ④括号最优先
在元组演算系统中称{t|φ(t)}为元组演算表达式,其中t为 元组变量,且为自由变元,φ(t)为元组关系演算公式,简 称公式,它由原子公式和运算符组成
3
数据库系统原理与设计
1、原子公式
第 1 章 数据库系统概论
原子公式有三类:
①R(t): R为关系名,t为元组变量,R(t)表 示t是R中的元组这样一个命题函数。
w[2]='computer'∧v[2]=w[1]∧u[1]=v[1]
∧t[1]=u[1]))}
注意:第二种方法存在安全问题Biblioteka Baidu
15
数据库系统原理与设计
第二章 关系数据库
2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 元组演算 2.6 域演算 2.7 小结
第 1 章 数据库系统概论