数据库系统2-5:元组关系演算

文章作者 100test 发表时间 2007:03:10 17:00:11
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

  在关系运算中,用谓词公式来表达查询要求的方式称为关系演算。由于用到谓词公式,必然涉及到谓词变量和谓词合适公式(well-formed formila)的问题。
  在关系演算中,根据谓词变量对象的不同,可分为元组关系演算和域关系演算。其代表语言分别为Alpha和 QBE。

  

  2.5.1.1元组关系演算的定义
  在元组关系演算中,关系演算的谓词变量是元组变量。我们称:
{t|f(t)} 为元组演算表达式,一个元组演算表达式表示一个关系。其中,t是元组变量,f(t)为元组关系演算公式,即元组关系演算合适公式,简称公式。公式由原子谓词公式和运算符组成。
  元组关系演算的原子谓词公式有三类:
  
  元组关系演算公式的递归定义如下:
  
  
例如已知关系R、S如下:
                                 

  求 R1={t|R(t) ùt[2]≥2}
   R2={t|($u(R(t) ùS(u) ùt[2]≥u[2])}                             

  2.5.1.2用元组演算表示关系代数的五种基本运算
  关系代数运算都可以用等价的元组关系演算表达式表示。现以五种基本关系代数运算表达式为例,说明关系代数表达式与元组关系演算表达式的等价关系。若能证明这五种基本运算与元组关系演算等价,则其它关系代数表达式与元组关系演算等价也就不言而喻了。
  (1) 并
  
  (2) 差
  
  证明:同上。
  (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])}
  其中t(n m) 表示t有n m目(分量)。
  证明:因为R′S={ tr? ts | tr?Rù ts ?S},t=( tr? ts)等价t[1]= tr[1] ù t[2]= tr[2] ù...ù t[n]= tr[n] ù t[n 1]= ts[1] ù t[n 2]= ts[2] ù...ù t[n m]= ts[m]。所以 t[i] ∈R (i=1,2,…n)等价于R(u)第 i个分量,t[j] ∈S (j=n 1,n 2,….,n m)等价于S(v)的第j-n个分量。经等价代换,等价式得证。
  (4) 投影
  ?i1,i2,…ik(R)={t(k)| ($u)( R(u)ùt[1]=u[i1]…ùt[k]=u[ik])}
  证明从略。
  (5) 选择
  σ-F( R )={t|R(t) ùF′}
  F′是公式,是用运算对象i代替关系代数F中的t[i]得到的等价公式。
  

  ALPHA是一种具体的元组关系演算语言,但是未流行。



相关文章


数据库系统2-6:关系运算的安全性
数据库系统2-5:元组关系演算
数据库系统2-5:域关系演算
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