麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > 文庫 > 正文

主鍵與聚集索引之間的比較

2024-09-07 22:12:20
字體:
來源:轉載
供稿:網友

本文講解了主鍵與聚集索引之間的關系,并對其的聯系與區別進行了對比。

1、主鍵(PRIMARY KEY )

在MSDN中是這樣描述的:表通常具有包含唯一標識表中每一行的值的一列或一組列。這樣的一列或多列稱為表的主鍵 (PK),用于強制表的實體完整性。在創建或修改表時,您可以通過定義 PRIMARY KEY 約束來創建主鍵。

一個表只能有一個 PRIMARY KEY 約束,并且 PRIMARY KEY 約束中的列不能接受空值。由于 PRIMARY KEY 約束可保證數據的唯一性,因此經常對標識列定義這種約束。

如果為表指定了 PRIMARY KEY 約束,則 SQL Server 2005 數據庫引擎 將通過為主鍵列創建唯一索引來強制數據的唯一性。當在查詢中使用主鍵時,此索引還可用來對數據進行快速訪問。因此,所選的主鍵必須遵守創建唯一索引的規則。

創建主鍵時,數據庫引擎 會自動創建唯一的索引來強制實施 PRIMARY KEY 約束的唯一性要求。如果表中不存在聚集索引或未顯式指定非聚集索引,則將創建唯一的聚集索引以強制實施 PRIMARY KEY 約束。

2、聚集索引

聚集索引基于數據行的鍵值在表內排序和存儲這些數據行。每個表只能有一個聚集索引,因為數據行本身只能按一個順序存儲。

每個表幾乎都對列定義聚集索引來實現下列功能:

(1)可用于經常使用的查詢。

(2)提供高度唯一性。

3、主鍵與聚集索引兩者的比較

下面用一個表對其各個方面進行比較。

 

  主鍵 聚集索引
用途 強制表的實體完整性 對數據行的排序,方便查詢用
一個表多少個 一個表最多一個主鍵 一個表最多一個聚集索引
是否允許多個字段來定義 一個主鍵可以多個字段來定義 一個索引可以多個字段來定義
是否允許 null 數據行出現 如果要創建的數據列中數據存在null,無法建立主鍵。
創建表時指定的 PRIMARY KEY 約束列隱式轉換為 NOT NULL。
沒有限制建立聚集索引的列一定必須 not null .
也就是可以列的數據是 null
參看最后一項比較
是否要求數據必須唯一 要求數據必須唯一 數據即可以唯一,也可以不唯一。看你定義這個索引的 UNIQUE 設置。
(這一點需要看后面的一個比較,雖然你的數據列可能不唯一,但是系統會替你產生一個你看不到的唯一列)
創建的邏輯 數據庫在創建主鍵同時,會自動建立一個唯一索引。
如果這個表之前沒有聚集索引,同時建立主鍵時候沒有強制指定使用非聚集索引,則建立主鍵時候,同時建立一個唯一的聚集索引
如果未使用 UNIQUE 屬性創建聚集索引,數據庫引擎 將向表自動添加一個四字節 uniqueifier 列。
必要時,數據庫引擎 將向行自動添加一個 uniqueifier 值,使每個鍵唯一。此列和列值供內部使用,用戶不能查看或訪問。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av在线免费观看不卡 | 国产午夜精品一区二区三区视频 | 免费激情网站 | 亚洲视频在线观看免费 | 九色免费视频 | 日本网站一区二区三区 | 久草在线综合 | 91网站链接 | 亚洲精品免费播放 | 国产精品成人一区二区三区电影毛片 | 精品久久久av | 久久草在线视频免费 | 免费男女乱淫真视频 | 免费人成在线观看网站 | 久草在线播放视频 | 竹内纱里奈和大战黑人 | 日日操操 | 精品一区二区三区网站 | 麻豆传传媒久久久爱 | 久久久久久久99 | 国产一区二区欧美精品 | 美女黄页网站免费进入 | 全黄性性激高免费视频 | 色污视频 | 国产精品久久久久久一区二区三区 | 久久99精品久久久久久青青日本 | 午夜视频观看 | 免费观看高清视频网站 | 久久亚洲精品久久国产一区二区 | 免费看日产一区二区三区 | 日韩美香港a一级毛片免费 日韩激情 | 久久9久久 | 久久999久久 | 国产91精品久久久 | 9191色 | 亚洲国产高清视频 | 欧美日韩电影在线 | 三级xxxx| 国产精品久久久久久久娇妻 | 一级国产航空美女毛片内谢 | 一级大黄毛片免费观看 |