关联式资料模式的.pptVIP

  • 1
  • 0
  • 约8.98千字
  • 约 67页
  • 2019-12-23 发布于湖北
  • 举报
Frank S.C. Tseng 第四章 關聯式資料模式的 整合限制條件 本章內容 5.1 簡介 5.2 候選鍵 (Candidate Key) 5.3 替代鍵 (Alternate Key) 5.4 外來鍵 (Foreign Key) 5.5 外來鍵參考圖 (Referential Diagram) 5.6 關聯式模式的兩條整合限制規則 5.7 外來鍵使用規則 5.8 在關聯表上定義額外的整合限制條件 簡 介 整合限制條件 (Integrity Rule) 是用來規範資料在關聯表中的儲存、刪除或更改動作,以防止不一致或錯誤的情況發生 關聯式模式的兩條整合規則 個體整合限制規則 (Entity Integrity)─規範關聯表內部的限制條件 參考整合限制規則 (Referential Integrity)─規範關聯表與關聯表之間的限制條件 候選鍵 (Candidate key) 主鍵是一個唯一的識別值 (Unique Identifier) 符合唯一識別值的屬性子集可能有數個,通稱為「候選鍵」(Candidate Key) 主鍵由這些候選鍵中選出其一 沒有被選為主鍵的屬性子集稱為「替代鍵」(Alternate Key) 候選鍵應具備的條件 唯一性 (Unique Property)─沒有兩個值組的候選鍵有相同的值 (如:下表的 no, cname, ename ) 最小性 (Irreducibility Property,或 Minimality)─該屬性子集如果去除任一個屬性時,便不再符合唯一性 (如:(no, cname) 便不具此特性) 候選鍵 (續) 若候選鍵僅有一個,則它便是主鍵 任何關聯表一定會有一個以上的候選鍵 最極端的情況便是:所有屬性全部構成關聯表的候選鍵,如下圖 Work_in 主鍵為 (Eid, Did) 候選鍵 (續) 在集合裡要定位到每一筆值組就要靠候選鍵 所以學校會編學號、政府會編身份證字號、公司會編員工代號 實際應用不一定要有主鍵,但一定要有候選鍵 通常是另外編代號來當做主鍵 如何挑選最好的主鍵?(見下頁) 如何挑選主鍵? 選擇永不會變更其值的屬性。如:身份證字號,學號等。 確保不會是虛值的屬性。 不要用人工才能解讀的編號鍵值。例如,原料代號HK5838中的HK代表某一倉庫位置,但倉庫卻可能常常更換 儘量以單一的屬性來代表整筆值組。 外來鍵 (Foreign Keys) 觀察 BOB 資料庫中的關聯表 在 Orders 中,值組 (8, 7, 50) 不是一個合法值組。 Orders.no 要包含於 Bookstores.no 而且 Orders.id 要包含於 Books.id 正如下表所示 外來鍵參考的意義: no 與 id 為關聯表 Orders 中的外來鍵 外來鍵的定義 定義4.1:[外來鍵] 一個在 R2 中的外來鍵 FK 是由 R2 屬性集的子集合所構成,而且合乎下面兩點: 存在某個基底關聯表 R1 (注意:R1 與 R2 可以是同一個關聯表) 具有候選鍵 CK, 無論任何時候,任何在 R2 中的值組其 FK 屬性值都要與 R1 中的某個值組之 CK 屬性值完全相等。 外來鍵的注意事項 關聯表 R 的外來鍵也可以參考 R 本身的屬性 外來鍵不一定是關聯表中之主鍵的一部份 外來鍵不是所屬關聯表中之主鍵的一部份時,則該外來鍵的值也可以是一個虛值 (Null) 外來鍵不一定是主鍵的一部份 外來鍵參考圖 (Referential Diagram) Bookstores ← Orders → Books R3 → R2 → R1 外來鍵參考鏈 (Referential Chain) Rn → Rn-1 →...→ R1 外來鍵參考環 (Referential Cycle) Rn → Rn-1 → … → R1→ Rn (R1→R1 ) 關聯式模式的整合限制規則 個體整合限制 (Entity Integrity)─規範關聯表內部的限制條件 參考整合限制 (Referential Integrity)─規範關聯表與關聯表之間的限制條件 主鍵的注意事項 若主鍵是由複合屬性所構成的話,則全部都不能是虛值 個體整合限制條件原則上只適用於基底關聯表 參考整合限制 R2 中的外來鍵 FK,若參考到關聯表 R1 中的候選鍵 CK 時,則所有 R2 中的 FK 值一定要符合底下其中一項條件︰ 1. 全部屬性的值都是 (可適用的) 虛值,或 2. 等於 R1 中某值組的候選鍵值。 回顧前面的例子 Employees.dno 包含於 Departments.dno Departments.Manager 包含於 Employees.Eno 外來鍵使用規則 對關聯表新增/刪除/修

文档评论(0)

1亿VIP精品文档

相关文档