數(shù)據(jù)庫(kù)系統(tǒng)2-7:關(guān)系代數(shù)的等價(jià)變換規(guī)則

字號(hào):

前面介紹的三種關(guān)系運(yùn)算的能力是等價(jià)的,它們之間都可以相互等價(jià)轉(zhuǎn)換,也都可以轉(zhuǎn)換成關(guān)系代數(shù)表達(dá)式,所以研究關(guān)系運(yùn)算等價(jià)變換原則可以從關(guān)系代數(shù)表達(dá)式開(kāi)始。關(guān)系代數(shù)的變換規(guī)則記為:E1oE2。關(guān)系代數(shù)表達(dá)式經(jīng)過(guò)等價(jià)變換后,其結(jié)果與變換前的關(guān)系表達(dá)式等價(jià)。
    常用等價(jià)變換規(guī)則:
    1. 連接、笛卡兒積的交換律
    E1XE2o E2XE1
    E1 >< E2o E2 >< E1 自然連接
    E1 >F< E2o E2 >F< E1 其中F為連接運(yùn)算條件
    2. 連接、笛卡兒積結(jié)合律
    設(shè)E1、E2、E3為關(guān)系代數(shù)表達(dá)式,F(xiàn)1、F2為連接運(yùn)算條件。則
    (E1XE2)XE3o E1X(E2 XE3)
    (E1 >< E2)>< E3o E1 >< ( E2 >< E3)
    (E1 > < F1 E2)>< F2E3o E1 >< F1( E2 >< F2E3)
    3. 投影的串接定律
    設(shè)E為關(guān)系代數(shù)表達(dá)式,Ai(i=1,2,3….n),Bj(j=1,2,3,….m)是屬性名,且AiíBj則 ?A1,A2,…An(?B1,B2,….Bm(E))o?A1,A2,….An(E)
    4.選擇的串接律
    設(shè)E為關(guān)系代數(shù)表達(dá)式,F(xiàn)1、F2為選擇條件。
    σ-F1(σ-F2( E ) ) o σ-F1ùF2( E )
    5.選擇和投影的交換律
    a)選擇條件只涉及屬性Ai(i=1,2,3….n)
    σ-F(?A1,A2,…An ( E ) ) o?A1,A2,…An(σ-F( E ) )
    b)選擇條件涉及的屬性有不屬于A1,A2,…An的屬性B1,B2,….Bm ,則規(guī)則為:
    ?A1,A2,…An( σ-F( E ) ) o?A1,A2,…An( σ-F(?A1,A2,…An,B1,B2,….Bm( E )) )
    ?A1,A2,…An(σ-F( E ) )不能等于σ-F(?A1,A2,…An ( E ) ),因?yàn)橥队皶r(shí)屬性A1,A2,…An不包含B1,B2,….Bm ,致使選擇時(shí)缺乏有關(guān)屬性B1,B2,….Bm 。
    6.選擇與笛卡兒積的交換律
    a) F只涉及E1的屬性
    σ-F(E1XE2 ) o σ-F(E1)XE2
    b) 如果F=F1ùF2,F(xiàn)1涉及E1的屬性,F(xiàn)2涉及E2的屬性。
    σ-F(E1XE2 ) o σ-F1( E1)X σ-F2(E2)
    c) 如果F=F1ùF2,F(xiàn)1涉及E1的屬性,F(xiàn)2涉及E1和E2的屬性。
    σ-F(E1XE2 ) oσ-F2(σ-F1( E1)X E2)
    7.選擇與并分配律
    如果E1和E2有相同的屬性名,且E= E1∪E2。
    σ-F(E1∪E2 ) oσ-F( E1 )∪σ-F( E2 )
    8.選擇與差運(yùn)算的分配律
    如果E1和E2有相同的屬性名。
    σ-F(E1-E2 ) oσ-F( E1 ) -σ-F( E2 )
    9.投影與笛卡兒積的交換
    設(shè)A1,A2,…An是E1的屬性,B1,B2,….Bm是E2的屬性。
    ?A1,A2,…An,B1,B2,….Bm(E1XE2 ) o?A1,A2,…An(E1 ) X ?B1,B2,….Bm(E2 )
    10.投影與并的交換律
    如果E1和E2有相同的屬性名。
    ?A1,A2,…An(E1∪E2 )o?A1,A2,…An(E1) ∪ ? A1,A2,…An (E2)