日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

数据库理论第八章部分作业——基于《数据库系统概念》第七版

發布時間:2024/3/13 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库理论第八章部分作业——基于《数据库系统概念》第七版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

8.18

令主屬性為至少在一個候選碼中出現的屬性。令 α , β \alpha,\beta α,β屬性集,使得 α → β \alpha\rightarrow\beta αβ成立,令A為不屬于 α 或 β \alpha或\beta αβ的屬性,并且 β → A \beta\rightarrow A βA,我們 A A A為傳遞依賴于 α \alpha α α \alpha α傳遞函數確定 A A A. 我們可以按照如下方式重新定義3NF: 關系模式R是關于函數依賴集F的3NF的條件為:R中沒有非主屬性A傳遞依賴于R的一個碼,請證明這個新定義等價于原始定義

反證法:(假定題目定義的3NF不成立推出課本定義3NF不成立)
根據題目傳遞依賴定義,

A 為 A為 A非主碼且滿足 A 傳遞依賴 α A傳遞依賴\alpha A傳遞依賴α的時(違背了題目的定義)
我們有
? β ? R , 使得 β → A , α → β , A ? α , A ? β \exists \beta \sube R, 使得 \beta\rightarrow A,\alpha\rightarrow \beta,A\notin\alpha,A\notin\beta ?β?R,使得βA,αβ,A/α,A/β

  • A ? β ? β → A 不是平凡的 A\notin \beta \iff \beta\rightarrow A不是平凡的 A/β?βA不是平凡的
  • β → α 不成立 ? β 不是超碼 \beta\rightarrow \alpha不成立\Rightarrow \beta不是超碼 βα不成立?β不是超碼
  • A 非主碼 ? A 不包含于任意候選碼中 ( A ?? 候選碼 ) A非主碼\Rightarrow A不包含于任意候選碼中(A\not\sube 候選碼) A非主碼?A不包含于任意候選碼中(A?候選碼)
  • 接下來推
    假定課本定義的3NF不成立推出題目定義3NF不成立
    我們根據課本有以下三個條件同時滿足

  • α → β 非平凡 \alpha\rightarrow \beta 非平凡 αβ非平凡
  • α 不是 R 的超碼 \alpha 不是R的超碼 α不是R的超碼
  • 存在 A ∈ ( β ? α ) ∧ A 不包含于任意候選碼中 存在A \in (\beta - \alpha)\land A不包含于任意候選碼中 存在A(β?α)A不包含于任意候選碼中
  • 上面三個內容 ? A 不是主鍵 ∧ α → A 因為: A 是主鍵 A 就一定會包含于候選碼中 因為:由于 ( 1 ) ( 3 ) , A 是 β 的元素且 α → β 上面三個內容\Rightarrow A不是主鍵\land\alpha \rightarrow A\\ 因為:A是主鍵A就一定會包含于候選碼中\\ 因為:由于(1)(3),A是\beta的元素且\alpha \rightarrow\beta 上面三個內容?A不是主鍵αA因為:A是主鍵A就一定會包含于候選碼中因為:由于(1)(3)Aβ的元素且αβ

    假設 c c c是一個R的候選碼, α \alpha α不是主碼(不是超碼,所以肯定不是主碼),我們有 c → α c\rightarrow\alpha cα , α → c \alpha\rightarrow c αc不成立(c是候選碼);因為A非主碼,這種情況下有 A ? α ∧ A ? c A\notin\alpha\land A\notin c A/αA/c(根據(1)(3)得到因為A是 β \beta β的元素但不是 α \alpha α的,且 α → β \alpha\rightarrow\beta αβ非平凡),因此A傳遞依賴c(c是候選碼,有 c → α c\rightarrow \alpha cα.還有 α → β , A ∈ β \alpha\rightarrow \beta, A\in \beta αβ,Aβ),違反了題目的定義

    綜上,題目定義等價于課本定義

    8.21

    Give a lossless-join decomposition into BCNF of schema R of Exercise 8.1

    A → B C C D → E B → D E → A A → BC\\ CD → E\\ B → D\\ E → A ABCCDEBDEA
    根據函數依賴集,我們依次測試單個多個屬性集的閉包可以得到以下候選碼
    A , B C , C D , E A, BC, CD, E A,BC,CD,E

    過程如下
    ( A ) + = ( A B C ) + = ( A B C D ) + = A B C D E (A)^+ = (ABC)^+=(ABCD)^+ = ABCDE (A)+=(ABC)+=(ABCD)+=ABCDE
    ( C D ) + = ( C D E ) + = ( C D E A ) + = A B C D E (CD)^+ = (CDE)^+=(CDEA)^+=ABCDE (CD)+=(CDE)+=(CDEA)+=ABCDE
    ( E ) + = A B C D E (E)^+ = ABCDE (E)+=ABCDE
    ( B C ) + = A B C D E (BC)^+ = ABCDE (BC)+=ABCDE
    其他組合不滿足要求

    B → D 非平凡 B\rightarrow D非平凡 BD非平凡
    B 非超碼 B非超碼 B非超碼

    若以我們可以把它們分解為
    ( A , B , C , E ) ( B , D ) (A,B,C,E)\\(B,D) (A,B,C,E)(B,D)

    8.27

    Use Armstrong’s axioms to prove the soundness of the decomposition rule.

    Armstrong’s公式
    b ? a ? a → b a → b ? c a → c b a → b ∧ b → c ? a → c b\sub a\Rightarrow a\rightarrow b\\ a\rightarrow b\Rightarrow ca\rightarrow cb\\ a\rightarrow b\land b\rightarrow c\Rightarrow a\rightarrow c b?a?abab?cacbabbc?ac

    要證明
    a → b c ? a → c ∧ a → b a\rightarrow bc\Rightarrow a\rightarrow c \land a\rightarrow b abc?acab

    ( 1 ) a → b c ( 2 ) b c → b ( 自反率 ) ( 3 ) b c → c ( 自反率 ) ( 4 ) a → c ( ( 1 ) ( 3 ) 傳遞律 ) ( 5 ) a → b ( ( 1 ) ( 2 ) 傳遞律 ) (1) a\rightarrow bc\\ (2) bc\rightarrow b (自反率)\\ (3) bc\rightarrow c (自反率)\\ (4) a\rightarrow c ((1)(3)傳遞律) \\ (5) a\rightarrow b ((1)(2)傳遞律) (1)abc(2)bcb(自反率)(3)bcc(自反率)(4)ac((1)(3)傳遞律)(5)ab((1)(2)傳遞律)
    綜上,證畢

    8.34

    F = { A B → C D , D → C , D E → B , D E H → A B , A C → D C } F=\{AB\rightarrow CD, D\rightarrow C, DE\rightarrow B, DEH\rightarrow AB, AC \rightarrow DC \} F={ABCD,DC,DEB,DEHAB,ACDC}

  • 把右邊變單元素
    F = { A B → C , A B → D , D → C , D E → B , D E H → A , D E H → B , A C → D , A C → C } F=\{AB\rightarrow C, AB\rightarrow D, D\rightarrow C, DE\rightarrow B, DEH\rightarrow A, DEH\rightarrow B, AC \rightarrow D , AC \rightarrow C\} F={ABC,ABD,DC,DEB,DEHA,DEHB,ACD,ACC}
  • 去掉冗余屬性
    F = { A B → C , A B → D , D → C , D E → B , D E H → A , D E H → B , A C → D } F=\{AB\rightarrow C, AB\rightarrow D, D\rightarrow C, DE\rightarrow B, DEH\rightarrow A, DEH\rightarrow B, AC \rightarrow D \} F={ABC,ABD,DC,DEB,DEHA,DEHB,ACD}
    • 若(AB->C)冗余,則 ( A B ) + = A B C D (AB)^+ = ABCD (AB)+=ABCD,包含C,冗余可去
    • 若(AB->D)冗余,則 ( A B ) + = A B (AB)^+ = AB (AB)+=AB, 不冗余
    • D->C顯然不冗余
    • 若(DE->B)冗余,則 ( D E ) + = D E C (DE)^+ = DEC (DE)+=DEC, 不包含B, 不冗余
    • 若(DEH->A)冗余,則 ( D E H ) + = D E H B (DEH)^+ = DEHB (DEH)+=DEHB, 不冗余
    • 若(DEH->B)冗余,則 ( D E H ) + = D E H A B C (DEH)^+ = DEHABC (DEH)+=DEHABC, 包含B, 冗余
    • 若(AC->D)冗余,則 ( A C ) + = A C (AC)^+ = AC (AC)+=AC, 不冗余

    得到如下數據
    F = { A B → D , D → C , D E → B , D E H → A , A C → D } F=\{ AB\rightarrow D, D\rightarrow C, DE\rightarrow B, DEH\rightarrow A, AC \rightarrow D \} F={ABD,DC,DEB,DEHA,ACD}

    處理完右邊再處理左邊

    • A B → D AB\rightarrow D ABD中A冗余的話, ( B ) + = B (B)^+=B (B)+=B,不冗余
    • A B → D AB\rightarrow D ABD中B冗余的話, ( A ) + = A (A)^+=A (A)+=A,不冗余
    • D E → B DE\rightarrow B DEB中D冗余的話, ( E ) + = E (E)^+=E (E)+=E,不冗余
    • D E → B DE\rightarrow B DEB中E冗余的話, ( D ) + = D C (D)^+=DC (D)+=DC,不冗余
    • D E H → A DEH\rightarrow A DEHA中D冗余的話, ( E H ) + = E H (EH)^+=EH (EH)+=EH,不冗余

    剩余部分同理可得不冗余
    得到

  • 最小子查詢
    F = { A B → D , D → C , D E → B , D E H → A , A C → D } F=\{ AB\rightarrow D, D\rightarrow C, DE\rightarrow B, DEH\rightarrow A, AC \rightarrow D \} F={ABD,DC,DEB,DEHA,ACD}

  • 統計各個元素在依賴關系中的出現情況

    • A:左右均出現
    • B:左右均出現
    • C:左右均出現
    • D:左右均出現
    • E: 只出現左側
    • G:未出現
    • H:只出現左側
  • 只出現在左側或未出現的元素一定為候選碼,則求他們的閉包
    ( E H G ) + = E H G =? R (EHG)^+=EHG\not=R (EHG)+=EHG=R

  • 于是加入一個屬性計算
    經測試發現 ( D E H G ) + = D E H G A B C = R (DEHG)^+=DEHGABC = R (DEHG)+=DEHGABC=R 我們得到DEHG是R的一個候選碼,剩下的A,B,C均不行
  • 測試加入兩個屬性,剩余的ABC兩兩組合,有 ( A B E H G ) + = A B E H G D C (ABEHG)^+=ABEHGDC (ABEHG)+=ABEHGDC ( A C E H G ) + = A C E H G D B (ACEHG)^+=ACEHGDB (ACEHG)+=ACEHGDB
  • 綜上可行的候選碼有
    D E H G A B E H G A C E H G DEHG\\ ABEHG\\ACEHG DEHGABEHGACEHG
    于是我們在F的最小子查詢的基礎上進行分解,有
    ( A , B , D ) ( D , C ) ( D , E , B ) ( D , E , H , A ) ( A , C , D ) (A,B,D)\\ (D,C)\\ (D,E,B)\\ (D,E,H,A)\\(A,C,D) (A,B,D)(D,C)(D,E,B)(D,E,H,A)(A,C,D)
    然后再加上前文算出的所有候選碼
    ( D , E , H , G ) ( A , B , E , H , G ) ( A , C , E , H , G ) (D,E,H,G)\\(A,B,E,H,G)\\(A,C,E,H,G) (D,E,H,G)(A,B,E,H,G)(A,C,E,H,G)

    最后,觀察新組成的分解模式中,是否存在包含關系,有則去掉被包含的,這里 ( D , C ) ? ( A , D , C ) (D,C)\sube(A,D,C) (D,C)?(A,D,C),去掉,而達到無損分解,我們還缺一個候選碼,我們只需要取其中一個候選碼即可,這里我選了第一個DEHG

    ( A , B , D ) ( D , E , B ) ( D , E , H , A ) ( A , C , D ) ( D , E , H , G ) (A,B,D)\\ (D,E,B)\\ (D,E,H,A)\\(A,C,D)\\(D,E,H,G) (A,B,D)(D,E,B)(D,E,H,A)(A,C,D)(D,E,H,G)

    總結

    以上是生活随笔為你收集整理的数据库理论第八章部分作业——基于《数据库系统概念》第七版的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。