元组关系演算和域关系运算

 

v 在元组演算中,元组关系演算系演算表达式 ( 简称为元 组表达式 ) 是以元组变量为单位。记作:        {t | Φ (t)}
v 其中 t 是元组变量, Φ (t) 是由原子公式和运算符组成的 公式。
v 如果元组变量前有 全称量词 " )或 存在量词 $ ),则称其为 约束变量 ,否则称为 自由变量
 
v 原子公式有三种形式:
v 1. R(t)
v R 是关系名, t 是关系元组变量。 R(t) 表示 t 是关系 R 中的元组。 关系可表示: {t |R(t)}
v 2. t[i] θ u[j]
v 其中 t u 都是元组变量, θ 是算术比较运算符。表示元组 t 的第 i 的分量与元组 u 的第 j 个分量之间满足 θ 关系。
v 例如: t[1]<u[2]
v
 
3. t[i] θ a a θ t[i]
其中: a 是一个常量。表示元组 s 的第 i 个分量与常量 a 之间满足 θ 关系。
       下面用关系演算表达式表示关系代数的五种基本运算:
v 1 )并       R È S={ t |R(t) Ú S( t)}
v 2 )差         R - S={ t | R(t) Ù S( t)}
v 3 )广义笛卡儿积
   R ´ S= { t (n+m)  |( $ u (n) )( $ v (m) )(R(u) Ù S(v) Ù t[1]=u[1] Ù Ù t[n]=u[n] Ù t[n+1]=v[1] Ù   Ù t[n+m]=v[m])}
v t (n+m) 表示 t 有目数 (n+m) u (n) 表示 u n 元组, v (m) 表示 v m 组。
 
v 4 )投影
v i1,i2,  ik (R)={t (k)  | ( $ u)( R(u) Ù t[1]=u[i 1 ] Ù Ù t[k]=u[i k ] ) }
v 5 )选择     
v            s F (R) = { t |R(t) Ù F’ }
v 其中: F F 的等价公式。
 
v 设有如下 3 个关系模式:
v 学生(学号,姓名,年龄)
v 课程(课程号,课程名,学分)
v 成绩(学号,课程号,成绩)
v (1) 查询年龄大于或等于 20 岁的学生学号与姓名
v П 学号,姓名 ( σ 年龄 >=20 ( 学生 )) }
v t|( $ (u)( 学生 (u) u[3]>=20 t[1]=u[1] t[2]=u[2])}
v (2)   查询课程号为 C2 的学号与姓名
v   П 学号,姓名 ( 学生 )      П 学号  ( σ 课程号 =’C2’ ( 课程 ))
v {t|( $ uu[2 )( $ v)(( 学生 (u) ∧课程 (v) v[1]= C2
v u[1]=v[1 ] t[1]=u[1] t[2]=])}
 
v 域关系演算 Domain Relational Calculus)类似于元组关系演算,不同的是用域变量代替元组变量的每一分量,域变量的变化范围是某个值而不是一个关系。
v 域关系演算 表达式的一般形式为:
v   { < t 1  ,   t 2  , … , t k > | P t 1  , t2  , … , t k   }
v t i   代表域变量, P 为由原子构成的公式
 
v 原子公式有两种形式:
v 1 R x 1  ,   x 2  , … , x n )是原子公式,表示元组( x 1  ,   x 2  , … , x n )是关系 R 中的一个元组。
v 2 x q y 其中 x y 是常量或 域变量, q 比较运算 符。
v  域关系演算公式中也可使用 Ú   等逻辑运 算符 存在量词 $ 和全称量词 "
 
v 设有如下 3 个关系模式:
v 学生(学号,姓名,年龄)
v 课程(课程号,课程名,学分)
v 成绩(学号,课程号,成绩)
v (2)   查询课程号为 C2 的学号与姓名
v   П 学号,姓名 ( 学生 )      П 学号  ( σ 课程号 =’C2’ ( 课程 ))
v {wx|( $ w )( $ t )(( 学生 (wxz) 成绩 (tuv) (u= C2
v w =t) )}
v {t|( $ u)( $ v)(( 学生 (u) 成绩 (v) v[2]= C2
v u[1]=v[1 ] t[1]=u[1] t[2]=u[2])}
表示 t 的第 1 的分量小于元组 u 的第 2 个分量。
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值