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

sql主鍵的作用

發布時間: 2022-09-11 00:17:19

『壹』 sql中設置主鍵的作用

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

『貳』 SQL中主鍵的使用

主鍵是數據完整性的保障之一,具體說是實體完整行,主鍵不允許為空也不能知重復。
假如你做了一個員工表格
有一列是身份證號
如果這個人沒有身份證號,那麼你就是雇黑工,如果有兩個人身份證號相同,那麼一個人是偽造的身份。哈道哈
所以正常情況下這兩種情況都不允許出現。這是你只要給身份號這一列設置了主鍵,那麼你插入或者修改數據時,資料庫管理系統就會自動要求他們不版能為空也不能有兩條記錄的號碼相同。
這就是主鍵的作用
你那個id
是個標識列,dbms會自動為他賦值,而且保證其唯權一性,所以你就不用給他賦值了

『叄』 sql中設置主鍵的作用

聯合主鍵就是用2個或2個以上的欄位組成主鍵。用這個主鍵包含的欄位作為主鍵,這個組合在數據表中是唯一,且加了主鍵索引。
可以這么理解,比如,你的訂單表裡有很多欄位,一般情況只要有個訂單號bill_no做主鍵就可以了,但是,現在要求可能會有補充訂單,使用相同的訂單號,那麼這時單獨使用訂單號就不可以了,因為會有重復。那麼你可以再使用個訂單序列號bill_seq來作為區別。把bill_no和bill_seq設成聯合主鍵。即使bill_no相同,bill_seq不同也是可以的。

『肆』 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 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

『陸』 請問SQL server 中的主鍵和外鍵的作用

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

『柒』 舉例說明SQL中的主鍵約束有什麼作用

其實很簡單,你就知道一下幾點就可以了,在以後的工作中就足夠了。
1,主鍵非空,也就是說被設定為主鍵的列在插入數據的時候就不能為空,如果為空SQL就會報錯。
2,主鍵是唯一的,一個表通過一個主鍵可以確定一條記錄,有一條記錄的主鍵是SF110如果你再向裡面插入SF110的記錄SQL就會報錯。
3,有時可以用兩個欄位來建立主鍵,這叫聯合主鍵。這種情況出現在當一個欄位無法唯一的時候要藉助另一個欄位來確保唯一性的時候。

答復:
主鍵一般都是挑選能夠唯一表示一條記錄的欄位來做,你比如說現在有一個「學生表」裡面有「學生編號」「學生姓名」「學生年齡」等
根據原則肯定要以「學生編號」為主鍵。
還有一個原則就是不經常被修改的欄位也可以做主鍵。「學生編號」在對表操作的時候肯定不會被修改所以也比較符合。
主鍵沒有什麼隨便不隨便設,一個表最好有一個主鍵,因為這是個好習慣而且如果你不設置主鍵在SQL的企業管理器中無法對他進行添加刪除等操作。不知道這些補充可不可以?

『捌』 SQL中主鍵的作用是什麼外鍵的作用是什麼

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

熱點內容
mc伺服器搭建搜不到 發布:2025-01-12 17:57:37 瀏覽:16
手機手勢密碼忘了怎麼辦 發布:2025-01-12 17:14:51 瀏覽:486
這手機配置有什麼顏色的電視機 發布:2025-01-12 17:02:19 瀏覽:933
閣源碼 發布:2025-01-12 16:48:08 瀏覽:131
組裝機箱搭建伺服器 發布:2025-01-12 16:46:58 瀏覽:512
風險資產配置理論有哪些 發布:2025-01-12 16:46:13 瀏覽:982
小程序分銷源碼 發布:2025-01-12 16:42:41 瀏覽:48
linux查看系統硬體 發布:2025-01-12 16:34:26 瀏覽:969
安卓手機怎麼設置獨享標志 發布:2025-01-12 16:27:56 瀏覽:933
我的世界如何把材質包放進伺服器 發布:2025-01-12 16:11:14 瀏覽:57