步驟6:確定候選鍵( Candidate Key)、主鍵(Primary Key)
這一步的目標就是為每個實體標識候選鍵,然后從中選擇一個作為主鍵。
從候選鍵中選擇主鍵應遵循以下原則:
1)相對簡單的候選鍵。例如,若“A”及“(B,C)”都是候選鍵,則“A”比較簡單。
2)值很少變化的候選鍵。
3)在未來一直都具有唯一性的候選鍵。
4)關于鍵值,對文本來說選取字符最少,對數字來說選取最大值最小的候選鍵。
子表的行數一般比較多,字表的外鍵所占空間越少越好。
5)若同時存在字符、數字型候選鍵,則優先選擇數字型候選鍵作為主鍵。
6)從用戶的觀點選擇最易于使用的候選鍵。
當從候選鍵中確定了主鍵之后,其余的候選鍵則稱為替換鍵( Alternate Key)。
在上面的例子中,“機構”實體中只有“機構標識”是候選鍵,因此也就是該實體的主鍵;同理, “領導班子”的“員工編號”是該實體的主鍵。實體主鍵標識如圖4-8所示。
因為已經在步驟5定義了實體間的關系,所以在添加或選定實體的主鍵時,會自動依據實體間的關系產生有聯系的實體的外鍵。有時為了體現邏輯模型的可讀性,可將實體里的外鍵改名(改名后稱為外鍵的別名)。另外,可以自動維持外鍵別名與關聯的實體的主鍵之間的參照關系。