-
主關鍵字
鎖定
主關鍵字(primary key)是表中的一個或多個字段,它的值用於唯一的標識表中的某一條記錄。在兩個表的關係中,主關鍵字用來在一個表中引用來自於另一個表中的特定記錄。主關鍵字是一種唯一關鍵字,表定義的一部分。一個表的主鍵可以由多個關鍵字共同組成,並且主關鍵字的列不能包含空值。主關鍵字是可選的,並且可在 CREATE TABLE 或 ALTER TABLE 語句中定義。
- 中文名
- 主關鍵字
- 外文名
- primary key
- 介 紹
- 一個表只有一個主關鍵字
- 簡 稱
- 主鍵
- 作 用
- 保持實體的完整性
主關鍵字概念
主關鍵字(主鍵,primary key)是被挑選出來,作表的行的唯一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。 主鍵可以由一個字段,也可以由多個字段組成,分別稱為單字段主鍵或多字段主鍵。又稱主碼。並且它可以唯一確定表中的一行數據,或者可以唯一確定一個實體。
主關鍵字碼的定義
Ø 若候選碼多於一個,則選其中的一個為主碼(Primary Key);
Ø 包含在任一候選碼中的屬性,叫做主屬性(Primary Attribute);
Ø 關係模式中,最簡單的情況是單個屬性是碼,稱為單碼(Single Key);最極端的情況是整個屬性組是碼,稱為全碼(All-Key)。
主關鍵字全碼的例子
簽約(演員名,製片公司,電影名)
如:職工(職工號,姓名,性別,職稱,部門號)
部門(部門號,部門名,電話,負責人)
其中職工關係中的“部門號”就是職工關係的一個外碼。
主關鍵字作用
(1)保證實體的完整性;
(2)加快數據庫的操作速度;
(3)在表中添加新記錄時,ACCESS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重複;
(4) ACCESS自動按主鍵值的順序顯示錶中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示錶中的記錄。
主關鍵字遵循原則
建立主鍵應該遵循的原則
2. 永遠也不要更新主鍵。實際上,因為主鍵除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則説明主鍵應對用户無意義的原則被違反了。
3. 主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。
4. 主鍵應當由計算機自動生成。如果由人來對主鍵的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主鍵的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不瞭解數據庫設計的人的手中。
主關鍵字主要特點
(1) 一個表中只能有一個主鍵。如果在其他字段上建立主鍵,則原來的主鍵就會取消。在ACCESS中,雖然主鍵不是必需的,但最好為每個表都設置一個主鍵。
(2)主鍵的值不可重複,也不可為空(NULL)。
主關鍵字定義方法
在表的設計視圖中,選擇要定義為主鍵的一個或多個字段(如果是單字段,可以單擊該字段左側的選定器;如果是多個字段,可以先按住CTRL鍵,再次單擊這些字段的選定器),然後單擊工具欄上的"主鍵"按鈕,或者單擊右鍵,從快捷菜單中選擇“主鍵”命令。
定義主鍵後,在主鍵的左側會顯示一個鑰匙狀的圖標,表示該字段已被設為主鍵,如果沒有定義主鍵,則在保存表時,ACCESS會彈出一個消息對話框,詢問用户是否創建主鍵。如果選擇“否”,則不創建主鍵;選擇“是”,則ACCESS會自動創建一個自動編號類型的字段並添加到表的第一列,作為該表的主鍵。
若要取消主鍵,可以先選定該主鍵字段,再單擊工具欄上的“主鍵”按鈕。
軟道語錄
主鍵
主鍵是實體中用於區分,識別不同實體的屬性。
主關鍵字主鍵方式
在建置新表格時設定主鍵的方式
MySQL:
CREATE TABLE Customer
SID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID);
CREATE TABLE Customer
SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30);
SQL Server:
CREATE TABLE Customer
SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30);