阿摩線上測驗 登入

申論題資訊

試卷:112年 - 112 高等考試_二級_資訊處理:高等資料庫設計#116764
科目:高等資料庫設計
年份:112年
排序:0

題組內容

二、參考 Youtube 上的影片資訊的一個資料表 VideoClip,考慮以下屬性: 
● URL 
●標題 
●發布者 
● 訂閱數 
● 評論次序 
● 評論者 
● 評論內容 
●評論推數 
●評論噓數 
●評論回覆次序 
●回覆者 
●回覆內容 
● 回覆推數
● 回覆噓數

有以下的函數相依(Functional Dependencies): 
● URL→標題
●URL→發布者
●發布者L→訂閱數
●{URL, 評論次序}→{評論者, 評論內容, 評論推數, 評論噓數} 
●{URL, 評論次序, 評論回覆次序}→{回覆者, 回覆內容, 回覆推數, 回覆噓數}

申論題內容

(二)將 VideoClip 關聯綱目(Relation schema)分解成滿足第二正規式 (Second Normal Form)但不滿足第三正規式(Third Normal Form)的 綱目,請列出分解後每一關聯綱目之主鍵(Primary key)和外鍵(Foreign key)並說明之。 (10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

為了將 VideoClip 的關聯綱目(Relation Schema)分解成滿足第二正規式(2NF)但不滿足第三正規式(3NF)的綱目,我們首先需要了解每個正規式的要求:

  • 第二正規式(2NF):綱目應滿足第一正規式(1NF),且每個非主屬性完全依賴於主鍵。
  • 第三正規式(3NF):綱目應滿足第二正規式,且每個非主屬性不能傳遞依賴於主鍵。

分析 VideoClip 的函數相依

原始函數相依:

  1. URL → 標題
  2. URL → 發布者
  3. 發布者 → 訂閱數
  4. {URL, 評論次序} → {評論者, 評論內容, 評論推數, 評論噓數}
  5. {URL, 評論次序, 評論回覆次序} → {回覆者, 回覆內容, 回覆推數, 回覆噓數}

關聯鍵(Primary Key):

  • {URL, 評論次序, 評論回覆次序}

分解成 2NF 綱目

Relation 1: VideoBasic

  • 屬性: {URL, 標題, 發布者}
  • 主鍵: URL
  • 說明: 每個 URL 唯一對應一個標題和發布者,滿足 URL → 標題, URL → 發布者。

Relation 2: PublisherInfo

  • 屬性: {發布者, 訂閱數}
  • 主鍵: 發布者
  • 說明: 每個發布者唯一對應一個訂閱數,滿足 發布者 → 訂閱數。

Relation 3: Comment

  • 屬性: {URL, 評論次序, 評論者, 評論內容, 評論推數, 評論噓數}
  • 主鍵: {URL, 評論次序}
  • 外鍵: URL 參考 VideoBasic (URL)
  • 說明: 每個 URL 和 評論次序 的組合唯一對應評論者、評論內容、評論推數、評論噓數,滿足 {URL, 評論次序} → {評論者, 評論內容, 評論推數, 評論噓數}。

Relation 4: Reply

  • 屬性: {URL, 評論次序, 評論回覆次序, 回覆者, 回覆內容, 回覆推數, 回覆噓數}
  • 主鍵: {URL, 評論次序, 評論回覆次序}
  • 外鍵: {URL, 評論次序} 參考 Comment ({URL, 評論次序})
  • 說明: 每個 URL、評論次序和評論回覆次序的組合唯一對應回覆者、回覆內容、回覆推數、回覆噓數,滿足 {URL, 評論次序, 評論回覆次序} → {回覆者, 回覆內容, 回覆推數, 回覆噓數}。

分解結果

以下是分解成滿足 2NF 但不滿足 3NF 的關聯綱目:

  1. VideoBasic

    • 屬性: {URL, 標題, 發布者}
    • 主鍵: URL
  2. PublisherInfo

    • 屬性: {發布者, 訂閱數}
    • 主鍵: 發布者
  3. Comment

    • 屬性: {URL, 評論次序, 評論者, 評論內容, 評論推數, 評論噓數}
    • 主鍵: {URL, 評論次序}
    • 外鍵: URL 參考 VideoBasic (URL)
  4. Reply

    • 屬性: {URL, 評論次序, 評論回覆次序, 回覆者, 回覆內容, 回覆推數, 回覆噓數}
    • 主鍵: {URL, 評論次序, 評論回覆次序}
    • 外鍵: {URL, 評論次序} 參考 Comment ({URL, 評論次序})

 

這些分解滿足了第二正規式(2NF)的要求,因為每個非主屬性都完全依賴於主鍵,沒有部分依賴。然而,這些分解不滿足第三正規式(3NF)的要求,因為在 PublisherInfo 中存在傳遞依賴(發布者 → 訂閱數),這導致訂閱數依賴於 VideoBasic 的 URL。