當前位置:首頁 » 編程語言 » sql主鍵作用

sql主鍵作用

發布時間: 2023-08-08 18:45:50

sql中主鍵的作用是什麼外鍵的作用是什麼

主鍵是唯一標示這一行的,就好像你的身份證號一樣,每個人只有一個,也是唯一能證明你是你的東西。外鍵是別人執行你的東西。也就是說如果一個人想和你有點關系怎麼辦,那就要關聯起來,怎麼關聯起來,就通過外鍵啊

⑵ 請問SQL server 中的主鍵和外鍵的作用

主鍵:唯一標識一條記錄,不能有重復的,不允許為空;外鍵:表的外鍵是另一表的主鍵,
外鍵可以有重復的,
可以是空值。
主鍵的作用是用來保證數據完整性,主鍵只能有一個。比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。
外鍵的作用是用來和其他表建立聯系用的,一個表可以有多個外鍵。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外鍵。

⑶ 主鍵和外鍵的作用

主鍵和外鍵的作用:

1、主鍵保證的是數據的唯一性,是能夠唯一的標識一組數據的數據元素;比如說:學號,姓名,年齡,橡仿性別,課程號課程中學號是唯一的,所以可以設它為主鍵;

2、外鍵保證的是數據的完整性。外鍵:一組數據的主鍵是另一組數據的的元素;主鍵約束了外鍵所在表中不能存在主鍵類之外的值;外鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持數據的一致性。比如,A表中的一個欄位,是B表的主鍵,就可以是A表的外鍵。

外鍵取值規則:空值或參照的主鍵值。

