06形式化关系查询语言

本文介绍了关系代数的基本概念,包括选择、投影、并集、差集等操作,并详细解释了这些操作如何应用于数据库查询。

关系代数

关系代数中基本的表达式是如下二者之一:数据库中的一个关系,一个常数关系。关系代数中一般的表达式是由更小的子表达式构成,设E1E2是关系代数表达式,则E1E2E1E2E1×E2σp(E1), Πs(E1) , ρx(E1)都是关系代数表达式
过程化查询语言

基本运算

选择:σp(r)={t|tr and p(t)}
  • 选择谓词p中可以使用=, , >, , <, , and(), or(), not(¬) 将多个谓词合并成一个较大的谓词
投影:ΠA1,A2,,An(r)
  • 由于关系是一个集合,所以所有重复的行均被去除
并:rs={t|tr or ts}
  • 要使rs有意义(即r和s是相容的),需要下面两个条件同时成立
    • 关系r和关系s必须是同元的,即属性的数目必须相同
    • 对所有的i, r的第i个属性的域必须和s的第i个属性的域相同
集合差:rs={t|tr and ts}
  • 要使rs有意义(即r和s是相容的),需要下面两个条件同时成立
    • 关系r和关系s必须是同元的,即属性的数目必须相同
    • 对所有的i, r的第i个属性的域必须和s的第i个属性的域相同
笛卡尔积:r×s={tq|tr and qs}
  • 假设r(R)s(S)的属性是不相交的(即RS=ϕ
  • 如果r(R)s(S)的属性相交,则必须使用重命名
更名运算:ρx(A1,A2,...,An)(E)
  • 返回表达式E的结果,并赋给名字x,同时将属性更名为 A1,A2,,An
附加的运算——可以用基本运算表达
  • 集合交:rs={t|tr and ts}=r(rs)
  • 自然连接:rs=ΠRS(σr.A1=s.A1r.A2=s.A2,r.An=s.An(r×s)),,其中RS={A1,A2,,An}
    • 交换律
    • 结合律
  • theta连接:rθs=σθ(r×s)
  • 外连接
    • 左外连接:r  s=rs(rΠR(rs))×{null,null,null}
    • 右外连接:rs=rs({null,null,null}×(sΠR(rs))
    • 全外连接:rs=rs()(rΠR(rs))×{null,null,null})({null,null,null}×(sΠR(rs)))
  • 赋值运算:tempE1
    • 只能对临时关系变量赋值
扩展的运算——扩展了关系代数的表达能力
  • 广义投影:ΠF1,F2,,Fn(r)
    • Fi可以包含+,, , / 代数运算和字符串串接
  • 聚集:G1,G2,,Gn
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值