題組內容
二、假設有一個記載討論版文章的資料表 Article,包括以下欄位:
● dateTime //評論記載時間
● author //發表人
● school //學校
● forum //討論版
● title //標題
● owner //版主
● content //內容
● reply //回答
相依(Dependency)如下:
{dateTime, author}→{forum, title, content}
{forum}→{owner}
{author}→{school}
{dateTime, author}→→{reply}
其中 →為函數相依 ( Functional Dependency) , → →為多值相依(Multi-valued Dependency)。
● dateTime //評論記載時間
● author //發表人
● school //學校
● forum //討論版
● title //標題
● owner //版主
● content //內容
● reply //回答
相依(Dependency)如下:
{dateTime, author}→{forum, title, content}
{forum}→{owner}
{author}→{school}
{dateTime, author}→→{reply}
其中 →為函數相依 ( Functional Dependency) , → →為多值相依(Multi-valued Dependency)。
(一)請推導出 Article 資料表的關聯鍵(key)。
詳解 (共 1 筆)
詳解
已知的相依性
-
函數相依(Functional Dependencies, FD):
- {dateTime, author} → {forum, title, content}
- {forum} → {owner}
- {author} → {school}
-
多值相依(Multi-valued Dependency, MVD):
- {dateTime, author} →→ {reply}
分析和推導關聯鍵
我們從函數相依的角度分析:
-
{dateTime, author} → {forum, title, content}
- {dateTime, author} 可以唯一地確定 {forum, title, content}。
-
{forum} → {owner}
- {forum} 可以唯一地確定 {owner}。
-
{author} → {school}
- {author} 可以唯一地確定 {school}。
由於 {dateTime, author} 可以唯一地確定 {forum, title, content},而 {forum} 和 {author} 又能進一步確定 {owner} 和 {school},所以:
確定候選鍵(Candidate Key)
根據以上相依性,我們發現 {dateTime, author} 是一個候選鍵,因為它可以唯一地確定所有其他屬性。
多值相依性分析
多值相依 {dateTime, author} →→ {reply} 表示在給定的 {dateTime, author} 下,存在多個 reply,而這並不影響 {dateTime, author} 作為候選鍵的角色。
總結
在這種情況下,唯一能唯一確定所有屬性的最小屬性集是 {dateTime, author},所以 Article 資料表的關聯鍵是:
關聯鍵:{dateTime, author}