(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。

(2)更新時,不能改為主鍵表中沒有的值。

(3)刪除主鍵表記錄時,可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。

(4)更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。

SQL的主鍵和外鍵就是起約束作用。

(3)sql主鍵作用擴展閱讀:

建立主鍵應該遵循的原則

1、主鍵應當是對用戶沒有意義的。如果用戶看到了一個表示多對多關系的連接表中的數據,並抱怨它沒有什麼用處,那就證明它的主鍵設計地很好。

2、永遠也不要更新主鍵。實際上,因為主鍵除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了。

註:這項原則對於那些經絕答常需要在數據轉換或多資料庫合並時進行數據整理的數據並不適用。

3、主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。

4、主鍵應當由計算機自動生成。如果由人來對主鍵的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主鍵的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解資料庫設計的人的手中。

外鍵的使用原則

1、 為關聯欄位創建外並如慧鍵。

2、 所有的鍵都必須唯一。

3、避免使用復合鍵。

4、外鍵總是關聯唯一的鍵欄位。

⑷ sql server為什麼要設置主鍵

一、主鍵定義

資料庫主鍵是指表中一個列或者列的組合,其值能夠唯一的標識表中的每一個行。這樣的一列或者多列成為表的主鍵,通過它可以強製表的實體完整性。當創建或者更改表時可以通過定義PRIMARY KEY約束來創建主鍵,一個表只能有一個主鍵約束,而且主鍵約束中的列不能是空值,由於主鍵約束確保唯一數據,所一經常來定義標識列。


二、主鍵的作用

1、 主鍵是用於唯一標識資料庫表中一行數據的。

2、 作為一個可以被外鍵有效引用的對象。


三、主鍵的設計原則

1、 主鍵應當是對用戶沒有意義的,比如說用戶登陸一個系統的時候的登錄id;而這種情況就不可能了:「學生表」需要支持這樣的需求「學生注銷後,可以重新激活自己的信息,而且還要保持自己的號碼跟原來的一直」,這樣的話主鍵就不能滿足要求了。

2、 唯一性。

3、 非空性:主鍵的值是不可重復的,也不可以為空。

4、盡量不要更新主鍵。實際上,因為主鍵除了惟一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主鍵需要更新,則說明主鍵應對用戶無意義的原則被違反了。注意:這項原則對於那些經常需要在數據轉換或多資料庫合並時進行數據整理的數據並不適用。

5、主鍵不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。

6、主鍵應當有計算機自動生成。如果由人來對主鍵的創建進行干預,就會使它帶有除了惟一標識一行以外的意義。一旦越過這個界限,就可能產生認為修改主鍵的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解資料庫設計的人的手中。


四、創建主鍵

--在創建表時就可以對欄位加上約束:
createtableStudent
(
(1,1),--加主鍵約束,還有標識列屬性(兩者構成實體完整性)
StudentNamenvarchar(15)notnull,--加非空約束,不加"notnull"默認為:可以為空
StudentSchooltext(20)(SchoolName),--加外鍵約束,格式:FOREIGNKEYREFERENCES關聯的表名(欄位名)
StudentAgeintDEFAULT((0)),--加默認值約束
StudentSexnvarchar(2)CHECK(StudentSex=N'男'orStudentSex=N'女')--加檢查約束,格式:check(條件表達式)
)



五、測試添加刪除主鍵

--刪除主鍵
altertableStu_PkFk_SdropconstraintPK_S
go
--增加主鍵
altertableStu_PkFk_SaddconstraintPK_Sprimarykey(sno)
go

⑸ 資料庫中主鍵和外鍵是干嗎的

簡單來說就是把兩個表關聯起來。同樣的一個名字在兩個表中:如stu(name,sex)和表grade(name,cou),如果name是表stu中的主鍵,並且name也是表grade中的主鍵,那麼表stu中的name就是表grade的外鍵了!

⑹ SQL中的主鍵約束有什麼作用請舉例說明

表有唯一的主鍵約束。表的主鍵可以保護一個或多個列,主鍵約束可與NOT
NULL約束共同作用於每一數據列。NOT
NULL約束和唯一性約束的組合將保證主鍵唯一地標識每一行。像唯一性約束一樣,主鍵由B-tree索引增強。
創建主鍵約束使用CREATE
TABLE語句與表一起創建,如果表已經創建了,可以使用ALTER
TABLE語句。
CREATE
TABLE
policies
(policy_id
NUMBER
CONSTRAINT
pk_policies
PRIMARY
KEY,
holder_name
VARCHAR2(40),
gender
VARCHAR2(1),
marital_status
VARCHAR2(1),
date_of_birth
DATE
);
與唯一性約束一樣,如果主鍵約束保護多個數據列,那麼必須作為一個表約束創建。
CREATE
TABLE
insured_autos
(policy_id
NUMBER,
vin
VARCHAR2(40),
coverage_begin
DATE,
coverage_term
NUMBER,
CONSTRAINT
pk_insured_autos
PRIMARY
KEY
(policy_id,vin)
USING
INDEX
TABLESPACE
index
STORAGE
(INITIAL
1M
NEXT
10M
PCTINCREASE
0)
);
禁用或刪除主鍵必須與ALTER
TABLE
語句一起使用
ALTER
TABLE
policies
DROP
PRIMARY
KEY;

ALTER
TABLE
policies
DISABLE
PRIMARY
KEY;

⑺ sql中設置主鍵的作用

主鍵是唯一的,一個表通過一個主鍵可以確定一條記錄,

熱點內容
伺服器怎麼刪除資源 發布:2025-02-06 14:36:14 瀏覽:671
安卓如何設置桌面返回鍵 發布:2025-02-06 13:58:15 瀏覽:48
bi可視化php 發布:2025-02-06 13:50:15 瀏覽:931
shell寫腳本文件 發布:2025-02-06 13:47:32 瀏覽:231
健身器材腳本 發布:2025-02-06 13:46:36 瀏覽:856
怎麼從手機里卸載存儲卡 發布:2025-02-06 13:35:04 瀏覽:644
誅仙青雲志2ftp 發布:2025-02-06 13:34:48 瀏覽:34
mill91編程 發布:2025-02-06 13:10:27 瀏覽:294
華為平板怎麼儲存伺服器文件 發布:2025-02-06 12:49:21 瀏覽:482
php查詢結果數組 發布:2025-02-06 12:31:05 瀏覽:717