新聞中心
我們?cè)谑褂?strong>SQL Server數(shù)據(jù)庫(kù)的時(shí)候常常會(huì)創(chuàng)建主鍵和索引,那么主鍵和索引到底有什么樣的不同呢?本文我們主要介紹了主鍵和索引的區(qū)別。

主鍵和索引的區(qū)別如下:
主鍵是索引,但索引不一定是主鍵。
主鍵具有唯一性,而只有唯一性索引才具有唯一性;主鍵的值不能為空,不能重復(fù)。 索引可以在程序中動(dòng)態(tài)創(chuàng)建刪除。也可以是任何有序的字段。
如果在一個(gè)表中,列A、B、C 被設(shè)為主鍵的情況下,當(dāng)需要將A,B,C 設(shè)為索引時(shí),A,B,C被設(shè)為主鍵,數(shù)據(jù)庫(kù)自動(dòng)會(huì)建立索引,不需要再建索引;另外需要對(duì)列A,B,C,D,E建立索引時(shí),不能只對(duì)D,E建立索引,必須在索引中包含所有的索引列即:A,B,C,D,E。
主鍵、外鍵、索引:
索引只是為了排序與加快瀏覽度!也可對(duì)表數(shù)據(jù)作證!一個(gè)表只能有一個(gè)主鍵,外鍵與主鍵差不多!兩者都能將表聯(lián)系起來(lái),定義規(guī)則!
主鍵,每一張表中必須有的,它是唯一的,唯一能標(biāo)識(shí)每一條記錄。
外鍵,一張表中的外鍵在另一張表中只能是主鍵,一般情況下,要?jiǎng)h除一張表中的主鍵必須首先要確保其它表中的沒(méi)有相同外鍵(即該表中的主鍵沒(méi)有一個(gè)外鍵和它相關(guān)聯(lián))
索引只是加快查詢,排序速度,主鍵和外鍵定義后可保證數(shù)據(jù)完整性,省去編寫某些觸發(fā)器。主鍵最好每張表上都定義,小數(shù)據(jù)庫(kù)用唯一索引也可以。
每個(gè)表最好有主鍵,用來(lái)保證數(shù)據(jù)完整性。表的外鍵是另一表的主鍵,外鍵將兩表聯(lián)系起來(lái)。 索引只是提高查詢排序的速度。
關(guān)于SQL Server數(shù)據(jù)庫(kù)主鍵和索引的區(qū)別就介紹到這里,希望能夠帶給您一些收獲。
【編輯推薦】
- SQL Server數(shù)據(jù)同步Merge的一個(gè)BUG及解決方法
- SQL Server CPU性能排查及優(yōu)化相關(guān)SQL語(yǔ)句使用簡(jiǎn)介
- 如何將SQL Server 2008的數(shù)據(jù)降級(jí)到SQL Server 2005
- CASE WHEN END條件和匯總函數(shù)SUM結(jié)合使用實(shí)現(xiàn)查詢
- 使用SQL Server 2008 R2的主數(shù)據(jù)服務(wù)調(diào)用API創(chuàng)建Model
文章名稱:關(guān)于SQLServer數(shù)據(jù)庫(kù)主鍵與索引的幾點(diǎn)區(qū)別
當(dāng)前地址:http://www.dlmjj.cn/article/djsdsos.html


咨詢
建站咨詢
