要將 VideoClip 的關聯綱目分解成滿足第三正規式(3NF)的綱目,我們需要確保所有非主屬性對主鍵具有完全依賴,且不存在任何傳遞依賴。
VideoBasic
PublisherInfo
Comment
Reply
VideoBasic
屬性: {URL, 標題, 發布者}
主鍵: URL
說明: URL 唯一標識一個視頻剪輯,並且決定了標題和發布者。這個表格滿足 3NF,因為所有非主屬性(標題和發布者)完全依賴於主鍵(URL)。
PublisherInfo
屬性: {發布者, 訂閱數}
主鍵: 發布者
說明: 每個發布者唯一對應一個訂閱數。這個表格滿足 3NF,因為訂閱數完全依賴於主鍵(發布者),且不存在傳遞依賴。
Comment
屬性: {URL, 評論次序, 評論者, 評論內容, 評論推數, 評論噓數}
主鍵: {URL, 評論次序}
外鍵: URL 參考 VideoBasic (URL)
說明: 每個 URL 和評論次序的組合唯一決定評論者、評論內容、評論推數和評論噓數。這個表格滿足 3NF,因為所有非主屬性(評論者、評論內容、評論推數和評論噓數)完全依賴於主鍵(URL, 評論次序),且不存在傳遞依賴。
Reply
屬性: {URL, 評論次序, 評論回覆次序, 回覆者, 回覆內容, 回覆推數, 回覆噓數}
主鍵: {URL, 評論次序, 評論回覆次序}
外鍵: {URL, 評論次序} 參考 Comment ({URL, 評論次序})
說明: 每個 URL、評論次序和評論回覆次序的組合唯一決定回覆者、回覆內容、回覆推數和回覆噓數。這個表格滿足 3NF,因為所有非主屬性(回覆者、回覆內容、回覆推數和回覆噓數)完全依賴於主鍵(URL, 評論次序, 評論回覆次序),且不存在傳遞依賴。
這些分解滿足了第三正規式(3NF)的要求,每個非主屬性都完全依賴於主鍵,並且不存在任何傳遞依賴。這樣的設計確保了數據庫的結構更加合理,避免了數據的冗餘和異常。