在資料庫設計中,**鍵(Key)**扮演了區分資料、建立關聯的關鍵角色。正確使用鍵能確保資料的完整性與一致性。
✅ 唯一性(Uniqueness):
主鍵必須能夠唯一標識一筆紀錄,確保沒有兩筆資料有相同的主鍵值。
✅ 非空值(Not Null):
主鍵欄位不能為空(NULL),因為缺少值會導致資料無法被識別。
✅ 穩定性(Stability):
主鍵的值不應該經常改變,例如使用身分證號、學號等較穩定的欄位。
✅ 簡潔性(Minimality):
主鍵應包含最少欄位,不使用過多欄位組合而成,避免增加資料庫負擔。
✅非語意性(Non-meaningful)(視情況):
若主鍵為人工編號(如流水號),較不易因業務邏輯改變而受影響。
? 候選鍵(Candidate Key)
資料表中具備唯一性、可作為主鍵的欄位集合,可能有多個。
系統最終會從中選擇一個作為主鍵,其餘則稱為備選鍵。
? 替代鍵(Alternate Key)
在多個候選鍵中,未被選為主鍵的其他鍵即為替代鍵。
? 外鍵(Foreign Key)
指向其他資料表主鍵的欄位,用來建立表格間的關聯。
外鍵有助於資料一致性與參照完整性(Referential Integrity)。
? 複合鍵(Composite Key)
由兩個或以上欄位組成的主鍵,常見於無法單一欄位唯一辨識的情況。
? 超鍵(Super Key)
能唯一辨識紀錄的所有欄位集合,包括主鍵與加上其他欄位的組合。
鍵的設計是資料庫建構的重要基礎,良好的主鍵設計應兼顧唯一性與穩定性,並結合外鍵建立資料表之間的關聯。熟悉不同鍵的特性有助於維持資料正確與一致,也能強化資料檢索與管理的效率。
|
用簡單口語化方式說明「候選鍵」和「替代鍵」的差別: ✅ 候選鍵是什麼?候選鍵(Candidate Key)就像是一堆可以拿來當「身分證」的欄位,也就是說,它們都有能力唯一辨識資料。
這三個欄位每個人都不一樣,都可以用來當「身分識別」,那這三個就是候選鍵。 ✅ 替代鍵是什麼?替代鍵(Alternate Key)就是候選鍵裡沒有被選為主鍵的其他選項。 ? 簡單記:
|
|
簡單口語的方式說明「超鍵」和「複合鍵」,讓你一聽就懂、考試也能輕鬆說明: ✅ 超鍵(Super Key)是什麼?想像每筆資料(record)都像是一個人,圖書館要能「唯一辨識」這個人,超鍵就是可以辨識這個人的所有資料組合。 ? 口語版記法:
? 舉例:
那:
✅ 重點:所有能唯一辨識的欄位組合,都是超鍵。 ✅ 複合鍵(Composite Key)是什麼?
? 口語版記法:
? 舉例:
單看學號或課程代碼都不能辨識唯一一筆資料(因為一個人可能修多堂課,一堂課也有很多學生), ✅ 小結:
|
|
讀完GPT老師解答自己寫
ㅤㅤ
二、資料庫的鍵(key)是表格(table)中一個或一組欄位的集合,主要目的是區隔紀錄(record)的唯一性,或是作為表格關聯的依據。評估作為主鍵(Primary key)的評估原則為何?除了主鍵之外,還有那些鍵的類型? 其意義為何?(25 分)
ㅤㅤ
(一)主鍵原則 :資料庫的鍵(key)對於表格紀錄至關重要,其中更對於主鍵的評估原則有
ㅤㅤ
(1)唯一性 :一筆資料唯一一個主鍵,無法有兩個主鍵同時到同一筆資料
(2) 不能為空 :一筆資料中主鍵欄位不可以是空的
(3)簡潔性 :主鍵值符號盡量ˇ精簡
(4)穩定性 :無法輕易被改變的
(5)非語言性:通常主鍵使用流水號
(二)其他鍵 :用以輔佐主鍵使用的鍵別
(1)候選鍵:除了被選為主鍵以外一樣具備主鍵識別功能的鍵
(2)替代鍵:所有候選鍵中沒有被選擇的主鍵
(3)外鍵:外部資料的主鍵
(4)複合鍵 :兩個以上欄位組成的單位才能辨識
(5)超鍵:能由多個或是單一個鍵辨識
(三)結語:鍵的良善運用可以增加資料庫管理效率,亦可以快速找到精準的個別資料。一組良好的主鍵擁有唯一性以及穩定性非常重要,能夠協助人員正確找到其資料
ㅤㅤ
ㅤㅤ
ㅤㅤ
ㅤㅤ
ㅤㅤ
|