主鍵和唯一索引的一些總結

2021-06-05 09:18:22 字數 619 閱讀 9468

唯一索引

唯一索引不允許兩行具有相同的索引值。

如果現有資料中存在重複的鍵值,則大多數資料庫都不允許將新建立的唯一索引與表一起儲存。當新資料

將使表中的鍵值重複時,資料庫也拒絕接受此資料。例如,如果在 employee 表中的職員姓氏 (lname) 列上

建立了唯一索引,則所有職員不能同姓。

主鍵索引

主鍵索引是唯一索引的特殊型別

資料庫表通常有一列或列組合,其值用來唯一標識表中的每一行。該列稱為表的主鍵。

在資料庫關係圖中為表定義乙個主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特殊型別。主鍵索引要求主鍵中的每個值是唯一的。當在查詢中使用主鍵索引時,它還允許快速訪問資料。

它們的一些比較:

(1)對於主健/unique constraint oracle/sql server/mysql等都會自動建立唯一索引

(2)主鍵不一定只包含乙個字段,所以如果你在主鍵的其中乙個欄位建唯一索引還是必要的

(3)主健可作外健,唯一索引不可, 

(4)主健不可為空,唯一索引可以,

(5)主健也可是多個欄位的組合.

(6)主鍵不同的是 

a.有not null屬性 

b.每個表只能有乙個

主鍵和唯一索引

主鍵和唯一索引 主鍵 主關鍵字 primary key 是表中的乙個或多個字段,它的值用於唯一地標識表中的某一條記錄。唯一索引 一種索引,不允許具有索引值相同的行,從而禁止重複的索引或鍵值。系統在建立該索引時檢查是否有重複的鍵值,並在每次使用 insert 或 update 語句新增資料時進行檢查。...

主鍵索引和唯一索引的區別

區別 主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。主鍵建立後一定包含乙個唯一性索引,唯一性索引並不一定就是主鍵。唯一性索引列允許空值,而主鍵列不允許為空值。主鍵列在建立時,已經預設為空值 唯一索引了。主鍵可以被其他表引用為外來鍵,而唯一索引不能。乙個表最多只能建立乙個主鍵,但可以建立多...

主鍵和唯一索引的區別

區別 主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。主鍵建立後一定包含乙個唯一性索引,唯一性索引並不一定就是主鍵。唯一性索引列允許空值,而主鍵列不允許為空值。主鍵列在建立時,已經預設為空值 唯一索引了。主鍵可以被其他表引用為外來鍵,而唯一索引不能。乙個表最多只能建立乙個主鍵,但可以建立多...