主索引鍵是具有值的一個欄位或一組欄位,這些值在整個資料表中都是唯一值。 你可以用鍵值來參考整個紀錄,因為每個記錄的鍵值都不同。 每個資料表只能有一個主索引鍵。 Access 可以在建立資料表時自動建立主鍵欄位,或者你也可以指定想用作主鍵的欄位。 本文將說明如何使用主索引鍵及其使用原因。
要設定資料表的主鍵,請在設計檢視中開啟該資料表。 選擇你想使用的欄位 (或) 欄位,然後在功能區上選擇主鍵。
本文內容
Access中主鍵概述
Access 利用主鍵欄位快速關聯多個資料表的資料,並以有意義的方式將這些資料合併。 您可以在其他資料表中包含主索引鍵欄位,以便參照回主索引鍵的來源資料表。 在其他資料表中,這些欄位稱為外部索引鍵。 例如,[客戶] 資料表中的 [客戶識別碼] 欄位可能也會出現在 [訂單] 資料表。 在 [客戶] 資料表中,該欄位為主索引鍵。 在 [訂單] 資料表中,則稱為外部索引鍵。 簡單來說,外部索引鍵就是另一個資料表的主索引鍵。 如需詳細資訊,請參閱資料庫設計的基本概念。
1. 主索引鍵
2. 外部索引鍵
如果你要把現有資料移到資料庫,可能已經有一個欄位可以當作主鍵。 識別碼或序號或代碼等唯一識別碼,通常可做為資料表中的主索引鍵。 例如,您可能有一個 [客戶] 資料表,資料表中的每一個客戶都有一個唯一的客戶識別碼編號。 該客戶識別碼欄位即為主索引鍵。
Access 會自動建立主鍵索引,有助於加快查詢及其他操作。 Access 同時確保每筆記錄在主鍵欄位都有值,且始終是唯一的。
當你在 Datasheet 檢視中建立新資料表時, Access 會自動為你建立主鍵,並指派一個欄位名稱「ID」和 AutoNumber 資料型別。
什麼是理想的主索引鍵?
要做為主索引鍵,最好具備下列特徵:
-
它能唯一識別每一列。
-
它從來不是空的或空的——它總是包含一個值。
-
它所包含的數值很少理想地 (,也從未) 改變。
如果找不到合適的鑰匙,可以建立一個自動編號欄位作為鑰匙。 [自動編號] 類型的欄位會在每筆記錄第一次儲存時自動其身產生一個值。 因此,[自動編號] 類型的欄位符合理想主索引鍵的三個特性。 欲了解更多關於新增自動號碼欄位的資訊,請參閱新增自動號碼欄位作為主鍵。
[自動編號] 類型的欄位很適合當做主索引鍵。
不理想主索引鍵的範例
缺乏一或多項上述主索引鍵特性的任何欄位,都不是主索引鍵的理想選擇。 以下是一些欄位的範例,說明哪些欄位對「連絡人」資料表來說是不理想的主索引鍵,並說明不適當的理由。
|
不理想的主索引鍵 |
原因 |
|---|---|
|
個人姓名 |
可能並非絕對的唯一資訊,且可能變更 |
|
電話號碼 |
可能會變更。 |
|
電子郵件地址 |
可能會變更。 |
|
郵遞區號 |
可能有很多人都有同樣的郵遞區號 |
|
結合事實和數字 |
事實部分可能會變更,造成維護上的負擔。 如果事實部分在其他欄位重複,可能會導致混淆。 例如,如果城市也儲存為一個欄位,合併城市和遞增數字 (例如 NEWYORK0579) 就不是好選擇。 |
|
社會安全號碼 |
|
複合式索引鍵:使用多個欄位組合為主索引鍵
在有些情況下,您希望將資料表中兩個或多個欄位做為主索引鍵。 例如,儲存訂單明細項目的「訂單詳細資料」資料表可能在它的主索引鍵中使用兩個欄位:「訂單識別碼」與「產品識別碼」。 具有一個以上欄位的索引鍵就稱為「複合索引鍵」。
用你在 Access裡已經有的欄位來設定主鍵
為了能讓主索引鍵運作正常,此欄位必須能唯一識別每個資料列,同時不含空白或 Null 值,也極少變更 (最好是永不變更)。 若要設定主索引鍵:
-
開啟要修改的資料庫。
-
在導航面板中,右鍵點選你想設定主鍵的表格,然後在快捷鍵選單中選擇「設計檢視」。
提示: 如果沒看到 [瀏覽窗格],請按下 F11 以顯示該窗格。
-
選取要用來當做主索引鍵的一或多個欄位。
要選擇一個欄位,請選擇你想要欄位的列選擇器。
若要選擇多個欄位來建立複合鍵,按住 CTRL,然後選擇每個欄位的列選擇器。
-
在 表格設計 標籤中, 工具群組中 選擇主鍵。
您指定做為主索引鍵的欄位左側會新增索引鍵指示器。
在 Access中移除主鍵
移除主索引鍵後,原先做為主索引鍵的欄位將不再是識別記錄的主要方式。
移除主鍵不會刪除表格中的欄位,但會移除為主鍵建立的索引。
-
在移除主索引鍵之前,必須先確定該索引鍵不涉入任何資料表關聯。 如果你嘗試移除屬於一個或多個關聯的主鍵, Access 會警告你必須先刪除這些關聯。若要刪除資料表關聯,請完成下列步驟:
-
如果涉及資料表關聯的資料表為開啟狀態,請將其關閉。 若資料表為開啟狀態,您將無法刪除資料表之間的資料表關聯。
-
在資料庫工具標籤中,關係群組中選擇關係。
-
選擇 新增資料表。
-
選擇你想刪除的表格關係的表格關聯行,) (當選取該行時該行會變粗,然後按下 DELETE 鍵。
-
在關係 設計 標籤中, 關係群組中 ,點擊 關閉。
-
-
刪除關聯式後,在導航窗格中,右鍵點擊你想移除主鍵的資料表,然後選擇設計檢視。
提示: 如果沒看到 [瀏覽窗格],請按下 F11 以顯示該窗格。
-
選擇當前主鍵的列選擇器。
如果主鍵只包含一個欄位,請選擇該欄位的列選擇器。
如果主鍵包含多個欄位,請選擇主鍵中任一欄位的列選擇器。
-
在 表格設計 標籤中, 工具群組中 選擇主鍵。
索引鍵指示器即會從您先前指定為主索引鍵的一或多個欄位中移除。
附註: 當你儲存新資料表但未設定主鍵時, Access 會提示你建立一個。 如果你選擇 「是」, Access 會建立一個 ID 欄位,使用 AutoNumber 資料型別為每筆紀錄提供唯一值。 如果你的表格已經包含 AutoNumber 欄位, Access 會用那個欄位作為主鍵。
在 Access中更改主鍵
若要變更資料表的主索引鍵,您可以執行下列步驟:
其他資訊
如需資料庫設計及選擇適當主索引鍵的詳細資訊,請參閱下列文章: