<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    RiKeR

    本博客停止更新,最新內容請訪問--> http://blog.csdn.net/shuailee

    統計

    留言簿(3)

    積分與排名

    閱讀排行榜

    評論排行榜

    無損分解和保持依賴的判斷

    大部分是對一個關系模式分解成兩個模式的考察,分解為三個以上模式時無損分解和保持依賴的判斷比較復雜,考的可能性不大,因此我們只對“一個關系模式分解成兩個模式”這種類型的題的相關判斷做一個總結。

    以下的論述都基于這樣一個前提:
    R是具有函數依賴集F的關系模式,(R1 ,R2)是R的一個分解。

    首先我們給出一個看似無關卻非常重要的概念:屬性集的閉包。
    令α為一屬性集。我們稱在函數依賴集F下由α函數確定的所有屬性的集合為F下α的閉包,記為α+ 。
    下面給出一個計算α+的算法,該算法的輸入是函數依賴集F和屬性集α,輸出存儲在變量result中。
    算法一:
    result:=α;
    while(result發生變化)do
        for each 函數依賴β→γ in F do
        begin
            if β∈result then result:=result∪γ;
        end

    屬性集閉包的計算有以下兩個常用用途:
    ·判斷α是否為超碼,通過計算α+(α在F下的閉包),看α+ 是否包含了R中的所有屬性。若是,則α為R的超碼。
    ·通過檢驗是否β∈α+,來驗證函數依賴是否成立。也就是說,用屬性閉包計算α+,看它是否包含β。

    (請原諒我用∈符號來表示兩個集合之間的包含關系,那個表示包含的符號我找不到,大家知道是什么意思就行了。)

    看一個例子吧,2005年11月系分上午37題:

    ● 給定關系R(A1,A2,A3,A4)上的函數依賴集F={A1→A2,A3→A2,A2→A3,A2→A4},R的候選關鍵字為________。
    (37)A. A1  B. A1A3  C. A1A3A4  D. A1A2A3

    首先我們按照上面的算法計算A1+ 。
    result=A1,
    由于A1→A2,A1∈result,所以result=result∪A2=A1A2
    由于A2→A3,A2∈result,所以result=result∪A3=A1A2A3
    由于A2→A4,A2∈result,所以result=result∪A3=A1A2A3A4
    由于A3→A2,A3∈result,所以result=result∪A2=A1A2A3A4

    通過計算我們看到,A1+ =result={A1A2A3A4},所以A1是R的超碼,理所當然是R的候選關鍵字。此題選A 。


    好了,有了前面的鋪墊,我們進入正題。

    無損分解的判斷。
    如果R1∩R2是R1或R2的超碼,則R上的分解(R1,R2)是無損分解。這是一個充分條件,當所有的約束都是函數依賴時它才是必要條件(例如多值依賴就是一種非函數依賴的約束),不過這已經足夠了。

    保持依賴的判斷。
    如果F上的每一個函數依賴都在其分解后的某一個關系上成立,則這個分解是保持依賴的(這是一個充分條件)。
    如果上述判斷失敗,并不能斷言分解不是保持依賴的,還要使用下面的通用方法來做進一步判斷。
    該方法的表述如下:
    算法二:
    對F上的每一個α→β使用下面的過程:
    result:=α;
    while(result發生變化)do
        for each 分解后的Ri
            t=(result∩Ri)+ ∩Ri
            result=result∪t

    這里的屬性閉包是在函數依賴集F下計算出來的。如果result中包含了β的所有屬性,則函數依賴α→β。分解是保持依賴的當且僅當上述過程中F的所有依賴都被保持。


    下面給出一個例題,2006年5月系分上午43題:

    ●設關系模式R<U, F>,其中U={A, B, C, D, E},F={A→BC,C→D,BC→E,E→A},則分解ρ={R1(ABCE),R2(CD)}滿足 (43) 。
    (43) A.具有無損連接性、保持函數依賴
                  B.不具有無損連接性、保持函數依賴
                  C.具有無損連接性、不保持函數依賴
                  D.不具有無損連接性、不保持函數依賴

    先做無損鏈接的判斷。R1∩R2={C},計算C+。
    Result=C
    由于C→D,C∈result,所以result=result∪D=CD
    可見C是R2的超碼,該分解是一個無損分解。

    再做保持依賴的判斷。
    A→BC,BC→E, E→A都在R1上成立(也就是說每一個函數依賴左右兩邊的屬性都在R1中),C→D在R2上成立,因此給分解是保持依賴的。

    選A。


    再看一個復雜點的例題。2007年5月數工40-41題。

    ●給定關系模式R<U, F>,U={A, B, C, D, E},F={B→A,D→A,A→E,AC→B},其候選關鍵字為
    (40)  ,則分解ρ={R1(ABCE),R2(CD)}滿足 (41) 。
    (40) A.ABD
                  B.ABE
                  C.ACD
                  D.CD
    (41) A.具有無損連接性、保持函數依賴
                  B.不具有無損連接性、保持函數依賴
                  C.具有無損連接性、不保持函數依賴
                  D.不具有無損連接性、不保持函數依賴

    看見了吧,和前面一題多么的相像!
    對于第一問,分別計算ABCD四個選項的閉包,
    (ABD)+ = { ABDE }
    (ABE)+ = { ABE }
    (ACD)+ = { ABCDE }
    (CD)+ = { ABCDE }
    選D。

    再看第二問。
    先做無損鏈接的判斷。R1∩R2={C},計算C+。
    result=C
    因此C既不是R1也不是R2的超碼,該分解不具有無損分解性。

    再做保持依賴的判斷。
    B→A,A→E,AC→B在R1上成立,D→A在R1和R2上都不成立,因此需做進一步判斷。
    由于B→A,A→E,AC→B都是被保持的(因為它們的元素都在R1中),因此我們要判斷的是D→A是不是也被保持。

    對于D→A應用算法二:
    result=D
    對R1,result∩R1=ф(空集,找不到空集的符號,就用這個表示吧),t=ф,result=D
    再對R2,result∩R2=D,D+ =ADE ,t=D+ ∩R2=D,result=D
    一個循環后result未發生變化,因此最后result=D,并未包含A,所以D→A未被保持,該分解不是保持依賴的。

    選D。

    posted on 2007-10-18 00:53 RiKeR 閱讀(17890) 評論(17)  編輯  收藏

    評論

    # re: 無損分解和保持依賴的判斷 2007-11-24 13:04 star

    看書太抽象了,這個帖子不錯,理解了,感謝  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2007-12-29 01:22

    不錯啊
      回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2008-01-21 12:06 Danielsym

    下午就考數據庫了,這篇帖子真是雪中送炭哪!  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2008-01-24 23:42 good

    good
      回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2008-05-03 16:04 dbs

    不錯!這貼講得很透徹  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2009-04-26 16:00 HHK

    不錯.謝謝作者.  回復  更多評論   

    # re: 無損分解和保持依賴的判斷[未登錄] 2009-05-10 18:17 浪子

    受益匪淺!  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2009-05-21 15:58 SimonKing

    最后的D-A判斷不是很明白,后天就考試了,這帖子不錯。  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2009-06-22 15:22 和加快

    謝謝  回復  更多評論   

    # re: 無損分解和保持依賴的判斷[未登錄] 2011-01-08 23:01 OK

    非常感謝!現在的課本真的太抽象了。。。  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2011-01-09 17:23 guy

    @OK
    你是華農吧  回復  更多評論   

    # re: 無損分解和保持依賴的判斷[未登錄] 2011-05-15 20:04 ice

    nice  回復  更多評論   

    # re: 無損分解和保持依賴的判斷[未登錄] 2012-05-09 17:01 Roy

    (ACD)+ = { ABCDE }
    (CD)+ = { ABCDE }
    選D。

    2者都是超碼,為什么選D呢  回復  更多評論   

    # re: 無損分解和保持依賴的判斷[未登錄] 2014-06-12 23:57 JOJO

    因為ACD雖然是超碼,但是去掉屬性A它仍然是超碼,所以它不是候選碼,看候選碼的定義就知道了@Roy
      回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2014-12-04 11:53 。。。

    講的太好了,看完立刻懂  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2015-06-30 00:12 111111111

    謝謝了  回復  更多評論   

    # re: 無損分解和保持依賴的判斷 2015-08-29 17:48 ghost

    相當感謝!!!!Orz....  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 中国国语毛片免费观看视频| 免费无码午夜福利片| 免费观看男人吊女人视频| 又粗又硬免费毛片| 成人免费无毒在线观看网站| 亚洲精品天堂在线观看| 搜日本一区二区三区免费高清视频| 免费人成在线视频| 亚洲日韩精品无码专区加勒比☆| 毛片免费vip会员在线看| 亚洲爆乳大丰满无码专区| 日本免费网站观看| 免费国产黄网站在线观看动图| 亚洲国产一级在线观看 | 亚洲人成人77777网站不卡| 四虎精品视频在线永久免费观看| 亚洲视频在线观看不卡| 国产在线观看片a免费观看| 久久人午夜亚洲精品无码区| 国产做床爱无遮挡免费视频| free哆拍拍免费永久视频| 亚洲免费在线播放| 久香草视频在线观看免费| 亚洲热线99精品视频| www视频免费看| 亚洲成AV人影片在线观看| 亚洲午夜日韩高清一区| 十八禁无码免费网站| 亚洲一区二区三区影院| 亚洲一级毛片免费观看| 337P日本欧洲亚洲大胆艺术图| 久久久亚洲精品蜜桃臀| 18未年禁止免费观看| www亚洲精品久久久乳| 亚洲午夜国产精品无码| 亚洲一区免费在线观看| 在线看亚洲十八禁网站| 成在线人永久免费视频播放 | 久久成人免费电影| 亚洲kkk4444在线观看| 中文字幕一精品亚洲无线一区|