假设R和S分别是三元和二元关系,试把表达式π1,5(σ2=4∨3=4(R×S))转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。
(1)在关系R和S的笛卡尔积中,选取第2个属性值与第4个属性值相等,或者第3个 属性值与第4个属性值相等的那些元组,再取第1列和第5列组成新的关系。 (2)与(R×S)等价的元组表达式是: {t|(∃u)(∃v)(R(u)∧S(v)∧(t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1] ∧t[5]=v[2])} 与σ2=4∨3=4 (R×S)等价的元组表达式是: {t|(∃u)(∃v)(R(u)∧S[v]∧t[1]=u[1]∧t[2]=u[2]=∧t[3]= u[3]∧t[4]=u[1]∧t[5]=v[2]∧(t[2]=t[4]∧t[3]=t[4]))} 与π1,5 (σ2=4∨3=4 (R×S))等价的元组表达式是: {w|(∃t)(∃u)(∃v)(R(u)∧S[v]∧t[1]= u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]= v[2]∧(t[2]= t[4]∨t[3]=t[4]∧w[1]=t[1]∧w[2]=t[5])} 再对上述元组表达式化简(消去t)可得: {w|(∃u)(∃v)(R(u)∧S[v]∧(u[2]=v[1]∨u[3]=v[1]∧w[1]= u[1]∧w[2]=v[2]} 在熟练后,可以直接写出上式。 (3)再转换成域表达式: {w1w2|(∃u1)(∃u2) (∃u3)(∃v1)(∃v2 (R(u1u2u3) ∧S(v1v2∧(u2=v1 ∨u3=v1) ∧w1=u1 ∧w2=v2)} 再化简(消去u1,v2)可得: {w1w2|(∃u2) (∃u3) (∃v1)( R(w1u2u3)∧S(v1w2∧(u2=v1 ∨u3=v1)