關聯式資料庫鍵值

2013-05-27_141253

這是MySQL 5實力養成暨評量裡的1-16.『關於鍵值的說明,下列敘述何者有誤?』

答案:(D) 候補鍵可以用來指向其他資料表內的主鍵

這也是以前學關聯資料庫時沒學好的結果,今天我們再度重讀及分享聯合大學的資料庫投影片於下:

與Key相關的重要名詞有以下數個:

  • 超鍵(Super key)
    • 由關聯中的一個或多個的屬性所構成、具有唯一識別性的屬性集合即為超鍵。
      • 最小的超鍵可能僅為單一屬性。
      • 最大的超鍵為所有屬性的集合
    • 超鍵可能會包括一些在區別值組時不需要的多餘屬性。

2013-06-03_153627 

    • 上述範例的Super key有:
      • {學號}
      • {身份証字號}
      • {學號,姓名}
      • {學號,姓名,身份証字號}
      • {學號,姓名,系別,年級,生日,地址,身份証字號}
    • 以下則不為Super key:
      • {姓名}
      • {姓名,系別}
  • 候選鍵(Candidate Key)
    • 是最少屬性集合的超鍵。
    • 能唯一識別表格中各不同Tuple的最少屬性集合。
    • 需具備:
      • 唯一性(Uniqueness Property):可唯一識別Relation中所有的Tuple
      • 最小性(Minimality)或不可縮減性(Irreducibility):若候選鍵為某些屬性的集合,此屬性集合若去除任何一個屬性,即不符合唯一性。

2013-06-03_155049

    • 最小性(Minimality)或不可縮減性(Irreducibility)說明:
      • 下表可能需靠{姓名,生日,地址}或是{姓名,生日,監護人}做唯一識別,少任何一個欄位均有可能發生重覆識別之慮。
      • 上述兩個欄位組合皆為下表的候選鍵。

2013-06-03_155226

  • 主鍵(Primary Key)
    • 從多個候選鍵中選出,用來識別或代表表格中各個Tuple。
      • 如果有多個候選鍵時,我們可以選取最方便、長度較短或作業上較常用到的來當作主鍵。如:學號。
      • 主鍵不可為空值(Null Value)。
      • 一個Relation中只可有一個主鍵。
      • 被選為主鍵之屬性名稱下方,通常畫一條實底線表示。

2013-06-03_155513

  • 替代鍵(Alternate Key)
    • 各候選鍵中,除了主鍵之外的其他候選鍵。※替代鍵、候補鍵為同義

2013-06-03_155640

  • 外來鍵(Foreign Key)
    • 外來鍵是一個Relation中的屬性集合,而此集合在其它Relation中扮演主鍵(候選鍵) 的角色。
      • 在某一表格(表格A)中的一個或數個屬性,該屬性(或屬性集合)在另一表格(表格B)上擔任主鍵。
      • 被選為外來鍵之屬性名稱下方,通常畫一條虛底線表示。

2013-06-03_155840

    • 外來鍵特性:
      • 主要是維護表格之間資料的一致性(此一致性是由參考完整性限制所維持)
      • 外來鍵不具唯一性
      • 一個Relation中可有多個外來鍵。
      • 外來鍵的內含值可以為空值(Null Value)
      • 資料庫中不可含有任何不相配(Match)的外來鍵值

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *