基於unique與primary約束的區別分析

2021-08-04 19:17:11 字數 726 閱讀 7743

定義了unique約束的字段中不能包含重複值,可以為乙個或多個字段定義unique約束,因此,unique即可以在字段級也可以在表級定義,在unique約束的字段上可以包含空值. oracle自動會為具有primary key約束的字段(主碼字段)建立乙個唯一索引和乙個not null約束,定義primary key約束時可以為它的索引; uniqued 可空,可以在乙個表裡的乙個或多個字段定義;

primary key不可空不可重複,在乙個表裡可以定義聯合主鍵;簡單的說, primary key = unique + not null

從技術的角度來看,primary key和unique key有很多相似之處。但還是有以下異同:

相同:它們都屬於實體完整性約束.

不同點:

(1) 唯一性約束所在的列允許空值,但是主鍵約束所在的列不允許空值。

(2) 可以把唯一性約束放在乙個或者多個列上,這些列或列的組合必須有唯一的。但是,唯一性約束所在的列並不是表的主鍵列。

(3) 唯一性約束強制在指定的列上建立乙個唯一性索引。在預設情況下,建立唯一性的非聚簇索引,但是,也可以指定所建立的索引是聚簇索引。

(4)建立主鍵的目的是讓外來鍵來引用.

(5)乙個表最多只有乙個主鍵,但可以有很多唯一鍵

基於unique與primary約束的區別分析

定www.cppcns.com義了unique約束的字段中不能包含重複值,可以tyturxpdk為乙個或多個字段定義unique約束,因此,unique即可以在字段級也可以在表級定義,在unique約束的字段上可以包含空值.oracle自動會為具有primary key約束的字段 主碼字段 建立乙個...

列舉與unique函式

題目描述 現有n個正整數,n 100000,要求出這n個正整數中的第k個最小整數 相同大小的整數只計算一次 k 400。輸入第1行為n和k,第2行開始為n個正整數的值,整數間用空格隔開。輸出第k個最小整數的值 若無解,則輸出 no result 樣例輸入 10 3 1 3 3 7 2 5 1 2 4...

primary key與unique的區別

定義了unique約束的字段中不能包含重複值,可以為乙個或多個字段定義unique約束。因此,unique即可以在字段級也可以在表級定義,在uniqued約束的字段上可以包含空值。oracle自動會為具有primary key約束的字段 主碼字段 建立乙個唯一索引和乙個not null約束,定義pr...