資料庫主鍵
主鍵:表中經常有一個列或多列的組合,其值能唯一地標識表中的每一行。這樣的一列或多列稱為表的主鍵,透過它可強制表的實體完整性。當建立或更改表時可透過定義 PRIMARY KEY 約束來建立主鍵。一個表只能有一個 PRIMARY KEY 約束,而且 PRIMARY KEY 約束中的列不能接受空值。由於 PRIMARY KEY 約束確保唯一資料,所以經常用來定義標識列。
作用:
1)保證實體的完整性;
2)加快資料庫的操作速度
3) 在表中新增新記錄時,ACCESS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重複。
4) ACCESS自動按主鍵值的順序顯示錶中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示錶中的記錄。
主鍵的無意義性
在開發過程中,讀者可能會看到將一些表使用有意義的欄位表示主鍵,例如“使用者登入資訊表”將“登入名”(英文名)作為主鍵,“訂單表”中將“訂單編號”作為主鍵,如此設計主鍵一般都是沒什麼問題,因為將這些主鍵基本不具有“意義更改”的可能性。但是,也有一些例外的情況,例如“訂單表”需要支援需求“訂單可以作廢,並重新生成訂單,而且訂單號要保持原訂單號一致”,那將“訂單編號”作為主鍵就滿足不了要求了。因此讀者在使用具有實際意義的欄位作為主鍵時,需要考慮是否存在這種可能性。
資料庫主鍵
主鍵:表中經常有一個列或多列的組合,其值能唯一地標識表中的每一行。這樣的一列或多列稱為表的主鍵,透過它可強制表的實體完整性。當建立或更改表時可透過定義 PRIMARY KEY 約束來建立主鍵。一個表只能有一個 PRIMARY KEY 約束,而且 PRIMARY KEY 約束中的列不能接受空值。由於 PRIMARY KEY 約束確保唯一資料,所以經常用來定義標識列。
作用:
1)保證實體的完整性;
2)加快資料庫的操作速度
3) 在表中新增新記錄時,ACCESS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重複。
4) ACCESS自動按主鍵值的順序顯示錶中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示錶中的記錄。
主鍵的無意義性
在開發過程中,讀者可能會看到將一些表使用有意義的欄位表示主鍵,例如“使用者登入資訊表”將“登入名”(英文名)作為主鍵,“訂單表”中將“訂單編號”作為主鍵,如此設計主鍵一般都是沒什麼問題,因為將這些主鍵基本不具有“意義更改”的可能性。但是,也有一些例外的情況,例如“訂單表”需要支援需求“訂單可以作廢,並重新生成訂單,而且訂單號要保持原訂單號一致”,那將“訂單編號”作為主鍵就滿足不了要求了。因此讀者在使用具有實際意義的欄位作為主鍵時,需要考慮是否存在這種可能性。