題組內容
(三)進一步將 VideoClip 關聯綱目(Relation schema)分解成滿足第三正規 式(Third Normal Form)的綱目,請列出分解後每一關聯綱目之主鍵 (Primary key)和外鍵(Foreign key)並說明之。 (10 分)
詳解 (共 1 筆)
要將 VideoClip 的關聯綱目分解成滿足第三正規式(3NF)的綱目,我們需要確保所有非主屬性對主鍵具有完全依賴,且不存在任何傳遞依賴。
3NF 分解步驟
原始函數相依:
- URL → 標題
- URL → 發布者
- 發布者 → 訂閱數
- {URL, 評論次序} → {評論者, 評論內容, 評論推數, 評論噓數}
- {URL, 評論次序, 評論回覆次序} → {回覆者, 回覆內容, 回覆推數, 回覆噓數}
分解成 3NF 的關聯綱目
-
VideoBasic
- 屬性: {URL, 標題, 發布者}
- 主鍵: URL
-
PublisherInfo
- 屬性: {發布者, 訂閱數}
- 主鍵: 發布者
-
Comment
- 屬性: {URL, 評論次序, 評論者, 評論內容, 評論推數, 評論噓數}
- 主鍵: {URL, 評論次序}
- 外鍵: URL 參考 VideoBasic (URL)
-
Reply
- 屬性: {URL, 評論次序, 評論回覆次序, 回覆者, 回覆內容, 回覆推數, 回覆噓數}
- 主鍵: {URL, 評論次序, 評論回覆次序}
- 外鍵: {URL, 評論次序} 參考 Comment ({URL, 評論次序})
每個關聯綱目之主鍵和外鍵
-
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)的要求,每個非主屬性都完全依賴於主鍵,並且不存在任何傳遞依賴。這樣的設計確保了數據庫的結構更加合理,避免了數據的冗餘和異常。