[数据库]如何用基本运算来表示其他运算?

关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?

      • 基本运算有哪些?
      • 其他运算如何表示?

基本运算有哪些?

  • 并(∪)、差(-)、笛卡尔积(×)、投影(π)和选择(σ)1

其他运算如何表示?

  • 交(∩)
    • R∩S ≡ R-(R-S) ≡ S-(S-R)
  • 自然连接(⋈)
    • A1…Ak是S和R都有的属性, m1…mn是R×S里除R.A1…R.Ak(或者S.A1…S.Ak)之外的属性,且它们的顺序与在R×S中相同
    • R⋈S ≡ π(R∪S)predicate(R x S))2
    • 或R⋈S ≡ π(m1…mn)((R.A1=S.A1)^…^(R.Ak=S.Ak))(R×S))3
  • θ连接(⋈AθB,也叫等值连接)
    • R⋈AθBS ≡ σ(R.AθS.B)(R×S)
    • 1、自然连接一定是等值连接,但等值连接不一定是自然连接。
      2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
      3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
  • 除(÷)
    • 设R的属性集为{X, Y},S的属性集为{Y}
    • R÷S ≡ π(X)(R) - π(X)((T×S)-R)

  1. Call_Coder ↩︎

  2. 百度百科-自然连接 ↩︎

  3. 百度文库-自然连接 ↩︎

你可能感兴趣的:(数据库)